ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
|
Data and useful functions for nuclear properties and potentials. Radii all in Fermi (fm, e-15m) from Nuclear Data Service: https://www-nds.iaea.org/. More...
Classes | |
struct | Isotope |
Isotope data: Z, A, r_rms/fm, I, pi, mu, Q. More... | |
class | Nucleus |
Stores set of nuclear parameters (all radii in fm) More... | |
Enumerations | |
enum class | ChargeDistro { Fermi , spherical , point , Gaussian , custom , Error } |
Nuclear charge distribution options. | |
Functions | |
Isotope | findIsotopeData (int z, int a) |
Looks up + returns an isotope from the list. If not in list, partially blank. | |
std::vector< Isotope > | findIsotopeList (int z) |
Returns all known isotopes of given atom. | |
double | find_rrms (int z, int a) |
Looks up default value of r_rms for given isotope. Returns 0 if not found. | |
double | find_mu (int z, int a) |
As above, for dipole moment. | |
int | find_parity (int z, int a) |
As above, for parity. | |
double | find_spin (int z, int a) |
As above, for nuclear spin. Returns -1 if not found. | |
double | approximate_r_rms (int a, int z) |
Approximate rms radius from a for to Angeli data. | |
double | c_hdr_formula_rrms_t (double rrms, double t=default_t) |
Calculates c from rrms and t. | |
double | rrms_formula_c_t (double c, double t=default_t) |
Calculates rrms from c and t. | |
double | deformation_effective_t (double c, double t, double beta) |
Calculates effective skin thickness due to quadrupole deformation [See Eq. 8 of https://doi.org/10.1103/PhysRevA.100.032511.]. | |
double | approximate_t_skin (int a) |
just returns 2.3 | |
ChargeDistro | parseType (const std::string &str_type) |
std::string | parseType (ChargeDistro type) |
std::ostream & | operator<< (std::ostream &ostr, const Nucleus &n) |
Nucleus | form_nucleus (int Z, std::optional< int > tA, IO::InputBlock input) |
std::vector< double > | sphericalNuclearPotential (double Z, double rnuc, const std::vector< double > &rgrid) |
Nuclear potentials: spherical charge distribution. | |
std::vector< double > | GaussianNuclearPotential (double Z, double r_rms, const std::vector< double > &rgrid) |
Nuclear potentials: Gaussian charge distribution. | |
std::vector< double > | fermiNuclearPotential (double Z, double t, double c, const std::vector< double > &rgrid) |
Nuclear potentials: Fermi charge distribution [c is half-density radius, not rms]. | |
std::vector< double > | fermiNuclearDensity_tcN (double t, double c, double Z_norm, const Grid &grid) |
Fermi charge distribution, rho(r) - normalised to Z_norm. | |
std::vector< double > | formPotential (const Nucleus &nucleus, const std::vector< double > &r) |
Calls one of the above, depending on params. Fills V(r), given r. | |
Variables | |
constexpr double | default_t = 2.30 |
constexpr auto | FourLn3 = 4.0 * 1.098612289 |
constexpr auto | Pi2 = M_PI * M_PI |
Data and useful functions for nuclear properties and potentials. Radii all in Fermi (fm, e-15m) from Nuclear Data Service: https://www-nds.iaea.org/.