Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parity dependent underlying nld (eg from HFB) #15

Open
fzeiser opened this issue Nov 14, 2018 · 1 comment
Open

Parity dependent underlying nld (eg from HFB) #15

fzeiser opened this issue Nov 14, 2018 · 1 comment
Labels
feature request New feature or request

Comments

@fzeiser
Copy link
Owner

fzeiser commented Nov 14, 2018

It would be good to be able to read a parity dependent underlying nld from a file. This could eg come from HFB calculations (...)

The current options are specified in the setting file -- only a fiex functional form for the dependence is implemented:

///// Pairity Dependence (Underlying LD) /////
// choose one:
#define bPar_Equipar // equal +/- states, usually a good approx
//#define bPar_Edep // exponential asymptotic dependence
#ifdef bPar_Edep // 0.5 (1 +/- 1 / (1 + exp( g_dParC * (dEx - g_dParD) ) ) )
const double g_dParC = 3.0; // MeV^-1
const double g_dParD = 0.0; // MeV
#endif //the interested coder can put a parity dependece on the bLD_Table option

Instead, if would be helpful to be able to read a table, just as it was implemented for the population cross-section, see #5.

@fzeiser fzeiser added the feature request New feature or request label Nov 14, 2018
@fzeiser
Copy link
Owner Author

fzeiser commented Nov 14, 2018

Current status
You can import a table with the total nld adRho, the level density parameter(s) adLDa, and the spin cut-off adJCut, each of them excitation energy dependent. From this the J,π dependent nld is calculated. I havn't tried, but you should in addition be able to specify the bPar_Edep parameters above.

More precisely, I don't think that the level density parameter is important to create nld(Ex,J,π), however it is used to evaluate the nuclear temperature T, if one specifies a non-Brink Axel type gamma-ray strength function.

RAINIER/RAINIER.C

Lines 650 to 657 in 5b91624

double GetTemp(double dEx) {
double dEff = GetEff(dEx);
double dLDa = GetLDa(dEx);
#ifdef b_GenLor_CT
return g_GenLor_CT;
#endif
return sqrt(dEff / dLDa);
} // GetTemp

I think this is strictly speaking valid only for the Fermi gas model, see eq(42) in the RIPL paper of 2009.

Ideas for implementation
I think it is most straight forward to implement another option for the GetDensity(double dEx, double dSp, int nPar) function. In this option you need to

  • read a tabulated nld(Ex,J,π). I think we could modify the tables with the correction parameters already, before feeding them to RAINIER. Then this doesn't need to be implemented there.
  • ability to specify whether you read nld(Ex,J,π) or nld(Ex,J) and assume equiparity.
  • implement an interpolation (or and other rule) between the listed excitation energies, so that GetDensity is specified for any excitation energy Ex.
  • We can worry about how to calculate temperature for a temperature dependent gsf at a later stage (unless you really want to do this here)

For reading the tabulated nld you should be able to recycle or generalize the ReadPopFile() function with rather little effort.

What you be a sensible type of interpolation? -> Maybe look into how talys interpolates? Or something as fancy as this?
https://wiki.uio.no/mn/fys/epf/index.php/Linear_interpolation_of_histograms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant