|
ampsci
High-precision calculations for one- and two-valence atomic 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. More... | |
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/.
| struct Nuclear::Isotope |
Isotope data: Z, A, r_rms/fm, I, pi, mu, Q.
|
strong |
Nuclear charge distribution options.
| Isotope Nuclear::findIsotopeData | ( | int | z, |
| int | a | ||
| ) |
Looks up + returns an isotope from the list. If not in list, partially blank.
| std::vector< Isotope > Nuclear::findIsotopeList | ( | int | z | ) |
Returns all known isotopes of given atom.
| double Nuclear::find_rrms | ( | int | z, |
| int | a | ||
| ) |
Looks up default value of r_rms for given isotope. Returns 0 if not found.
| double Nuclear::find_mu | ( | int | z, |
| int | a | ||
| ) |
As above, for dipole moment.
| int Nuclear::find_parity | ( | int | z, |
| int | a | ||
| ) |
As above, for parity.
| double Nuclear::find_spin | ( | int | z, |
| int | a | ||
| ) |
As above, for nuclear spin. Returns -1 if not found.
| double Nuclear::approximate_r_rms | ( | int | A, |
| int | Z | ||
| ) |
Approximate rms radius from a for to Angeli data.
| double Nuclear::c_hdr_formula_rrms_t | ( | double | rrms, |
| double | t | ||
| ) |
Calculates c from rrms and t.
| double Nuclear::rrms_formula_c_t | ( | double | c, |
| double | t | ||
| ) |
Calculates rrms from c and t.
| double Nuclear::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 Nuclear::approximate_t_skin | ( | int | ) |
just returns 2.3
| std::vector< double > Nuclear::sphericalNuclearPotential | ( | double | Z, |
| double | rnuc, | ||
| const std::vector< double > & | rgrid | ||
| ) |
Nuclear potentials: spherical charge distribution.
| std::vector< double > Nuclear::GaussianNuclearPotential | ( | double | Z, |
| double | r_rms, | ||
| const std::vector< double > & | rgrid | ||
| ) |
Nuclear potentials: Gaussian charge distribution.
| std::vector< double > Nuclear::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 > Nuclear::fermiNuclearDensity_tcN | ( | double | t, |
| double | c, | ||
| double | Z_norm, | ||
| const Grid & | grid | ||
| ) |
Fermi charge distribution, rho(r) - normalised to Z_norm.
| std::vector< double > Nuclear::formPotential | ( | const Nucleus & | nuc, |
| const std::vector< double > & | r | ||
| ) |
Calls one of the above, depending on params. Fills V(r), given r.