FRDM semi-empirical mass formula (macroscopic part only with no deformation) More...
#include <nucmass_frdm.h>
The spherically-symmetric, macroscopic part of the finite-range droplet model from Moller95 .
Using the relations
and
we get
and
Assuming that
and
we get
where 's are
Note that the above relations are somehow self-consistent because they imply
Since we're using (is there a better way?)
with fm, then
.
Fix pairing energy and double vs. int
Document drip_binding_energy(), etc.
Decide on number of fit parameters (10 or 12?) or let the user decide
Document the protected variables
Set the neutron and proton masses and hbarc to Moller et al.'s values
Definition at line 108 of file nucmass_frdm.h.
Public Member Functions | |
virtual double | mass_excess_d (double Z, double N) |
Given Z and N , return the mass excess in MeV. | |
virtual double | mass_excess (int Z, int N) |
Given Z and N , return the mass excess in MeV. | |
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) |
Return the binding energy in MeV. | |
virtual double | drip_mass_excess_d (double Z, double N, double np_out, double nn_out, double chi) |
Given Z and N , return the mass excess in MeV in a many-body environment. More... | |
![]() | |
virtual const char * | type () |
Return the type, "nucmass_fit_base" . | |
![]() | |
virtual bool | is_included (int Z, int N) |
Return false if the mass formula does not include specified nucleus. | |
virtual int | get_nucleus (int Z, int N, nucleus &n) |
Fill n with the information from nucleus with the given neutron and proton number. More... | |
virtual double | electron_binding (double Z) |
Return the approximate electron binding energy in MeV. | |
virtual double | binding_energy (int Z, int N) |
Return the binding energy in MeV. More... | |
virtual double | binding_energy_d (double Z, double N) |
Return the binding energy in MeV. More... | |
virtual double | total_mass (int Z, int N) |
Return the total mass of the nucleus (without the electrons) in MeV. | |
virtual double | total_mass_d (double Z, double N) |
Return the total mass of the nucleus (without the electrons) in MeV. | |
virtual double | atomic_mass (int Z, int N) |
Return the atomic mass of the nucleus in MeV (includes electrons and their binding energy) | |
virtual double | atomic_mass_d (double Z, double N) |
Return the atomic mass of the nucleus in MeV (includes electrons and their binding energy) | |
![]() | |
int | parse_elstring (std::string ela, int &Z, int &N, int &A) |
Parse a string representing an element. More... | |
int | eltoZ (std::string el) |
Return Z given the element name abbreviation. More... | |
std::string | Ztoel (size_t Z) |
Return the element name abbreviation given Z. More... | |
std::string | Ztoname (size_t Z) |
Return the element name given Z. | |
std::string | tostring (size_t Z, size_t N) |
Return a string of the form "Pb208" for a given Z and N. More... | |
Public Attributes | |
double | a1 |
Volume-energy constant in MeV (default 16.247) | |
double | J |
Symmetry-energy constant in MeV (default 32.73) | |
double | K |
Nuclear compressibility constant in MeV (default 240) | |
double | a2 |
Surface-energy constant in MeV (default 22.92) | |
double | Q |
Effective surface-stiffness constant in MeV (default 29.21) | |
double | a3 |
Curvature-energy constant in MeV (default 0) | |
double | ca |
Charge-asymmetry constant in MeV (default 0.436) | |
double | W |
Wigner constant in MeV (default 30) | |
double | ael |
electronic-binding constant in MeV (default ![]() | |
double | rp |
Proton root-mean-square radius in fm (default 0.80) | |
double | r0 |
Nuclear-radius constant in fm (default 1.16) | |
double | MH |
Hydrogen atom mass excess, 7.289034 MeV. | |
double | Mn |
Neutron mass excess, 8.071431 MeV. | |
double | e2 |
Electronic charge squared, 1.4399764 MeV fm. | |
double | a |
Range of Yukawa-plus-exponential potential, 0.68 fm. | |
double | aden |
Range of Yukawa function used to generate nuclear charge distribution, 0.70 fm. | |
double | rmac |
Average pairing-gap constant, 4.80 MeV. | |
double | h |
Neutron-proton interaction constant, 6.6 MeV. | |
double | L |
Density-symmetry constant, 0 MeV. | |
double | C |
Pre-exponential compressibility-term constant, 60 MeV. | |
double | gamma |
Exponential compressibility-term range constant, 0.831. | |
double | amu |
Atomic mass unit, 931.5014 MeV. | |
double | nn |
Internal average neutron density. | |
double | np |
Internal average proton density. | |
double | Rn |
Neutron radius. | |
double | Rp |
Proton radius. | |
![]() | |
size_t | nfit |
Number of fitting parameters. | |
![]() | |
double | m_neut |
Neutron mass in ![]() | |
double | m_prot |
Proton mass in ![]() | |
double | m_elec |
Electron mass in ![]() | |
double | m_amu |
Atomic mass unit in ![]() | |
Protected Attributes | |
double | kg_to_invfm |
Conversion from kg to inverse fm. | |
double | Deltap |
Proton pairing coefficient. | |
double | Deltan |
Neutron pairing coefficient. | |
double | deltanp |
Isubvector pairing coefficient. | |
double | deltabar |
Average bulk nuclear asymmetry. | |
double | epsbar |
Average relative deviation of bulk density. | |
double | Bs |
Desc. | |
double | Bk |
Desc. | |
double | Br |
Desc. | |
double | Bw |
Desc. | |
double | Bv |
Desc. | |
double | c1 |
Coulomb energy coefficient. | |
double | c2 |
Volume redistribution energy coefficient. | |
double | c4 |
Coulomb exchange correction coefficient. | |
double | c5 |
Surface redistribution energy coefficient. | |
double | f0 |
Coefficient for the proton form-factor correction to the Coulomb energy. | |
double | a0 |
Desc. | |
double | B1 |
Desc. | |
double | B2 |
Desc. | |
double | B3 |
Desc. | |
double | B4 |
Desc. | |
![]() | |
std::vector< std::string > | name_list |
Element names. | |
std::map< std::string, int, std::greater< std::string > > | element_table |
A map containing the proton numbers organized by element abbreviation. | |
std::string | element_list [nelements] |
The list of elements organized by proton number. | |
Additional Inherited Members | |
![]() | |
typedef boost::numeric::ublas::vector< double > | ubvector |
![]() | |
typedef std::map< std::string, int, std::greater< std::string > >::iterator | table_it |
A convenient typedef for an iterator for element_table. | |
![]() | |
static const int | nelements =119 |
The number of elements (proton number) | |
|
virtual |
This is an experimental version of mass_excess_d which removes pairing, computes nn, np, Rn, and Rp, and attempts to correct the surface. This function probably doesn't work at the moment. It's not currently used by drip_binding_energy_d().
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).