Public Member Functions | Public Attributes | List of all members
o2scl::nucmass_ldrop_skin Class Reference

More advanced liquid drop model. More...

#include <nucmass_ldrop.h>

Inheritance diagram for o2scl::nucmass_ldrop_skin:
o2scl::nucmass_ldrop o2scl::nucmass_fit_base o2scl::nucmass o2scl::nucmass_info o2scl::nucmass_ldrop_pair o2scl::nucmass_ldrop_shell

Public Member Functions

virtual const char * type ()
 Return the type, "nucmass_ldrop_skin".
 
virtual int fit_fun (size_t nv, const ubvector &x)
 Fix parameters from an array for fitting.
 
virtual int guess_fun (size_t nv, ubvector &x)
 Fill array with guess from present values for fitting.
 
virtual double drip_binding_energy_d (double Z, double N, double npout, double nnout, double chi, double T)
 Return the free binding energy of a nucleus in a many-body environment.
 
- Public Member Functions inherited from o2scl::nucmass_ldrop
virtual double mass_excess_d (double Z, double N)
 Given Z and N, return the mass excess in MeV. More...
 
virtual double mass_excess (int Z, int N)
 Given Z and N, return the mass excess in MeV.
 
int set_eos_had_temp_base (eos_had_temp_base &uhe)
 Change the base hadronic EOS.
 
void set_n_and_p (fermion &un, fermion &up)
 Change neutron and proton objects.
 
- Public Member Functions inherited from o2scl::nucmass
virtual bool is_included (int Z, int N)
 
virtual int get_nucleus (int Z, int N, nucleus &n)
 
virtual double electron_binding (double Z)
 
virtual double binding_energy (int Z, int N)
 
virtual double binding_energy_d (double Z, double N)
 
virtual double total_mass (int Z, int N)
 
virtual double total_mass_d (double Z, double N)
 
virtual double atomic_mass (int Z, int N)
 
virtual double atomic_mass_d (double Z, double N)
 
- Public Member Functions inherited from o2scl::nucmass_info
int parse_elstring (std::string ela, int &Z, int &N, int &A)
 
int eltoZ (std::string el)
 
std::string Ztoel (size_t Z)
 
std::string tostring (size_t Z, size_t N)
 

Public Attributes

bool full_surface
 If true, properly fix the surface for the pure neutron matter limit (default true)
 
bool new_skin_mode
 If true, separately compute the skin for the bulk energy (default false)
 
double doi
 Ratio of $ \delta/I $ (default 0.8).
 
double ss
 Surface symmetry energy (default 0.5)
 
bool rel_vacuum
 If true, define the nuclear mass relative to the vacuum (default true)
 
double Tchalf
 The critical temperature of isospin-symmetric matter in $ fm^{-1} $ (default $ 20.085/(\hbar c)$.)
 
Input parameters for temperature dependence
double pp
 Exponent (default 1.25)
 
double a0
 Coefficient (default 0.935)
 
double a2
 Coefficient (default -5.1)
 
double a4
 Coefficient (default -1.1)
 
- Public Attributes inherited from o2scl::nucmass_ldrop
thermo th
 Energy and pressure.
 
double n1
 Density asymmetry (default 0)
 
double n0
 Saturation density ( The default is $ 0.16 \mathrm{fm}^{-3} $)
 
double surften
 Surface tension in MeV (default 1.1 MeV)
 
double coul_coeff
 Coulomb coefficient (default 1.0)
 
double nn
 Internal average neutron density.
 
double np
 Internal average proton density.
 
double Rn
 Neutron radius.
 
double Rp
 Proton radius.
 
double bulk
 Bulk part of energy.
 
double surf
 Surface part of energy.
 
double coul
 Coulomb part of energy.
 
eos_had_rmf def_had_eos
 The default hadronic EOS.
 
fermion def_neutron
 Default neutron.
 
fermion def_proton
 Default proton.
 
- Public Attributes inherited from o2scl::nucmass_fit_base
size_t nfit
 
- Public Attributes inherited from o2scl::nucmass
double m_neut
 
double m_prot
 
double m_elec
 
double m_amu
 

