Simple liquid drop mass formula. More...
#include <nucmass_ldrop.h>
Public Member Functions | |
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. | |
virtual double | drip_binding_energy_d (double Z, double N, double npout, double nnout, double chi, double T) |
Given Z and N , return the binding energy in MeV. More... | |
virtual const char * | type () |
Return the type, "nucmass_ldrop" . | |
Fitting functions | |
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 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) |
![]() | |
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 | |
thermo | th |
Energy and pressure. | |
Input parameters | |
double | n1 |
Density asymmetry (default 0) | |
double | n0 |
Saturation density ( The default is ![]() | |
double | surften |
Surface tension in MeV (default 1.1 MeV) | |
double | coul_coeff |
Coulomb coefficient (default 1.0) | |
Output quantities | |
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. | |
![]() | |
size_t | nfit |
![]() | |
double | m_neut |
double | m_prot |
double | m_elec |
double | m_amu |
Protected Attributes | |
fermion * | n |
Pointer to neutron. | |
fermion * | p |
Pointer to proton. | |
eos_had_temp_base * | heos |
The base EOS for bulk matter. | |
![]() | |
std::map< std::string, int, std::greater< std::string > > | element_table |
std::string | element_list [nelements] |
EOS and particle parameters | |
eos_had_rmf | def_had_eos |
The default hadronic EOS. | |
fermion | def_neutron |
Default neutron. | |
fermion | def_proton |
Default proton. | |
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. | |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, int, std::greater< std::string > >::iterator | table_it |
![]() | |
static const int | nelements |
Includes bulk part plus surface and Coulomb (no pairing) without neutron skin and without any isospin contribution to the surface energy.
The NL4 EOS is loaded by default.
Central densities
Given a saturation density, and a transition density,
, we set
, and then assume
. We further assume that the isospin-asymmetric saturation density
is
and then we can compute and
.
Note that implies no neutron skin. A neutron skin occurs when
, and
implies a "maximum skin size" which is occurs when no extra neutrons are in center and all extra neutrons are located in the skin, i.e.
.
Nuclear radii
The neutron and proton radii are determined from the central densities with
Bulk energy contribution
The bulk binding energy contribution ( MeV per nucleon) and the symmetry energy are computing using the hadronic EOS (either def_had_eos or the EOS specified in the most recent call to set_eos_had_temp_base() ). The bulk energy per baryon is
Surface energy contribution
The surface energy density is (Ravenhall83)
where is the surface tension. The factor
is typically taken care of by the caller, so we ignore it for now. To compute the surface energy per baryon, we divide by the baryon density,
. We can rewrite this
or
where the surface tension (in MeV) is given in surften.
Taking a typical value, and
, gives the standard result,
.
Coulomb energy contribution
The Coulomb energy density (Ravenhall83) is
The energy per baryon is
This is the expression used in the code, except for a prefactor coul_coeff which is a fit parameter and should be close to unity.
Assuming and
and
gives
and taking and
gives the standard result
References
Designed for Steiner08 based on Lattimer85 and Lattimer91 .
Definition at line 165 of file nucmass_ldrop.h.
|
virtual |
This function is currently independent of npout
, nnout
, and chi
.
Reimplemented in o2scl::nucmass_ldrop_pair, o2scl::nucmass_ldrop_skin, and o2scl::nucmass_ldrop_shell.
|
virtual |
Implements o2scl::nucmass.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).