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 hfb_mass mnmsk_mass semi_empirical_mass 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 112-118 are named "Uub", "Uut", "Uuq", "Uup", "Uuh", "Uus", and "Uuo", respectively.

The binding energy is defined by

\[ \mathrm{BE}=Z m_{H} + N m_{n} - m_{\mathrm{nuclide}} \]

where $m_{\mathrm{nuclide}}$ is the mass of the nucleus including the mass of the electrons. The mass excess is defined by

\[ m_{\mathrm{excess}} = m_{\mathrm{nuclide}} - A m_{u} \]

For example, for $ \mathrm{U}^{238} $, the binding energy is 1801.695 MeV, the mass excess is 47.30366 MeV, and $m_{\mathrm{nuclide}}$ is 221742.9 MeV. This is consistent with the above, as $m_H$ is 938.7830 MeV, $m_n$ is 939.5650 MeV, and $m_u$ is 931.494 MeV.

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.

Warning:
The treatment of the electron binding energy contribution is not necessarily consistent at present.
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:
Make the treatment of the electron binding energy contribution more consistent.
Idea for future:
It might be useful to consider a fudge factor to ensure no problems with finite precision arithmetic when converting double to int.

Definition at line 290 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.
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 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.

Member Function Documentation

virtual double 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 351 of file nuclear_mass.h.

virtual double 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 365 of file nuclear_mass.h.

int get_nucleus ( int  Z,
int  N,
nucleus n 
) [inline]

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.

Warning:
The spin degeneracy is not handled particularly intelligently. This function simply assumes 0 spin for even A and spin 1/2 for odd A.

Definition at line 325 of file nuclear_mass.h.

virtual bool is_included ( int  Z,
int  N 
) [inline, virtual]

Note:
By default, this returns false, so that children must overload this function if they do not provide masses for arbitrary nuclei.

Reimplemented in ame_mass, mnmsk_mass, mnmsk_mass_exp, and hfb_mass.

Definition at line 308 of file nuclear_mass.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page