Class nucmass_semi_empirical (o2scl)

O2scl : Class List

class nucmass_semi_empirical : public o2scl::nucmass_fit_base

Semi-empirical mass formula.

A simple semi-empirical mass formula of the form

\[ E/A = B + S_s \frac{1}{A^{1/3}}+E_c \frac{Z^2}{A^{4/3}} + S_v \left(1-\frac{2Z}{A}\right)^2+E_{\mathrm{pair}}(Z,N) \]
where the pairing energy is given by
\[ E_{\mathrm{pair}}(Z,N) = - \frac{E_{\mathrm{pair}}}{2 A^{3/2}} \left[ \cos \left( \pi Z \right)+\cos \left( \pi N \right) \right] \]
which is equivalent to the traditional prescription
\[\begin{split} E_{\mathrm{pair}}(Z,N) = \frac{E_{\mathrm{pair}}}{A^{3/2}} \times \left\{ \begin{array}{rl} -1 & \mathrm{N~and~Z~even} \\ +1 & \mathrm{N~and~Z~odd} \\ 0 & \mathrm{otherwise} \end{array} \right. \end{split}\]
when \( Z \) and \( N \) and integers.

There is an example of the usage of this class given in the Nuclear mass fit example.

Note

The default parameters are arbitrary, and are not determined from a fit.

Public Types

typedef boost::numeric::ublas::vector<double> ubvector

Public Functions

inline virtual const char *type()

Return the type, "nucmass_semi_empirical".

nucmass_semi_empirical()
virtual double mass_excess_d(double Z, double N)

Given Z and N, return the mass excess in MeV.

inline virtual double mass_excess(int Z, int N)

Given Z and N, return the mass excess in MeV.

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.

Public Members

double B

Binding energy (negative and in MeV, default -16)

double Sv

Symmetry energy (in MeV, default 23.7)

double Ss

Surface energy (in MeV, default 18)

double Ec

Coulomb energy (in MeV, default 0.7)

double Epair

Pairing energy (MeV, default 13.0)