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