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

The 10-parameter Duflo-Zuker mass formula. More...

#include <nucmass_dz.h>

Inheritance diagram for o2scl::nucmass_dz_fit:
o2scl::nucmass_fit_base o2scl::nucmass o2scl::nucmass_info

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
- Public Types inherited from o2scl::nucmass_fit_base
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.
- Public Member Functions inherited from o2scl::nucmass
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)
- Public Member Functions inherited from o2scl::nucmass_info
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
- Public Attributes inherited from o2scl::nucmass_fit_base
size_t nfit
 Number of fitting parameters.
- Public Attributes inherited from o2scl::nucmass
double m_neut
 Neutron mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_neutron converted into MeV)
double m_prot
 Proton mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_proton converted into MeV)
double m_elec
 Electron mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_electron converted into MeV)
double m_amu
 Atomic mass unit in $ \mathrm{MeV} $ (defaults to o2scl_mks::unified_atomic_mass converted into MeV)

Protected Attributes

Workspace vectors used internally

These are allocated in the class constructor.

tensor3 onp
 Desc. More...
ubvector y
ubvector pp
ubvector oei
ubvector dei
ubvector qx
ubvector dx
ubvector op
ubvector os
ubvector dyda
ubvector_int n2
ubmatrix_int noc
- Protected Attributes inherited from o2scl::nucmass_info
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

- Protected Types inherited from o2scl::nucmass_info
typedef std::map< std::string, int, std::greater< std::string > >::iterator table_it
 A convenient typedef for an iterator for element_table.
- Static Protected Attributes inherited from o2scl::nucmass_info
static const int nelements =119
 The number of elements (proton number)

Detailed Description

This class is designed to provide essentially identical results to the original 10-parameter Duflo-Zuker code (see Duflo95) at

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.

Member Function Documentation

◆ binding_energy()

virtual double o2scl::nucmass_dz_fit::binding_energy ( int  Z,
int  N 

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.

Member Data Documentation

◆ onp

tensor3 o2scl::nucmass_dz_fit::onp

Note that the first index is already 0 indexed in the DZ version

Definition at line 145 of file nucmass_dz.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).