Additional Inherited Members

- Protected Types inherited from o2scl::nucmass_info
typedef std::map< std::string, int, std::greater< std::string > >::iterator table_it
 
- Protected Attributes inherited from o2scl::nucmass_ldrop
fermionn
 Pointer to neutron.
 
fermionp
 Pointer to proton.
 
eos_had_temp_baseheos
 The base EOS for bulk matter.
 
- Protected Attributes inherited from o2scl::nucmass_info
std::map< std::string, int, std::greater< std::string > > element_table
 
std::string element_list [nelements]
 
- Static Protected Attributes inherited from o2scl::nucmass_info
static const int nelements
 

Detailed Description

In addition to the physics in nucmass_ldrop, this includes corrections for

Note
The input parameter T should be given in units of inverse Fermis – this is a bit unusual since the binding energy is returned in MeV, but we keep it for now.

Bulk energy

The central densities and radii, $ n_n, n_p, R_n, R_p $ are all determined in the same way as nucmass_ldrop, except that now $ \delta \equiv I \zeta $, where $ \zeta $ is stored in doi . Note that this means $ N > Z~\mathrm{iff}~R_n>R_p $.

If new_skin_mode is false, then the bulk energy is also computed as in nucmass_ldrop. Otherwise, the number of nucleons in the core is computed with

\begin{eqnarray*} A_{\mathrm{core}} = Z (n_n+n_p)/n_p~\mathrm{for}~N\geq Z \\ A_{\mathrm{core}} = N (n_n+n_p)/n_p~\mathrm{for}~Z>N \\ \end{eqnarray*}

and $ A_{\mathrm{skin}} = A - A_{\mathrm{core}} $. The core contribution to the bulk energy is

\[ E_{\mathrm{core}}/A = \left(\frac{A_{\mathrm{core}}}{A}\right) \frac{\hbar c}{n_{L} } \left[\varepsilon(n_n,n_p) - n_n m_n - n_p m_p \right] \]

then the skin contribution is

\[ E_{\mathrm{skin}}/A = \left(\frac{A_{\mathrm{skin}}}{A}\right) \frac{\hbar c}{n_{L} } \left[\varepsilon(n_n,0) - n_n m_n \right]~\mathrm{for}~N>Z \]

and

\[ E_{\mathrm{skin}}/A = \left(\frac{A_{\mathrm{skin}}}{A}\right) \frac{\hbar c}{n_{L} } \left[\varepsilon(0,n_p) - n_p m_p \right]~\mathrm{for}~Z>N \]

Surface energy

If full_surface is false, then the surface energy is just that from nucmass_ldrop , with an extra factor for the surface symmetry energy

\[ E_{\mathrm{surf}} = \frac{\sigma}{n_L} \left(\frac{36 \pi n_L}{A} \right)^{1/3} \left( 1- \sigma_{\delta} \delta^2 \right) \]

where $ \sigma_{\delta} $ is unitless and stored in ss.

If full_surface is true, then the surface energy is modified by a cubic dependence for the medium and contains finite temperature corrections.

Coulomb energy

The Coulomb energy density (Ravenhall83) is

\[ \varepsilon = 2 \pi e^2 R_p^2 n_p^2 f_d(\chi_p) \]

where the function $ f_d(\chi) $ is

\[ f_d(\chi_p) = \frac{1}{(d+2)} \left[ \frac{2}{(d-2)} \left( 1 - \frac{d}{2} \chi_p^{(1-2/d)} \right) + \chi_p \right] \]

This class takes $ d=3 $ .

Todos and Future

Todo:
This is based on LPRL, but it's a little different in Lattimer and Swesty. I should document what the difference is.
Todo:
The testing could be updated.
Idea for Future:
Add translational energy?
Idea for Future:
Remove excluded volume correction and compute nuclear mass relative to the gas rather than relative to the vacuum.
Idea for Future:
In principle, Tc should be self-consistently determined from the EOS.
Idea for Future:
Does this work if the nucleus is "inside-out"?


References

Designed in Steiner08 and Souza09 based in part on Lattimer85 and Lattimer91 .


Definition at line 428 of file nucmass_ldrop.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).