Particles and Nuclei Sub-Library: Version 0.910
Public Member Functions | Data Fields
nuclear_mass Class Reference

Nuclear mass formula base [abstract base]. More...

#include <nuclear_mass.h>

Inheritance diagram for nuclear_mass:
nuclear_mass_info nuclear_mass_cont nuclear_mass_disc nuclear_mass_fit ame_mass dz_mass hfb_mass hfb_sp_mass ktuy_mass mnmsk_mass frdm_mass semi_empirical_mass ame_mass_exp mnmsk_mass_exp

Detailed Description

This base class provides some default functionality for the nuclear mass formulas. For typical usage, use ame_mass, mnmsk_mass, mnmsk_mass_exp, or semi_empirical_mass.

Elements 113, 115, 117 and 118 are named "Uut", "Uup", "Uus", and "Uuo", respectively.

Binding energies are determined from mass excesses by

\[ \mathrm{binding~energy} = A u - Z \left(m_p + m_e\right) - N m_n + \mathrm{mass~excess} \]

where $ u $, $ m_n $, $ m_p $ and $ m_e $ are all in o2scl_fm . "Total masses" are the mass of the nuclide (without the electron mass contribution)

\[ \mathrm{total~mass} = \mathrm{mass~excess} + A u - Z m_e \]

Note that O2scl generally ignores contributions from electron binding energies.

Some mass formulas are undefined for sufficiently exotic nuclei. You can use the function is_included() to find if a particular nucleus is included or not in a particular mass formula.

Generally, descendants of this class only need to provide an implementation of mass_excess() and mass_excess_d() and possibly a new version of is_included().

Some common reaction Q-values and separation energies:
$\mathrm{Q}(\beta^{-})=\mathrm{M(A,Z)}-\mathrm{M(A,Z+1)}$: Beta-decay energy
$\mathrm{Q}(2\beta^{-})=\mathrm{M(A,Z)}-\mathrm{M(A,Z+2)}$: Double beta-decay energy
$\mathrm{Q}(4\beta^{-})=\mathrm{M(A,Z)}-\mathrm{M(A,Z+4)}$: Four beta-decay energy
$\mathrm{Q}(\alpha)=\mathrm{M(A,Z)}-\mathrm{M(A-4,Z-2)}- \mathrm{M(He^{4})}$: Alpha-decay energy
$\mathrm{Q}(\beta-n)=\mathrm{M(A,Z)}-\mathrm{M(A-1,Z+1)} -\mathrm{M(n)}$: Beta-delayed neutron emission decay energy
$\mathrm{Q}(d,\alpha)=\mathrm{M(A,Z)}-\mathrm{M(A-2,Z-1)} -\mathrm{M(He^{4})}-\mathrm{M(H^{2})}$: $(d,\alpha)$ reaction energy
$\mathrm{Q}(\mathrm{EC})=\mathrm{M(A,Z)}-\mathrm{M(A,Z-1)}$: Electron capture decay energy
$\mathrm{Q}(\mathrm{ECp})=\mathrm{M(A,Z)}-\mathrm{M(A-1,Z-2)}$: Electron capture with delayed proton emission decay energy
$\mathrm{Q}(n,\alpha)=\mathrm{M(A,Z)}-\mathrm{M(A-3,Z-2)} -\mathrm{M(He^{4})}+\mathrm{M(n)}$: $(n,\alpha)$ reaction energy
$\mathrm{Q}(p,\alpha)=\mathrm{M(A,Z)}-\mathrm{M(A-3,Z-1)} -\mathrm{M(He^{4})}+\mathrm{M(p)}$: $(p,\alpha)$ reaction energy
$\mathrm{S}(n) = \mathrm{-M(A,Z)}+\mathrm{M(A-1,Z)}+ \mathrm{M(n)}$: Neutron separation energy
$\mathrm{S}(p) = \mathrm{-M(A,Z)}+\mathrm{M(A-1,Z-1)}+ \mathrm{H^{1}}$: Proton separation energy
$\mathrm{S}(2n) = \mathrm{-M(A,Z)}+\mathrm{M(A-2,Z)}+ \mathrm{2M(n)}$: Two neutron separation energy
$\mathrm{S}(2p) = \mathrm{-M(A,Z)}+\mathrm{M(A-2,Z-2)}+ \mathrm{2 M(H^{1)}}$: Two proton separation energy

Idea for Future:
Find a way to include the electron binding energy contribution, possibly with the help of a theoretical model.

Definition at line 192 of file nuclear_mass.h.

Public Member Functions

virtual const char * type ()
 Return the type, "nuclear_mass".
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.
virtual double mass_excess (int Z, int N)=0
 Given Z and N, return the mass excess in MeV.
virtual double mass_excess_d (double Z, double N)=0
 Given Z and N, return the mass excess in MeV.
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.
virtual double binding_energy_d (double Z, double N)
 Return the 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)

Data Fields

double m_neut
 Neutron mass in $ \mathrm{MeV} $ (defaults to o2scl_fm::mass_neutron times o2scl_const::hc_mev_fm)
double m_prot
 Proton mass in $ \mathrm{MeV} $ (defaults to o2scl_fm::mass_proton times o2scl_const::hc_mev_fm)
double m_elec
 Electron mass in $ \mathrm{MeV} $ (defaults to o2scl_fm::mass_elec times o2scl_const::hc_mev_fm)
double m_amu
 Atomic mass unit in $ \mathrm{MeV} $ (defaults to o2scl_fm::mass_amu times o2scl_const::hc_mev_fm)

Member Function Documentation

virtual int nuclear_mass::get_nucleus ( int  Z,
int  N,
nucleus n 
) [virtual]

All masses are given in $\mathrm{fm}^{-1}$. The total mass (withouth the electrons) is put in part::m and part::ms, the binding energy is placed in nucleus::be, the mass excess in nucleus::mex and the degeneracy (part::g) is arbitrarily set to 1 for even A nuclei and 2 for odd A nuclei.

virtual double nuclear_mass::binding_energy ( int  Z,
int  N 
) [inline, virtual]

The binding energy is defined to be negative for bound nuclei, thus the binding energy per baryon of Pb-208 is about -8*208 = -1664 MeV.

Definition at line 257 of file nuclear_mass.h.

virtual double nuclear_mass::binding_energy_d ( double  Z,
double  N 
) [inline, virtual]

The binding energy is defined to be negative for bound nuclei, thus the binding energy per baryon of Pb-208 is about -8*208 = -1664 MeV.

Definition at line 267 of file nuclear_mass.h.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Friends

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).

Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads.