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

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

#include <nucmass_dz.h>

Inheritance diagram for o2scl::nucmass_dz_fit_33:
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 const char * type ()
 Return the type, "nucmass_dz_fit_33".
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)
 Return false if the mass formula does not include specified nucleus.
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 a
- 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.

ubvector dyda
ubvector fyda
ubvector fyd0
ubvector onps
ubvector oei
ubvector dei
ubvector op2
ubvector ym
ubvector op1
ubvector shell
ubvector sshell
tensor3 op
tensor3 onp
tensor3 ot
ubvector_int n4
ubvector_int nn
ubvector_int jup
ubvector_int jud
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 Duflo-Zuker code (see Duflo95) at

(Two parameters were added by Duflo and Zuker after the fact to the original 31-parameter code, and still referred to as dz31.f.)

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.

Document each field.

Some explanations about the individual terms come from MendozaTemis10 and the work by G. Bertsch at

For odd parameters up to a[29], the odd parameter is just the preceeding even term divided by the cube root of A.

Note that the original code states that, "for i even a(i,program) =a(i-1,paper)*a(i,paper)".

Definition at line 281 of file nucmass_dz.h.

Member Function Documentation

◆ binding_energy()

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

This function reproduces the original function called EMASSDZ(), 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.

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).