The 10-parameter Duflo-Zuker mass formula. More...
#include <nucmass_dz.h>
Public Types | |
typedef boost::numeric::ublas::vector< double > | ubvector |
typedef boost::numeric::ublas::vector< int > | ubvector_int |
typedef boost::numeric::ublas::matrix< double > | ubmatrix |
typedef boost::numeric::ublas::matrix< int > | ubmatrix_int |
![]() | |
typedef boost::numeric::ublas::vector< double > | ubvector |
Public Member Functions | |
virtual bool | is_included (int Z, int N) |
Return false if the mass formula does not include specified nucleus. | |
virtual const char * | type () |
Return the type, "nucmass_dz_fit" . | |
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 | 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. | |
virtual double | mass_excess (int Z, int N) |
Given Z and N , return the mass excess in MeV. | |
virtual double | mass_excess_d (double Z, double N) |
Given Z and N , return the mass excess in MeV. | |
![]() | |
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 | 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 | tostring (size_t Z, size_t N) |
Return a string of the form "Pb208" for a given Z and N. More... | |
Public Attributes | |
ubvector | b |
Coefficients. | |
![]() | |
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 | |
Workspace vectors used internally | |
These are allocated in the class constructor. | |
tensor3 | onp |
Desc. More... | |
ubvector | y |
Desc. | |
ubvector | pp |
Desc. | |
ubvector | oei |
Desc. | |
ubvector | dei |
Desc. | |
ubvector | qx |
Desc. | |
ubvector | dx |
Desc. | |
ubvector | op |
Desc. | |
ubvector | os |
Desc. | |
ubvector | dyda |
Desc. | |
ubvector_int | n2 |
Desc. | |
ubmatrix_int | noc |
Desc. | |
![]() | |
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 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) | |
This class is designed to provide essentially identical results to the original 10-parameter Duflo-Zuker code (see Duflo95) at
http://amdc.in2p3.fr/theory/du_zu_10.feb96fort
The default values of nucmass::m_neut and nucmass::m_prot are adjusted to make sure that the mass excesses match the values given in the original.
This appears to be limited for large nuclei because 'i' becomes larger than imax and then statements like noc[i][j]=moc-ju and noc[i+1][j]=ju become invalid. This needs to be more carefully understood and documented. For now, is_included() just arbitrarily chooses 240 as a maximum for N and Z.
Document each field.
Definition at line 123 of file nucmass_dz.h.
|
virtual |
This function reproduces the original function called mass10()
, except that, to be consistent with the other O2scl nuclear mass classes, it returns the binding energy with the opposite sign from the original.
Reimplemented from o2scl::nucmass.
|
protected |
Note that the first index is already 0 indexed in the DZ version
Definition at line 145 of file nucmass_dz.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).