Newer
Older
// Mantid Repository : https://github.com/mantidproject/mantid
//
// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
// NScD Oak Ridge National Laboratory, European Spallation Source
// & Institut Laue - Langevin
// SPDX - License - Identifier: GPL - 3.0 +
#include "MantidKernel/MagneticIon.h"
#include <cmath>
#include <memory>
#include <sstream>
namespace Mantid {
namespace PhysicalConstants {
/// Default Constructor
MagneticIon::MagneticIon()
: symbol(""), charge(0), j0(8, 0.0), j2(8, 0.0), j4(8, 0.0), j6(8, 0.0),
g(0.) {}
* Constructor from symbol, charge, 4 vectors of 8 doubles each, and a double
* @param symbol :: A string symbol defining the element
* @param charge :: The value of the charge
* @param j0i :: Form factor coefficients for l = 0
* @param j2i :: Form factor coefficients for l = 2
* @param j4i :: Form factor coefficients for l = 4
* @param j6i :: Form factor coefficients for l = 6
MagneticIon::MagneticIon(const char *symbol, const uint16_t charge,
const double j0i[8], const double j2i[8],
const double j4i[8], const double j6i[8],
const double gi)
: symbol(symbol), charge(charge), j0(j0i, j0i + 8), j2(j2i, j2i + 8),
j4(j4i, j4i + 8), j6(j6i, j6i + 8), g(gi) {}
Gigg, Martyn Anthony
committed
* Constructor from symbol, charge, 3 vectors of 10 doubles each, and a double
* @param symbol :: A string symbol defining the element
* @param charge :: The value of the charge
* @param j0i :: Form factor coefficients for l = 0
* @param j2i :: Form factor coefficients for l = 2
* @param j4i :: Form factor coefficients for l = 4
*/
MagneticIon::MagneticIon(const char *symbol, const uint16_t charge,
const double j0i[9], const double j2i[9],
const double j4i[9], const double gi)
: symbol(symbol), charge(charge), j0(j0i, j0i + 9), j2(j2i, j2i + 9),
j4(j4i, j4i + 9), g(gi) {}
/**
* Returns the value of the integral of the product of the single-electron
* radial wavefunction and the bessel function \f$<j_l(Q^2)>\f$ for this ion
* at a given \f$Q^2\f$
* @param qsqr :: The square of the momentum transfer in \f$\mbox{\AA}^-2\f$
* @param l :: The order of the bessel function
double MagneticIon::getJLofQsqr(const double qsqr, const uint16_t l) const {
throw std::out_of_range(
"MagneticIon::analyticalFormFactor - j must be 0, 2, 4, or 6.");
}
const double q2 = qsqr / (16.0 * M_PI * M_PI);
std::vector<std::vector<double>> pars = {j0, j2, j4, j6};
if ((int)pars[l2].size() == 0) {
return 0.;
bool is5d = pars[l2].size() > 8;
double A = pars[l2][0], alpha = pars[l2][1];
double B = pars[l2][2], beta = pars[l2][3];
double C = pars[l2][4], gamma = pars[l2][5];
double D = is5d ? pars[l2][6] : 0.;
double delta = is5d ? pars[l2][7] : 0.;
double E = is5d ? pars[l2][8] : pars[l2][6];
double retval = 0.;
if (qsqr < MagneticIon::formFactorCutOff()) {
retval = A * std::exp(-alpha * q2) + B * std::exp(-beta * q2) +
C * std::exp(-gamma * q2) + E;
if (is5d)
retval += D * std::exp(-delta * q2);
if (l > 0)
retval *= q2;
return retval;
}
/**
* Returns the value of the form factor for the given \f$Q^2\f$ in
* \f$\mbox{\AA}^-2\f$ in the dipole approximation
* @param qsqr :: The square of the momentum transfer in \f$\mbox{\AA}^-2\f$
* @return
*/
double MagneticIon::analyticalFormFactor(const double qsqr) const {
const double q2 = qsqr / (16.0 * M_PI * M_PI);
double j0exp, j2exp = 0.;
j0exp = j0[0] * std::exp(-j0[1] * q2) + j0[2] * std::exp(-j0[3] * q2) +
j0[4] * std::exp(-j0[5] * q2);
if (fabs(g - 2.) > 0.01) {
j2exp = (j2[0] * std::exp(-j2[1] * q2) + j2[2] * std::exp(-j2[3] * q2) +
j2[4] * std::exp(-j2[5] * q2)) *
}
// Handles the case of 5d where we need an extra Dexp(-delta*Q^2) term
if (j0.size() > 8) {
j0exp += j0[6] * std::exp(-j0[7] * q2) + j0[8];
j2exp += (j2[6] * std::exp(-j2[7] * q2) + j2[8]) * q2;
j0exp += j0[6];
j2exp += j2[6] * q2;
}
// We want equation 11.110 of Lovesey 1984 (Theory of Neutron Scattering
// from Condensed Matter) not eq. 11.120. The "g" in eq 11.120 is an
// effective g-factor indicating an experimentally determined orbital
// The "g" here is the Lande g-factor which is a theoretically determined
// value of the coupling between spin and orbital angular momenta in
// isolated rare earth ions.
// So in substituting the Lande g-factor into equation 11.110, we get
// a minus sign instead of the plus sign in equation 11.120.
// Both equations are also reproduced in:
// http://www.neutron.ethz.ch/research/resources/magnetic-form-factors.html
// Equation 11.110 is that given for transition metal ions, and eq 11.120
// that for rare earth ions.
return j0exp - (1 - (2. / g)) * j2exp;
return 0.; // Outside simple model range
Gigg, Martyn Anthony
committed
/**
* Returns the cutoff value for the given form factor approximation
* @return
*/
double MagneticIon::formFactorCutOff() {
// Cutoff is approximately 19 Ang^-1
static double cutoff(36.0 * M_PI * M_PI);
return cutoff;
Gigg, Martyn Anthony
committed
namespace {
// Windows will not accept array initializer syntax within a constructor so put
// the various j_i definitions here
// The format is { j0, j2, j4, j6 }
constexpr double j_Sc0[4][8] = {
{0.2512, 90.03, 0.329, 39.402, 0.4235, 14.322, -0.0043, 0.2029}, // <j0>
{10.8172, 54.327, 4.7353, 14.847, 0.6071, 4.218, 0.0011, 0.1212}, // <j2>
{1.342, 10.2, 0.3837, 3.079, 0.0468, 0.118, -0.0328, 0.1343}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Sc1[4][8] = {
{0.4889, 51.16, 0.5203, 14.076, -0.0286, 0.179, 0.0185, 0.1217}, // <j0>
{8.5021, 34.285, 3.2116, 10.994, 0.4244, 3.605, 0.0009, 0.1037}, // <j2>
{7.1167, 15.487, -6.6671, 18.269, 0.49, 2.992, 0.0047, 0.1624}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Sc2[4][8] = {
{0.5048, 31.403, 0.5186, 10.99, -0.0241, 1.183, 0, 0.0578}, // <j0>
{4.3683, 28.654, 3.7231, 10.823, 0.6074, 3.668, 0.0014, 0.0681}, // <j2>
{-1.6684, 15.648, 1.7742, 9.062, 0.4075, 2.412, 0.0042, 0.1105}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ti0[4][8] = {
{0.4657, 33.59, 0.549, 9.879, -0.0291, 0.323, 0.0123, 0.1088}, // <j0>
{4.3583, 36.056, 3.823, 11.133, 0.6855, 3.469, 0.002, 0.0967}, // <j2>
{-2.1515, 11.271, 2.5149, 8.859, 0.3555, 2.149, 0.0045, 0.1244}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ti1[4][8] = {
{0.5093, 36.703, 0.5032, 10.371, -0.0263, 0.311, 0.0116, 0.1125}, // <j0>
{6.1567, 27.275, 2.6833, 8.983, 0.407, 3.052, 0.0011, 0.0902}, // <j2>
{-1.0383, 16.19, 1.4699, 8.924, 0.3631, 2.283, 0.0044, 0.127}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ti2[4][8] = {
{0.5091, 24.976, 0.5162, 8.757, -0.0281, 0.916, 0.0015, 0.0589}, // <j0>
{4.3107, 18.348, 2.096, 6.797, 0.2984, 2.548, 0.0007, 0.064}, // <j2>
{-1.3242, 15.31, 1.2042, 7.899, 0.3976, 2.156, 0.0051, 0.082}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ti3[4][8] = {
{0.3571, 22.841, 0.6688, 8.931, -0.0354, 0.483, 0.0099, 0.0575}, // <j0>
{3.3717, 14.444, 1.8258, 5.713, 0.247, 2.265, 0.0005, 0.0491}, // <j2>
{-1.1117, 14.635, 0.7689, 6.927, 0.4385, 2.089, 0.006, 0.0572}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_V0[4][8] = {
{0.4086, 28.811, 0.6077, 8.544, -0.0295, 0.277, 0.0123, 0.097}, // <j0>
{3.76, 21.831, 2.4026, 7.546, 0.4464, 2.663, 0.0017, 0.0556}, // <j2>
{-0.9633, 15.273, 0.9274, 7.732, 0.3891, 2.053, 0.0063, 0.084}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_V1[4][8] = {
{0.4444, 32.648, 0.5683, 9.097, -0.2285, 0.022, 0.215, 0.1111}, // <j0>
{4.7474, 23.323, 2.3609, 7.808, 0.4105, 2.706, 0.0014, 0.08}, // <j2>
{-0.9606, 15.545, 1.1278, 8.118, 0.3653, 2.097, 0.0056, 0.1027}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_V2[4][8] = {
{0.4085, 23.853, 0.6091, 8.246, -0.1676, 0.041, 0.1496, 0.0593}, // <j0>
{3.4386, 16.53, 1.9638, 6.141, 0.2997, 2.267, 0.0009, 0.0565}, // <j2>
{-1.1729, 14.973, 0.9092, 7.613, 0.4105, 2.039, 0.0067, 0.0719}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_V3[4][8] = {
{0.3598, 19.336, 0.6632, 7.617, -0.3064, 0.03, 0.2835, 0.0515}, // <j0>
{2.3005, 14.682, 2.0364, 6.13, 0.4099, 2.382, 0.0014, 0.0252}, // <j2>
{-0.9417, 14.205, 0.5284, 6.607, 0.4411, 1.967, 0.0076, 0.0569}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_V4[4][8] = {
{0.3106, 16.816, 0.7198, 7.049, -0.0521, 0.302, 0.0221, 0.0433}, // <j0>
{1.8377, 12.267, 1.8247, 5.458, 0.3979, 2.248, 0.0012, 0.0399}, // <j2>
{-0.7654, 13.097, 0.3071, 5.674, 0.4476, 1.871, 0.0081, 0.0518}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cr0[4][8] = {
{0.1135, 45.199, 0.3481, 19.493, 0.5477, 7.354, -0.0092, 0.1975}, // <j0>
{3.4085, 20.127, 2.1006, 6.802, 0.4266, 2.394, 0.0019, 0.0662}, // <j2>
{-0.667, 19.613, 0.5342, 6.478, 0.3641, 1.905, 0.0073, 0.0628}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cr1[4][8] = {
{-0.0977, 0.047, 0.4544, 26.005, 0.5579, 7.489, 0.0831, 0.1114}, // <j0>
{3.7768, 20.346, 2.1028, 6.893, 0.401, 2.411, 0.0017, 0.0686}, // <j2>
{-0.8309, 18.043, 0.7252, 7.531, 0.3828, 2.003, 0.0073, 0.0781}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cr2[4][8] = {
{1.2024, -0.005, 0.4158, 20.548, 0.6032, 6.956, -1.2218, 0.0572}, // <j0>
{2.6422, 16.06, 1.9198, 6.253, 0.4446, 2.372, 0.002, 0.048}, // <j2>
{-0.893, 15.664, 0.559, 7.033, 0.4093, 1.924, 0.0081, 0.0631}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cr3[4][8] = {
{-0.3094, 0.027, 0.368, 17.035, 0.6559, 6.524, 0.2856, 0.0436}, // <j0>
{1.6262, 15.066, 2.0618, 6.284, 0.5281, 2.368, 0.0023, 0.0263}, // <j2>
{-0.7327, 14.073, 0.3268, 5.674, 0.4114, 1.81, 0.0085, 0.0505}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cr4[4][8] = {
{-0.232, 0.043, 0.3101, 14.952, 0.7182, 6.173, 0.2042, 0.0419}, // <j0>
{1.0293, 13.95, 1.9933, 6.059, 0.5974, 2.346, 0.0027, 0.0366}, // <j2>
{-0.6748, 12.946, 0.1805, 6.753, 0.4526, 1.8, 0.0098, 0.0644}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mn0[4][8] = {
{0.2438, 24.963, 0.1472, 15.673, 0.6189, 6.54, -0.0105, 0.1748}, // <j0>
{2.6681, 16.06, 1.7561, 5.64, 0.3675, 2.049, 0.0017, 0.0595}, // <j2>
{-0.5452, 15.471, 0.4406, 4.902, 0.2884, 1.543, 0.0059, 0.0488}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mn1[4][8] = {
{-0.0138, 0.421, 0.4231, 24.668, 0.5905, 6.655, -0.001, 0.1242}, // <j0>
{3.2953, 18.695, 1.8792, 6.24, 0.3927, 2.201, 0.0022, 0.0659}, // <j2>
{-0.7947, 17.867, 0.6078, 7.704, 0.3798, 1.905, 0.0087, 0.0737}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mn2[4][8] = {
{0.422, 17.684, 0.5948, 6.005, 0.0043, -0.609, -0.0219, 0.0589}, // <j0>
{2.0515, 15.556, 1.8841, 6.063, 0.4787, 2.232, 0.0027, 0.0306}, // <j2>
{-0.7416, 15.255, 0.3831, 6.469, 0.3935, 1.8, 0.0093, 0.0577}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mn3[4][8] = {
{0.4198, 14.283, 0.6054, 5.469, 0.9241, -0.009, -0.9498, 0.0392}, // <j0>
{1.2427, 14.997, 1.9567, 6.118, 0.5732, 2.258, 0.0031, 0.0336}, // <j2>
{-0.6603, 13.607, 0.2322, 6.218, 0.4104, 1.74, 0.0101, 0.0579}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mn4[4][8] = {
{0.376, 12.566, 0.6602, 5.133, -0.0372, 0.563, 0.0011, 0.0393}, // <j0>
{0.7879, 13.886, 1.8717, 5.743, 0.5981, 2.182, 0.0034, 0.0434}, // <j2>
{-0.5127, 13.461, 0.0313, 7.763, 0.4282, 1.701, 0.0113, 0.0693}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Fe0[4][8] = {
{0.0706, 35.008, 0.3589, 15.358, 0.5819, 5.561, -0.0114, 0.1398}, // <j0>
{1.9405, 18.473, 1.9566, 6.323, 0.5166, 2.161, 0.0036, 0.0394}, // <j2>
{-0.5029, 19.677, 0.2999, 3.776, 0.2576, 1.424, 0.0071, 0.0292}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Fe1[4][8] = {
{0.1251, 34.963, 0.3629, 15.514, 0.5223, 5.591, -0.0105, 0.1301}, // <j0>
{2.629, 18.66, 1.8704, 6.331, 0.469, 2.163, 0.0031, 0.0491}, // <j2>
{-0.5109, 19.25, 0.3896, 4.891, 0.281, 1.526, 0.0069, 0.0375}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Fe2[4][8] = {
{0.0263, 34.96, 0.3668, 15.943, 0.6188, 5.594, -0.0119, 0.1437}, // <j0>
{1.649, 16.559, 1.9064, 6.133, 0.5206, 2.137, 0.0035, 0.0335}, // <j2>
{-0.5401, 17.227, 0.2865, 3.742, 0.2658, 1.424, 0.0076, 0.0278}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Fe3[4][8] = {
{0.3972, 13.244, 0.6295, 4.903, -0.0314, 0.35, 0.0044, 0.0441}, // <j0>
{1.3602, 11.998, 1.5188, 5.003, 0.4705, 1.991, 0.0038, 0.0374}, // <j2>
{-0.5507, 11.493, 0.2153, 4.906, 0.3468, 1.523, 0.0095, 0.0314}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Fe4[4][8] = {
{0.3782, 11.38, 0.6556, 4.592, -0.0346, 0.483, 0.0005, 0.0362}, // <j0>
{1.5582, 8.275, 1.1863, 3.279, 0.1366, 1.107, -0.0022, 0.0327}, // <j2>
{-0.5352, 9.507, 0.1783, 5.175, 0.3584, 1.469, 0.0097, 0.036}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Co0[4][8] = {
{0.4139, 16.162, 0.6013, 4.78, -0.1518, 0.021, 0.1345, 0.1033}, // <j0>
{1.9678, 14.17, 1.4911, 4.948, 0.3844, 1.797, 0.0027, 0.0452}, // <j2>
{-0.4221, 14.195, 0.29, 3.979, 0.2469, 1.286, 0.0063, 0.04}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Co1[4][8] = {
{0.099, 33.125, 0.3645, 15.177, 0.547, 5.008, -0.0109, 0.0983}, // <j0>
{2.4097, 16.161, 1.578, 5.46, 0.4095, 1.914, 0.0031, 0.0581}, // <j2>
{-0.4115, 14.561, 0.358, 4.717, 0.2644, 1.418, 0.0074, 0.0541}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Co2[4][8] = {
{0.4332, 14.355, 0.5857, 4.608, -0.0382, 0.134, 0.0179, 0.0711}, // <j0>
{1.9049, 11.644, 1.3159, 4.357, 0.3146, 1.645, 0.0017, 0.0459}, // <j2>
{0.4759, 14.046, 0.2747, 3.731, 0.2458, 1.25, 0.0057, 0.0282}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Co3[4][8] = {
{0.3902, 12.508, 0.6324, 4.457, -0.15, 0.034, 0.1272, 0.0515}, // <j0>
{1.7058, 8.859, 1.1409, 3.309, 0.1474, 1.09, -0.0025, 0.0462}, // <j2>
{-0.4466, 13.391, 0.1419, 3.011, 0.2773, 1.335, 0.0093, 0.0341}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Co4[4][8] = {
{0.3515, 10.778, 0.6778, 4.234, -0.0389, 0.241, 0.0098, 0.039}, // <j0>
{1.311, 8.025, 1.1551, 3.179, 0.1608, 1.13, -0.0011, 0.0374}, // <j2>
{-0.4091, 13.194, -0.0194, 3.417, 0.3534, 1.421, 0.0112, 0.0622}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ni0[4][8] = {
{-0.0172, 35.739, 0.3174, 14.269, 0.7136, 4.566, -0.0143, 0.1072}, // <j0>
{1.0302, 12.252, 1.4669, 4.745, 0.4521, 1.744, 0.0036, 0.0338}, // <j2>
{-0.4428, 14.485, 0.087, 3.234, 0.2932, 1.331, 0.0096, 0.0554}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ni1[4][8] = {
{0.0705, 35.856, 0.3984, 13.804, 0.5427, 4.397, -0.0118, 0.0738}, // <j0>
{2.104, 14.866, 1.4302, 5.071, 0.4031, 1.778, 0.0034, 0.0561}, // <j2>
{-0.3836, 13.425, 0.3116, 4.462, 0.2471, 1.309, 0.0079, 0.0515}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ni2[4][8] = {
{0.0163, 35.883, 0.3916, 13.223, 0.6052, 4.339, -0.0133, 0.0817}, // <j0>
{1.708, 11.016, 1.2147, 4.103, 0.315, 1.533, 0.0018, 0.0446}, // <j2>
{-0.3803, 10.403, 0.2838, 3.378, 0.2108, 1.104, 0.005, 0.0474}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ni3[4][8] = {
{0.0012, 35, 0.3468, 11.987, 0.6667, 4.252, -0.0148, 0.0883}, // <j0>
{1.4683, 8.671, 0.1794, 1.106, 1.1068, 3.257, -0.0023, 0.0373}, // <j2>
{-0.4014, 9.046, 0.2314, 3.075, 0.2192, 1.084, 0.006, 0.0323}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ni4[4][8] = {
{-0.009, 35.861, 0.2776, 11.79, 0.7474, 4.201, -0.0163, 0.0966}, // <j0>
{1.1612, 7.7, 1.0027, 3.263, 0.2719, 1.378, 0.0025, 0.0326}, // <j2>
{-0.3509, 8.157, 0.222, 2.106, 0.1567, 0.925, 0.0065, 0.0352}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cu0[4][8] = {
{0.0909, 34.984, 0.4088, 11.443, 0.5128, 3.825, -0.0124, 0.0513}, // <j0>
{1.9182, 14.49, 1.3329, 4.73, 0.3842, 1.639, 0.0035, 0.0617}, // <j2>
{-0.3204, 15.132, 0.2335, 4.021, 0.2312, 1.196, 0.0068, 0.0457}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cu1[4][8] = {
{0.0749, 34.966, 0.4147, 11.764, 0.5238, 3.85, -0.0127, 0.0591}, // <j0>
{1.8814, 13.433, 1.2809, 4.545, 0.3646, 1.602, 0.0033, 0.059}, // <j2>
{-0.3572, 15.125, 0.2336, 3.966, 0.2315, 1.197, 0.007, 0.0397}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cu2[4][8] = {
{0.0232, 34.969, 0.4023, 11.564, 0.5882, 3.843, -0.0137, 0.0532}, // <j0>
{1.5189, 10.478, 1.1512, 3.813, 0.2918, 1.398, 0.0017, 0.0429}, // <j2>
{-0.3914, 14.74, 0.1275, 3.384, 0.2548, 1.255, 0.0103, 0.0394}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cu3[4][8] = {
{0.0031, 34.907, 0.3582, 10.914, 0.6531, 3.828, -0.0147, 0.0665}, // <j0>
{1.2797, 8.45, 1.0315, 3.28, 0.2401, 1.25, 0.0015, 0.0389}, // <j2>
{-0.3671, 14.082, -0.0078, 3.315, 0.3154, 1.377, 0.0132, 0.0534}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Cu4[4][8] = {
{-0.0132, 30.682, 0.2801, 11.163, 0.749, 3.817, -0.0165, 0.0767}, // <j0>
{0.9568, 7.448, 0.9099, 3.396, 0.3729, 1.494, 0.0049, 0.033}, // <j2>
{-0.2915, 14.124, -0.1065, 4.201, 0.3247, 1.352, 0.0148, 0.0579}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Y0[4][8] = {
{0.5915, 67.608, 1.5123, 17.9, -1.113, 14.136, 0.008, 0.3272}, // <j0>
{14.4084, 44.658, 5.1045, 14.904, -0.0535, 3.319, 0.0028, 0.1093}, // <j2>
{-8.0767, 32.201, 7.9197, 25.156, 1.4067, 6.827, -0.0001, 0.1031}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Zr0[4][8] = {
{0.4106, 59.996, 1.0543, 18.648, -0.4751, 10.54, 0.0106, 0.3667}, // <j0>
{10.1378, 35.337, 4.7734, 12.545, -0.0489, 2.672, 0.0036, 0.0912}, // <j2>
{-5.2697, 32.868, 4.193, 24.183, 1.5202, 6.048, -0.0002, 0.0855}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Zr1[4][8] = {
{0.4532, 59.595, 0.7834, 21.436, -0.2451, 9.036, 0.0098, 0.3639}, // <j0>
{11.8722, 34.92, 4.0502, 12.127, -0.0632, 2.828, 0.0034, 0.0737}, // <j2>
{-5.6384, 33.607, 4.6729, 22.338, 1.3258, 5.924, -0.0003, 0.0674}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Nb0[4][8] = {
{0.3946, 49.23, 1.3197, 14.822, -0.7269, 9.616, 0.0129, 0.3659}, // <j0>
{7.4796, 33.179, 5.0884, 11.571, -0.0281, 1.564, 0.0047, 0.0944}, // <j2>
{-3.1377, 25.595, 2.3411, 16.569, 1.2304, 4.99, -0.0005, 0.0615}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Nb1[4][8] = {
{0.4572, 49.918, 1.0274, 15.726, -0.4962, 9.157, 0.0118, 0.3403}, // <j0>
{8.7735, 33.285, 4.6556, 11.605, -0.0268, 1.539, 0.0044, 0.0855}, // <j2>
{-3.3598, 25.82, 2.8297, 16.427, 1.1203, 4.982, -0.0005, 0.0724}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mo0[4][8] = {
{0.1806, 49.057, 1.2306, 14.786, -0.4268, 6.987, 0.0171, 0.4135}, // <j0>
{5.118, 23.422, 4.1809, 9.208, -0.0505, 1.743, 0.0053, 0.0655}, // <j2>
{-2.886, 20.572, 1.813, 14.628, 1.1899, 4.264, -0.0008, 0.041}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Mo1[4][8] = {
{0.35, 48.035, 1.0305, 15.06, -0.3929, 7.479, 0.0139, 0.351}, // <j0>
{7.2367, 28.128, 4.0705, 9.923, -0.0317, 1.455, 0.0049, 0.0798}, // <j2>
{-3.2618, 25.486, 2.3596, 16.462, 1.1164, 4.491, -0.0007, 0.0592}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Tc0[4][8] = {
{0.1298, 49.661, 1.1656, 14.131, -0.3134, 5.513, 0.0195, 0.3869}, // <j0>
{4.2441, 21.397, 3.9439, 8.375, -0.0371, 1.187, 0.0066, 0.0645}, // <j2>
{-2.7975, 20.159, 1.652, 16.261, 1.1726, 3.943, -0.0008, 0.0657}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Tc1[4][8] = {
{0.2674, 48.957, 0.9569, 15.141, -0.2387, 5.458, 0.016, 0.3412}, // <j0>
{6.4056, 24.824, 3.54, 8.611, -0.0366, 1.485, 0.0044, 0.0806}, // <j2>
{-2.047, 19.683, 1.6306, 11.592, 0.8698, 3.769, -0.001, 0.0723}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ru0[4][8] = {
{0.1069, 49.424, 1.1912, 12.742, -0.3176, 4.912, 0.0213, 0.3597}, // <j0>
{3.7445, 18.613, 3.4749, 7.42, -0.0363, 1.007, 0.0073, 0.0533}, // <j2>
{-1.5042, 17.949, 0.6027, 9.961, 0.97, 3.393, -0.001, 0.0338}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ru1[4][8] = {
{0.441, 33.309, 1.4775, 9.553, -0.9361, 6.722, 0.0176, 0.2608}, // <j0>
{5.2826, 23.683, 3.5813, 8.152, -0.0257, 0.426, 0.0131, 0.083}, // <j2>
{1.6278, 18.506, 1.1828, 10.189, 0.8138, 3.418, -0.0009, 0.0673}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Rh0[4][8] = {
{0.0976, 49.882, 1.1601, 11.831, -0.2789, 4.127, 0.0234, 0.3263}, // <j0>
{3.3651, 17.344, 3.2121, 6.804, -0.035, 0.503, 0.0146, 0.0545}, // <j2>
{-1.3492, 17.577, 0.4527, 10.507, 0.9285, 3.155, -0.0009, 0.0483}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Rh1[4][8] = {
{0.3342, 29.756, 1.2209, 9.438, -0.5755, 5.332, 0.021, 0.2574}, // <j0>
{4.026, 18.95, 3.1663, 7, -0.0296, 0.486, 0.0127, 0.0629}, // <j2>
{-1.4673, 17.957, 0.7381, 9.944, 0.8485, 3.126, -0.0012, 0.0487}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Pd0[4][8] = {
{0.2003, 29.363, 1.1446, 9.599, -0.3689, 4.042, 0.0251, 0.2453}, // <j0>
{3.3105, 14.726, 2.6332, 5.862, -0.0437, 1.13, 0.0053, 0.0492}, // <j2>
{-1.1955, 17.628, 0.3183, 11.309, 0.8696, 2.909, -0.0006, 0.0555}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Pd1[4][8] = {
{0.5033, 24.504, 1.9982, 6.908, -1.524, 5.513, 0.0213, 0.1909}, // <j0>
{4.2749, 17.9, 2.7021, 6.354, -0.0258, 0.7, 0.0071, 0.0768}, // <j2>
{-1.4098, 17.765, 0.7927, 9.999, 0.771, 2.93, -0.0006, 0.053}, // <j4>
{0, 0, 0, 0, 0, 0, 0, 0}}; // <j6>
constexpr double j_Ce2[4][8] = {
{0.2953, 17.685, 0.2923, 6.733, 0.4313, 5.383, -0.0194, 0.0845}, // <j0>
{0.9809, 18.063, 1.8413, 7.769, 0.9905, 2.845, 0.012, 0.0448}, // <j2>
{-0.6468, 10.533, 0.4052, 5.624, 0.3412, 1.535, 0.008, 0.0522}, // <j4>
{-0.1212, 7.994, -0.0639, 4.024, 0.1519, 1.096, 0.0078, 0.0388}}; // <j6>
constexpr double j_Nd2[4][8] = {
{0.1645, 25.045, 0.2522, 11.978, 0.6012, 4.946, -0.018, 0.0668}, // <j0>
{1.453, 18.34, 1.6196, 7.285, 0.8752, 2.622, 0.0126, 0.0461}, // <j2>
{-0.5416, 12.204, 0.3571, 6.169, 0.3154, 1.485, 0.0098, 0.0519}, // <j4>
{-0.16, 8.009, 0.0272, 4.028, 0.1104, 1.068, 0.0139, 0.0363}}; // <j6>
constexpr double j_Nd3[4][8] = {
{0.054, 25.029, 0.3101, 12.102, 0.6575, 4.722, -0.0216, 0.0478}, // <j0>
{0.6751, 18.342, 1.6272, 7.26, 0.9644, 2.602, 0.015, 0.045}, // <j2>
{-0.4053, 14.014, 0.0329, 7.005, 0.3759, 1.707, 0.0209, 0.0372}, // <j4>
{0.0416, 8.014, -0.1261, 4.04, 0.14, 1.087, 0.0102, 0.0367}}; // <j6>
constexpr double j_Sm2[4][8] = {
{0.0909, 25.203, 0.3037, 11.856, 0.625, 4.237, -0.02, 0.0408}, // <j0>
{1.036, 18.425, 1.4769, 7.032, 0.881, 2.437, 0.0152, 0.0345}, // <j2>
{-0.415, 14.057, 0.1368, 7.032, 0.3272, 1.582, 0.0192, 0.0319}, // <j4>
{0.1428, 6.041, 0.0723, 2.033, 0.055, 0.513, 0.0081, 0.045}}; // <j6>
constexpr double j_Sm3[4][8] = {
{0.0288, 25.207, 0.2973, 11.831, 0.6954, 4.212, -0.0213, 0.051}, // <j0>
{0.4707, 18.43, 1.4261, 7.034, 0.9574, 2.439, 0.0182, 0.051}, // <j2>
{-0.4288, 10.052, 0.1782, 5.019, 0.2833, 1.236, 0.0088, 0.0328}, // <j4>
{-0.0944, 6.03, -0.0498, 2.074, 0.1372, 0.645, -0.0132, 0.0387}}; // <j6>
constexpr double j_Eu2[4][8] = {
{0.0755, 25.296, 0.3001, 11.599, 0.6438, 4.025, -0.0196, 0.0488}, // <j0>
{0.897, 18.443, 1.3769, 7.005, 0.906, 2.421, 0.019, 0.0511}, // <j2>
{-0.4145, 10.193, 0.2447, 5.164, 0.2661, 1.205, 0.0065, 0.0516}, // <j4>
{-0.1252, 6.049, 0.0507, 2.085, 0.0572, 0.646, 0.0132, 0.0403}}; // <j6>
constexpr double j_Eu3[4][8] = {
{0.0204, 25.308, 0.301, 11.474, 0.7005, 3.942, -0.022, 0.0356}, // <j0>
{0.3985, 18.451, 1.3307, 6.956, 0.9603, 2.378, 0.0197, 0.0447}, // <j2>
{-0.4095, 10.211, 0.1485, 5.175, 0.272, 1.237, 0.0131, 0.0494}, // <j4>
{-0.0817, 6.039, -0.0596, 2.12, 0.1243, 0.764, -0.0001, 0.0206}}; // <j6>
constexpr double j_Gd2[4][8] = {
{0.0636, 25.382, 0.3033, 11.212, 0.6528, 3.788, -0.0199, 0.0486}, // <j0>
{0.7756, 18.469, 1.3124, 6.899, 0.8956, 2.338, 0.0199, 0.0441}, // <j2>
{-0.3824, 10.344, 0.1955, 5.306, 0.2622, 1.203, 0.0097, 0.0363}, // <j4>
{-0.1351, 5.03, 0.0828, 2.025, 0.0315, 0.503, 0.0187, 0.0453}}; // <j6>
constexpr double j_Gd3[4][8] = {
{0.0186, 25.387, 0.2895, 11.142, 0.7135, 3.752, -0.0217, 0.0489}, // <j0>
{0.3347, 18.476, 1.2465, 6.877, 0.9537, 2.318, 0.0217, 0.0484}, // <j2>
{-0.3621, 10.353, 0.1016, 5.31, 0.2649, 1.219, 0.0147, 0.0494}, // <j4>
{-0.0662, 6.031, -0.085, 2.154, 0.1323, 0.891, 0.0048, 0.0371}}; // <j6>
constexpr double j_Tb2[4][8] = {
{0.0547, 25.509, 0.3171, 10.591, 0.649, 3.517, -0.0212, 0.0342}, // <j0>
{0.6688, 18.491, 1.2487, 6.822, 0.8888, 2.275, 0.0215, 0.0439}, // <j2>
{-0.3443, 10.469, 0.1481, 5.416, 0.2575, 1.182, 0.0104, 0.028}, // <j4>
{-0.0758, 6.032, -0.054, 2.158, 0.1199, 0.89, 0.0051, 0.0488}}; // <j6>
constexpr double j_Tb3[4][8] = {
{0.0177, 25.51, 0.2921, 10.577, 0.7133, 3.512, -0.0231, 0.0512}, // <j0>
{0.2892, 18.497, 1.1678, 6.797, 0.9437, 2.257, 0.0232, 0.0458}, // <j2>
{-0.3228, 10.476, 0.0638, 5.419, 0.2566, 1.196, 0.0159, 0.0439}, // <j4>
{-0.0559, 6.031, -0.102, 2.237, 0.1264, 1.107, 0.0167, 0.017}}; // <j6>
constexpr double j_Dy2[4][8] = {
{0.1308, 18.316, 0.3118, 7.665, 0.5795, 3.147, -0.0226, 0.0315}, // <j0>
{0.5917, 18.511, 1.1828, 6.747, 0.8801, 2.214, 0.0229, 0.0439}, // <j2>
{-0.3206, 12.071, 0.0904, 8.026, 0.2616, 1.23, 0.0143, 0.0767}, // <j4>
{-0.0568, 6.032, -0.1003, 2.24, 0.1401, 1.106, 0.0109, 0.0463}}; // <j6>
constexpr double j_Dy3[4][8] = {
{0.1157, 15.073, 0.327, 6.799, 0.5821, 3.02, -0.0249, 0.0146}, // <j0>
{0.2523, 18.517, 1.0914, 6.736, 0.9345, 2.208, 0.025, 0.0476}, // <j2>
{-0.2829, 9.525, 0.0565, 4.429, 0.2437, 1.066, 0.0092, 0.0181}, // <j4>
{-0.0423, 6.038, -0.1248, 2.244, 0.1359, 1.2, 0.0188, 0.035}}; // <j6>
constexpr double j_Ho2[4][8] = {
{0.0995, 18.176, 0.3305, 7.856, 0.5921, 2.98, -0.023, 0.124}, // <j0>
{0.5094, 18.515, 1.1234, 6.706, 0.8727, 2.159, 0.0242, 0.056}, // <j2>
{-0.2976, 9.719, 0.1224, 4.635, 0.2279, 1.005, 0.0063, 0.0452}, // <j4>
{-0.0725, 6.045, -0.0318, 2.243, 0.0738, 1.202, 0.0252, 0.0634}}; // <j6>
constexpr double j_Ho3[4][8] = {
{0.0566, 18.318, 0.3365, 7.688, 0.6317, 2.943, -0.0248, 0.0068}, // <j0>
{0.2188, 18.516, 1.024, 6.707, 0.9251, 2.161, 0.0268, 0.0503}, // <j2>
{-0.2717, 9.731, 0.0474, 4.638, 0.2292, 1.047, 0.0124, 0.031}, // <j4>
{-0.0289, 6.05, -0.1545, 2.23, 0.155, 1.26, 0.0177, 0.0351}}; // <j6>
constexpr double j_Er2[4][8] = {
{0.1122, 18.122, 0.3462, 6.911, 0.5649, 2.761, -0.0235, 0.0207}, // <j0>
{0.4693, 18.528, 1.0545, 6.649, 0.8679, 2.12, 0.0261, 0.0413}, // <j2>
{-0.2975, 9.829, 0.1189, 4.741, 0.2116, 1.004, 0.0117, 0.0524}, // <j4>
{0.0648, 6.056, -0.0515, 2.23, 0.0825, 1.264, 0.025, 0.0409}}; // <j6>
constexpr double j_Er3[4][8] = {
{0.0586, 17.98, 0.354, 7.096, 0.6126, 2.748, -0.0251, 0.0171}, // <j0>
{0.171, 18.534, 0.9879, 6.625, 0.9044, 2.1, 0.0278, 0.0489}, // <j2>
{-0.2568, 9.834, 0.0356, 4.741, 0.2172, 1.028, 0.0148, 0.0434}, // <j4>
{-0.011, 6.061, -0.1954, 2.224, 0.1818, 1.296, 0.0149, 0.0455}}; // <j6>
constexpr double j_Tm2[4][8] = {
{0.0983, 18.324, 0.338, 6.918, 0.5875, 2.662, -0.0241, 0.0404}, // <j0>
{0.4198, 18.542, 0.9959, 6.6, 0.8593, 2.082, 0.0284, 0.0457}, // <j2>
{-0.2677, 9.888, 0.0925, 4.784, 0.2056, 0.99, 0.0124, 0.0396}, // <j4>
{0.0842, 4.07, 0.0807, 0.849, -0.2087, 0.039, 0.2095, 0.036}}; // <j6>
constexpr double j_Tm3[4][8] = {
{0.0581, 15.092, 0.2787, 7.801, 0.6854, 2.793, -0.0224, 0.0351}, // <j0>
{0.176, 18.542, 0.9105, 6.579, 0.897, 2.062, 0.0294, 0.0468}, // <j2>
{-0.2292, 9.895, 0.0124, 4.785, 0.2108, 1.007, 0.0151, 0.0334}, // <j4>
{0.0727, 4.073, 0.0243, 0.689, 3.9459, 0.002, -3.9076, 0.0502}}; // <j6>
constexpr double j_Yb2[4][8] = {
{0.0855, 18.512, 0.2943, 7.373, 0.6412, 2.678, -0.0213, 0.0421}, // <j0>
{0.3852, 18.55, 0.9415, 6.551, 0.8492, 2.043, 0.0301, 0.0478}, // <j2>
{-0.2393, 9.947, 0.0663, 4.823, 0.2009, 0.965, 0.0122, 0.0311}, // <j4>
{-0.0739, 5.031, 0.014, 2.03, 0.0351, 0.508, 0.0174, 0.0434}}; // <j6>
constexpr double j_Yb3[4][8] = {
{0.0416, 16.095, 0.2849, 7.834, 0.6961, 2.672, -0.0229, 0.0344}, // <j0>
{0.157, 18.555, 0.8484, 6.54, 0.888, 2.037, 0.0318, 0.0498}, // <j2>
{-0.2121, 8.197, 0.0325, 3.153, 0.1975, 0.884, 0.0093, 0.0435}, // <j4>
{-0.0345, 5.007, -0.0677, 2.02, 0.0985, 0.549, -0.0076, 0.0359}}; // <j6>
/// From ILL data booklet. https://www.ill.eu/sites/ccsl/ffacts/ffachtml.html
constexpr double j_Pr3[4][8] = {
{0.0504, 24.9989, 0.2572, 12.0377, 0.7142, 5.0039, -0.0219, -1.}, // <j0>
{0.8734, 18.9876, 1.5594, 6.0872, 0.8142, 2.4150, 0.0111, -1.}, // <j2>
{-0.3970, 10.9919, 0.0818, 5.9897, 0.3656, 1.5021, 0.0110, -1.}, // <j4>
{-0.0224, 7.9931, -0.1202, 3.9406, 0.1299, 0.8938, 0.0051, -1.}}; // <j6>
constexpr double j_U3[4][8] = {
{0.5058, 23.288, 1.3464, 7.003, -0.8724, 4.868, 0.0192, 0.1507}, // <j0>
{4.1582, 16.534, 2.4675, 5.952, -0.0252, 0.765, 0.0057, 0.0822}, // <j2>
{-0.9859, 16.601, 0.6116, 6.515, 0.602, 2.597, -0.001, 0.0599}, // <j4>
{-0.3797, 9.953, 0.0459, 5.038, 0.2748, 1.607, 0.0016, 0.0345}}; // <j6>
constexpr double j_U4[4][8] = {
{0.3291, 23.548, 1.0836, 8.454, -0.434, 4.12, 0.0214, 0.1757}, // <j0>
{3.7449, 13.894, 2.6453, 4.863, -0.5218, 3.192, 0.0009, 0.0928}, // <j2>
{-1.054, 16.605, 0.4339, 6.512, 0.6746, 2.599, -0.0011, 0.0471}, // <j4>
{-0.1793, 11.896, -0.2269, 5.428, 0.3291, 1.701, 0.003, 0.0472}}; // <j6>
constexpr double j_U5[4][8] = {
{0.365, 19.804, 3.2199, 6.282, -2.6077, 5.301, 0.0233, 0.175}, // <j0>
{3.0724, 12.546, 2.3076, 5.231, -0.0644, 1.474, 0.0035, 0.0477}, // <j2>
{-0.9588, 16.485, 0.1576, 6.44, 0.7785, 2.64, -0.001, 0.0493}, // <j4>
{-0.0399, 11.891, -0.3458, 5.58, 0.334, 1.645, 0.0029, 0.0444}}; // <j6>
constexpr double j_Np3[4][8] = {
{0.5157, 20.865, 2.2784, 5.893, -1.8163, 4.846, 0.0211, 0.1378}, // <j0>
{3.717, 15.133, 2.3216, 5.503, -0.0275, 0.8, 0.0052, 0.0948}, // <j2>
{0.9029, 16.586, 0.4006, 6.47, 0.6545, 2.563, -0.0004, 0.047}, // <j4>
{-0.2427, 11.844, -0.1129, 5.377, 0.2848, 1.568, 0.0022, 0.0368}}; // <j6>
constexpr double j_Np4[4][8] = {
{0.4206, 19.805, 2.8004, 5.978, -2.2436, 4.985, 0.0228, 0.1408}, // <j0>
{2.9203, 14.646, 2.5979, 5.559, -0.0301, 0.367, 0.0141, 0.0532}, // <j2>
{-0.9887, 12.441, 0.5918, 5.294, 0.5306, 2.263, -0.0021, 0.0583}, // <j4>
{-0.2436, 9.599, -0.1317, 4.101, 0.3029, 1.545, 0.0019, 0.05}}; // <j6>
constexpr double j_Np5[4][8] = {
{0.3692, 18.19, 3.151, 5.85, -2.5446, 4.916, 0.0248, 0.1515}, // <j0>
{2.3308, 13.654, 2.7219, 5.494, -0.1357, 0.049, 0.1224, 0.0553}, // <j2>
{-0.8146, 16.581, -0.0055, 6.475, 0.7956, 2.562, -0.0004, 0.06}, // <j4>
{-0.1157, 9.565, -0.2654, 4.26, 0.3298, 1.549, 0.0025, 0.0495}}; // <j6>
constexpr double j_Np6[4][8] = {
{0.2929, 17.561, 3.4866, 5.785, -2.8066, 4.871, 0.0267, 0.1698}, // <j0>
{1.8245, 13.18, 2.8508, 5.407, -0.1579, 0.044, 0.1438, 0.0585}, // <j2>
{0.6738, 16.553, -0.2297, 6.505, 0.8513, 2.553, -0.0003, 0.0623}, // <j4>
{-0.0128, 9.569, -0.3611, 4.304, 0.3419, 1.541, 0.0032, 0.052}}; // <j6>
constexpr double j_Pu3[4][8] = {
{0.384, 16.679, 3.1049, 5.421, -2.5148, 4.551, 0.0263, 0.128}, // <j0>
{2.0885, 12.871, 2.5961, 5.19, -0.1465, 0.039, 0.1343, 0.0866}, // <j2>
{-0.7014, 16.369, -0.1162, 6.697, 0.7778, 2.45, 0, 0.0546}, // <j4>
{-0.0364, 9.572, -0.3181, 4.342, 0.321, 1.523, 0.0041, 0.0496}}; // <j6>
constexpr double j_Pu4[4][8] = {
{0.4934, 16.836, 1.6394, 5.638, -1.1581, 4.14, 0.0248, 0.1242}, // <j0>
{2.7244, 12.926, 2.3387, 5.163, -0.13, 0.046, 0.1177, 0.049}, // <j2>
{-0.916, 12.203, 0.4891, 5.127, 0.529, 2.149, -0.0022, 0.052}, // <j4>
{-0.2394, 7.837, -0.0785, 4.024, 0.2643, 1.378, 0.0012, 0.0414}}; // <j6>
constexpr double j_Pu5[4][8] = {
{0.3888, 16.559, 2.0362, 5.657, -1.4515, 4.255, 0.0267, 0.1287}, // <j0>
{2.1409, 12.832, 2.5664, 5.152, -0.1338, 0.046, 0.121, 0.0491}, // <j2>
{-0.7035, 16.36, -0.0979, 6.706, 0.7726, 2.447, 0, 0.061}, // <j4>
{-0.109, 7.819, -0.2243, 4.1, 0.2947, 1.404, 0.0015, 0.0477}}; // <j6>
constexpr double j_Pu6[4][8] = {
{0.3172, 16.051, 3.4654, 5.351, -2.8102, 4.513, 0.0281, 0.1382}, // <j0>
{1.7262, 12.324, 2.6652, 5.066, -0.1695, 0.041, 0.155, 0.0502}, // <j2>
{-0.556, 16.322, -0.3046, 6.768, 0.8146, 2.426, 0.0001, 0.0596}, // <j4>
{-0.0001, 7.82, -0.3354, 4.144, 0.3097, 1.403, 0.002, 0.0513}}; // <j6>
constexpr double j_Am2[4][8] = {
{0.4743, 21.776, 1.58, 5.69, -1.0779, 4.145, 0.0218, 0.1253}, // <j0>
{3.5237, 15.955, 2.2855, 5.195, -0.0142, 0.585, 0.0033, 0.112}, // <j2>
{-0.7433, 16.416, 0.3481, 6.788, 0.6014, 2.346, 0, 0.0566}, // <j4>
{-0.3176, 7.864, 0.0771, 4.161, 0.2194, 1.339, 0.0018, 0.0374}}; // <j6>
constexpr double j_Am3[4][8] = {
{0.4239, 19.574, 1.4573, 5.872, -0.9052, 3.968, 0.0238, 0.1054}, // <j0>
{2.8622, 14.733, 2.4099, 5.144, -0.1326, 0.031, 0.1233, 0.0727}, // <j2>
{0.8092, 12.854, 0.4161, 5.459, 0.5476, 2.172, -0.0011, 0.053}, // <j4>
{-0.3159, 6.982, 0.0682, 3.995, 0.2141, 1.188, -0.0015, 0.0281}}; // <j6>
constexpr double j_Am4[4][8] = {
{0.3737, 17.862, 1.3521, 6.043, -0.7514, 3.72, 0.0258, 0.1113}, // <j0>
{2.4141, 12.948, 2.3687, 4.945, -0.249, 0.022, 0.2371, 0.0502}, // <j2>
{-0.8548, 12.226, 0.3037, 5.909, 0.6173, 2.188, -0.0016, 0.0456}, // <j4>
{-0.1787, 7.88, -0.1274, 4.09, 0.2565, 1.315, 0.0017, 0.0419}}; // <j6>
constexpr double j_Am5[4][8] = {
{0.2956, 17.372, 1.4525, 6.073, -0.7755, 3.662, 0.0277, 0.1202}, // <j0>
{2.0109, 12.053, 2.4155, 4.836, -0.2264, 0.027, 0.2128, 0.0414}, // <j2>
{-0.6538, 15.462, -0.0948, 5.997, 0.7295, 2.297, 0, 0.0594}, // <j4>
{-0.0927, 6.073, -0.2227, 3.784, 0.2916, 1.372, 0.0026, 0.0485}}; // <j6>
constexpr double j_Am6[4][8] = {
{0.2302, 16.953, 1.4864, 6.116, -0.7457, 3.543, 0.0294, 0.1323}, // <j0>
{1.6778, 11.337, 2.4531, 4.725, -0.2043, 0.034, 0.1892, 0.0387}, // <j2>
{-0.539, 15.449, -0.2689, 6.017, 0.7711, 2.297, 0.0002, 0.0729}, // <j4>
{0.0152, 6.079, -0.3549, 3.861, 0.3125, 1.403, 0.0036, 0.0732}}; // <j6>
constexpr double j_Am7[4][8] = {
{0.3601, 12.73, 1.964, 5.12, -1.356, 3.714, 0.0316, 0.1232}, // <j0>
{1.8845, 9.161, 2.0746, 4.042, -0.1318, 1.723, 0.002, 0.0379}, // <j2>
{-0.4688, 12.019, -0.2692, 7.042, 0.7297, 2.164, -0.0011, 0.0262}, // <j4>
{0.1292, 6.082, -0.4689, 3.879, 0.3234, 1.393, 0.0042, 0.0475}}; // <j6>
/// Values of 5d ions from Kobayashi et al., Acta. Cryst. A67, 473480 (2011)
/// Needs an extra two parameters, and no <j6> (d-electrons, l=2)
/// For some valences, there are multiple possible configurations (e.g. for
/// neutral tungsten we could have: 6s0 5d6, 6s1 5d5 or 6s2 5d4. The one
/// The configuration chosen is that obtained by filling the s-shell first.
constexpr double j_Hf2[3][9] = {
{0.4229, 50.465, 0.7333, 23.865, -0.3798, 4.051, 0.2252, 2.497, -0.0018},
{9.667, 33.435, 5.2429, 13.529, -0.5533, 1.402, 0.4934, 1.254, -0.0033},
{-2.5342, 43.826, 1.8466, 10.393, 0.7761, 4.888, -0.0327, 1.589, 0.0017}};
constexpr double j_Hf3[3][9] = {
{0.3555, 40.954, 0.8483, 21.726, -0.4116, 4.305, 0.2101, 2.349, -0.0023},
{7.5646, 27.367, 5.0743, 12.402, -0.4133, 1.742, 0.3163, 1.437, -0.0012},
{-2.3574, 32.651, 1.8717, 8.476, 0.6367, 3.953, -0.1133, 2.169, 0.0017}};
constexpr double j_Ta2[3][9] = {
{0.3976, 45.095, 0.7746, 21.028, -0.6098, 3.471, 0.4395, 2.57, -0.002},
{8.1746, 29.871, 4.9405, 12.188, -1.1294, 1.254, 1.0658, 1.181, -0.0046},
{-2.1974, 38.294, 1.622, 8.838, 0.6836, 4.212, -0.0539, 1.746, 0.0016}};
constexpr double j_Ta3[3][9] = {
{0.3611, 36.921, 0.8579, 19.195, -0.4945, 3.857, 0.2781, 2.303, -0.0026},
{6.5998, 25.026, 4.7913, 11.303, -0.7801, 1.529, 0.682, 1.382, -0.0019},
{-2.0884, 29.531, 1.7145, 7.385, 1.1809, 2.994, -0.7705, 2.577, 0.0016}};
constexpr double j_Ta4[3][9] = {
{0.3065, 31.817, 0.9611, 17.749, -0.5463, 3.979, 0.2816, 2.232, -0.003},
{5.5048, 21.62, 4.6734, 10.556, -0.2181, 2.1, 0.081, 1.049, -0.0016},
{-2.0226, 24.035, 1.7084, 6.594, 1.1799, 2.775, -0.8384, 2.43, 0.002}};
constexpr double j_W0[3][9] = { // configuration 6s2 5d4
{0.3653, 53.965, 0.7926, 20.078, -0.8142, 3.03, 0.6581, 2.476, -0.0023},
{5.4017, 47.11, 6.9113, 18.76, 7.0586, 6.363, -5.4525, 5.802, 0.004},
{-1.8575, 47.554, 1.3868, 8.437, 0.6537, 3.939, -0.057, 1.722, 0.0015}};
constexpr double j_W1[3][9] = { // configuration 6s1 5d4
{0.3834, 46.233, 0.789, 19.278, -1.465, 2.947, 1.2945, 2.628, -0.0022},
{4.5118, 41.281, 6.7136, 17.964, 7.6331, 6.269, -6.0365, 5.758, 0.0042},
{-1.9122, 39.952, 1.4385, 8.019, 0.6336, 3.725, -0.0819, 1.868, 0.0015}};
constexpr double j_W2[3][9] = {
{0.3876, 40.34, 0.8008, 18.621, -1.3911, 2.995, 1.2048, 2.627, -0.0023},
{7.0301, 26.99, 4.6604, 11.083, -0.822, 1.145, 0.7581, 1.042, -0.0068},
{-1.9355, 33.935, 1.502, 7.541, 0.6453, 3.375, -0.1601, 2.11, 0.0015}};
constexpr double j_W3[3][9] = {
{0.361, 33.519, 0.8717, 17.176, -0.6183, 3.445, 0.3883, 2.276, -0.0028},
{5.8036, 22.969, 4.5243, 10.361, -0.7897, 1.388, 0.6927, 1.248, -0.0031},
{-1.8752, 26.706, 1.544, 6.585, 5.9785, 2.575, -5.6111, 2.516, 0.0018}};
constexpr double j_W4[3][9] = {
{0.3221, 29.047, 0.9574, 15.979, -0.6287, 3.597, 0.3525, 2.174, -0.0033},
{4.9006, 20.117, 4.436, 9.765, -2.0009, 1.497, 1.8714, 1.431, -0.0014},
{-1.8309, 22.142, 1.5605, 5.935, 1.4898, 2.482, -1.193, 2.266, 0.0022}};
constexpr double j_W5[3][9] = {
{0.2725, 25.966, 1.0558, 14.954, -0.699, 3.643, 0.3745, 2.145, -0.0037},
{4.1973, 17.967, 4.3791, 9.255, -1.883, 1.603, 1.7205, 1.518, -0.0004},
{-1.7958, 18.987, 1.5913, 5.419, 2.0498, 2.278, -1.8262, 2.156, 0.0026}};
constexpr double j_Re0[3][9] = { // configuration 6s2 5d5
{0.3548, 47.108, 0.821, 17.769, -9.8674, 2.599, 9.6938, 2.556, -0.0027},
{4.4322, 41.798, 6.2063, 16.844, 9.8763, 5.751, -8.3294, 5.406, 0.0043},
{-1.6402, 40.319, 1.3192, 7.064, 0.8659, 2.901, -0.4299, 2.306, 0.0013}};
constexpr double j_Re1[3][9] = { // configuration 6s1 5d5
{0.3736, 41.151, 0.816, 17.158, -7.0396, 2.642, 6.8523, 2.577, -0.0026},
{3.7875, 37.254, 6.0587, 16.264, 6.9896, 5.786, -5.4457, 5.279, 0.0045},
{-1.6968, 34.939, 1.3535, 6.851, 1.7292, 2.681, -1.3118, 2.445, 0.0014}};
constexpr double j_Re2[3][9] = {
{0.3825, 36.336, 0.8218, 16.636, -8.722, 2.657, 8.5201, 2.601, -0.0026},
{3.0708, 33.896, 5.9941, 15.817, 6.7816, 5.768, -5.2056, 5.231, 0.0047},
{-1.7305, 30.305, 1.3808, 6.606, 1.5787, 2.63, -1.1785, 2.378, 0.0015}};
constexpr double j_Re3[3][9] = {
{0.3585, 30.671, 0.8863, 15.527, -0.8682, 3.047, 0.6263, 2.28, -0.003},
{1.787, 31.248, 5.9068, 15.16, -17.4262, 5.551, 15.6856, 5.339, -0.0053},
{-1.6969, 24.325, 1.4088, 5.901, 1.5067, 2.424, -1.1834, 2.209, 0.0019}};
constexpr double j_Re4[3][9] = {
{0.2974, 27.372, 0.9826, 14.807, -1.8869, 2.84, 1.61, 2.476, -0.0031},
{4.4033, 18.733, 4.1971, 9.047, -2.3106, 1.352, 2.1866, 1.299, -0.0025},
{-1.6679, 20.454, 1.4439, 5.357, 0.8175, 2.321, -0.5685, 1.976, 0.0024}};
constexpr double j_Re5[3][9] = {
{0.3143, 23.522, 1.0276, 13.505, -0.7438, 3.393, 0.4059, 2.03, -0.0041},
{3.8162, 16.843, 4.14, 8.605, -4.0882, 1.443, 3.9333, 1.408, -0.0012},
{-1.6427, 17.722, 1.488, 4.916, 0.5419, 2.189, -0.3694, 1.781, 0.0029}};
constexpr double j_Re6[3][9] = {
{0.2146, 22.496, 1.1616, 13.064, -1.0455, 3.162, 0.6734, 2.196, -0.0041},
{3.3349, 15.341, 4.1015, 8.213, -2.3511, 1.531, 2.1651, 1.459, -0.0003},
{-1.6211, 15.673, 1.5419, 4.548, 1.9205, 1.833, -1.8287, 1.766, 0.0034}};
constexpr double j_Os0[3][9] = { // configuration 6s2 5d6
{0.3467, 41.778, 0.8458, 15.918, -5.637, 2.459, 5.4472, 2.381, -0.0032},
{3.7421, 37.491, 5.6137, 15.256, 10.0488, 5.293, -8.5683, 4.991, 0.0046},
{-1.4734, 34.814, 1.2105, 6.165, 0.9468, 2.534, -0.5773, 2.131, 0.0015}};
constexpr double j_Os1[3][9] = { // configuration 6s1 5d6
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
{0.3666, 36.997, 0.839, 15.425, -2.6944, 2.537, 2.4916, 2.36, -0.0031},
{3.2611, 33.818, 5.4945, 14.808, 5.761, 5.391, -4.2811, 4.827, 0.0048},
{-1.5274, 30.891, 1.2364, 6.044, 1.41, 2.431, -1.048, 2.188, 0.0016}};
constexpr double j_Os2[3][9] = {
{0.3786, 33.005, 0.8412, 14.99, -7.0632, 2.503, 6.8462, 2.433, -0.003},
{2.7289, 30.9, 5.4357, 14.396, 18.6546, 5.151, -17.1708, 4.993, 0.005},
{-1.5637, 27.292, 1.2627, 5.88, 1.3526, 2.393, -1.0026, 2.146, 0.0017}};
constexpr double j_Os3[3][9] = {
{0.3557, 28.222, 0.9002, 14.14, -2.5972, 2.601, 2.3444, 2.376, -0.0032},
{4.5913, 19.692, 4.0615, 8.862, -0.995, 1.086, 0.9081, 0.986, -0.0077},
{-1.5453, 22.3, 1.3058, 5.301, 0.7208, 2.294, -0.448, 1.881, 0.0022}};
constexpr double j_Os4[3][9] = {
{0.3337, 24.723, 0.9655, 13.288, -0.9653, 2.906, 0.6698, 2.117, -0.0037},
{3.9724, 17.514, 3.9817, 8.421, -0.7719, 1.264, 0.6552, 1.107, -0.0042},
{-1.5267, 18.972, 1.3619, 4.834, 3.0121, 1.938, -2.824, 1.877, 0.0027}};
constexpr double j_Os5[3][9] = {
{0.3055, 22.152, 1.0395, 12.529, -0.9158, 3.016, 0.575, 2.032, -0.0042},
{3.4764, 15.826, 3.9241, 8.032, -0.6854, 1.397, 0.5394, 1.184, -0.0024},
{-1.5094, 16.573, 1.4158, 4.458, 0.8448, 1.797, -0.7349, 1.638, 0.0033}};
constexpr double j_Os6[3][9] = {
{0.2714, 20.218, 1.1211, 11.851, -0.9773, 3.05, 0.5894, 2.005, -0.0046},
{3.0642, 14.479, 3.8847, 7.686, -4.7235, 1.384, 4.5485, 1.352, -0.0012},
{-1.4938, 14.751, 1.4678, 4.149, 0.8091, 1.535, -0.772, 1.442, 0.0041}};
constexpr double j_Os7[3][9] = {
{0.2101, 19.108, 1.224, 11.347, -1.2543, 2.933, 0.825, 2.088, -0.0048},
{2.7164, 13.366, 3.8554, 7.37, -5.0211, 1.439, 4.8166, 1.405, -0.0004},
{-0.0341, 37.994, -1.468, 13.159, 1.5216, 3.898, -0.0308, 0.55, 0.0083}};
constexpr double j_Ir0[3][9] = { // configuration 6s2 5d7
{0.34, 37.499, 0.8675, 14.402, -2.3703, 2.37, 2.1661, 2.177, -0.0037},
{3.2263, 33.922, 5.1086, 13.921, 6.5993, 4.978, -5.1841, 4.549, 0.0048},
{-1.3382, 30.628, 1.1376, 5.42, 1.4261, 2.16, -1.1282, 1.974, 0.0019}};
constexpr double j_Ir1[3][9] = { // configuration 6s1 5d7
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
{0.3604, 33.57, 0.8597, 13.993, -2.1686, 2.412, 1.9518, 2.188, -0.0036},
{2.8732, 30.809, 5.0094, 13.522, 6.8656, 4.933, -5.4669, 4.526, 0.005},
{-1.3875, 27.66, 1.1508, 5.362, 0.6586, 2.302, -0.3554, 1.81, 0.002}};
constexpr double j_Ir2[3][9] = {
{0.3802, 30.032, 0.855, 13.567, -1.6185, 2.488, 1.3866, 2.162, -0.0035},
{2.4419, 28.356, 4.947, 13.222, 4.7478, 5.029, -3.3259, 4.393, 0.0052},
{-1.4233, 24.796, 1.1799, 5.246, 3.2548, 2.072, -2.9649, 1.997, 0.002}};
constexpr double j_Ir3[3][9] = {
{0.3678, 25.828, 0.9065, 12.788, -0.8587, 2.745, 0.5883, 1.96, -0.004},
{1.5883, 25.969, 4.8472, 12.711, 5.6507, 4.949, -4.119, 4.388, 0.0056},
{-1.4149, 20.563, 1.2388, 4.761, 1.178, 1.928, -0.9708, 1.761, 0.0026}};
constexpr double j_Ir4[3][9] = {
{0.3969, 22.05, 0.931, 11.768, -0.709, 3.017, 0.3857, 1.778, -0.0047},
{3.5964, 16.439, 3.7872, 7.873, -1.2303, 1.092, 1.1232, 1.003, -0.0068},
{-1.4039, 17.664, 1.2993, 4.371, 3.5599, 1.661, -3.434, 1.625, 0.0033}};
constexpr double j_Ir5[3][9] = {
{0.3059, 20.759, 1.0432, 11.622, -1.3457, 2.655, 1.0008, 2.066, -0.0043},
{3.171, 14.923, 3.732, 7.529, -1.54, 1.2, 1.4048, 1.119, -0.004},
{-1.3927, 15.539, 1.3536, 4.057, 0.2946, 1.554, -0.2412, 1.266, 0.0043}};
constexpr double j_Ir6[3][9] = {
{0.2854, 18.867, 1.1123, 10.982, -1.1403, 2.782, 0.7475, 1.959, -0.0049},
{2.8163, 13.697, 3.6906, 7.219, -5.2957, 1.254, 5.1328, 1.228, -0.0024},
{-0.0364, 41.929, -1.3662, 13.771, 1.413, 3.784, -0.0384, 0.19, 0.0241}};
constexpr double j_Pt1[3][9] = {
{0.3664, 33.503, 0.8449, 13.303, -2.6192, 2.227, 2.4116, 2.059, -0.0041},
{3.0783, 30.198, 4.7065, 12.857, 5.727, 4.65, -4.4425, 4.222, 0.0048},
{-1.2955, 28.407, 1.0534, 5.206, 1.2452, 2.096, -0.9336, 1.881, 0.0018}};
constexpr double j_Pt2[3][9] = {
{0.3701, 27.799, 0.8761, 12.48, -3.2959, 2.258, 3.0535, 2.106, -0.004},
{2.2407, 26.003, 4.53, 12.118, 6.7189, 4.557, -5.3954, 4.187, 0.0053},
{-1.3038, 22.692, 1.1238, 4.691, 3.2444, 1.814, -3.0209, 1.757, 0.0025}};
constexpr double j_Pt3[3][9] = {
{0.3606, 24.052, 0.9205, 11.833, -4.0612, 2.271, 3.7841, 2.133, -0.0041},
{1.5391, 23.689, 4.4263, 11.645, 8.5673, 4.482, -7.1591, 4.181, 0.0057},
{-1.3019, 19.052, 1.1904, 4.286, 3.3886, 1.592, -3.2484, 1.554, 0.0034}};
constexpr double j_Pt4[3][9] = {
{0.3429, 21.358, 0.9753, 11.261, -2.2859, 2.357, 1.9719, 2.074, -0.0043},
{0.9477, 22.775, 4.3337, 11.319, 7.2374, 4.5, -5.7086, 4.106, 0.0062},
{-1.2964, 16.503, 1.2497, 3.964, 1.7648, 1.35, -1.6992, 1.305, 0.0046}};
constexpr double j_Pt5[3][9] = {
{0.3649, 18.762, 1.0102, 10.456, -0.8785, 2.765, 0.5087, 1.737, -0.0053},
{0.5132, 23.124, 4.1835, 11.009, 7.4312, 4.478, -5.7759, 4.065, 0.0066},
{-1.2902, 14.6, 1.2945, 3.709, 0.519, 1.033, -0.5122, 0.963, 0.0067}};
constexpr double j_Pt6[3][9] = {
{0.2877, 17.78, 1.1111, 10.263, -1.9416, 2.432, 1.5477, 2.015, -0.0049},
{2.5907, 12.991, 3.5155, 6.801, -0.7511, 1.206, 0.6014, 1.022, -0.0043},
{-0.0482, 33.01, -1.2661, 12.839, 1.3254, 3.545, -0.0455, 0.144, 0.0315}};
constexpr double j_Au1[3][9] = {
{0.3475, 28.294, 0.8964, 11.794, -4.5383, 2.086, 4.2988, 1.983, -0.0047},
{2.3189, 25.954, 4.2267, 11.444, 9.0997, 4.215, -7.8523, 3.981, 0.0052},
{-1.1686, 22.808, 1.0729, 4.243, 0.9462, 1.573, -0.7943, 1.428, 0.0036}};
constexpr double j_Au2[3][9] = {
{0.3664, 25.714, 0.8919, 11.488, -1.7302, 2.207, 1.4763, 1.908, -0.0046},
{2.0676, 23.96, 4.1678, 11.164, 13.3827, 4.151, -12.1447, 3.996, 0.0054},
{-1.2005, 20.888, 1.0879, 4.203, 0.8896, 1.584, -0.7371, 1.428, 0.0036}};
constexpr double j_Au3[3][9] = {
{0.3639, 22.33, 0.9313, 10.883, -1.1359, 2.355, 0.8455, 1.809, -0.0048},
{1.4776, 21.784, 4.0585, 10.746, 5.9059, 4.242, -4.5905, 3.842, 0.0058},
{-1.2033, 17.722, 1.1507, 3.874, 0.2426, 1.455, -0.1649, 1.049, 0.0053}};
constexpr double j_Au4[3][9] = {
{0.3472, 19.944, 0.9807, 10.424, -3.8228, 2.169, 3.4995, 2.009, -0.0047},
{2.9775, 14.632, 3.4472, 6.956, -1.9784, 0.794, 1.898, 0.745, -0.0182},
{-1.2021, 15.459, 1.2003, 3.615, 0.6189, 0.952, -0.6028, 0.886, 0.0081}};
constexpr double j_Au5[3][9] = {
{0.3292, 18.073, 1.0376, 9.957, -2.2028, 2.257, 1.841, 1.938, -0.005},
{0.5763, 20.517, 3.8572, 10.171, 6.0222, 4.213, -4.502, 3.76, 0.0067},
{-1.2007, 13.734, 1.2262, 3.424, 0.5164, 0.401, -0.5461, 0.379, 0.0216}};
using IonIndex = std::unordered_map<std::string, MagneticIon>;
/// Forward decalre intializer
void createIonLookup(IonIndex &ion_map);
/// Returns a reference to the static lookup map
const IonIndex &ionMap() {
static IonIndex ionMap;
if (ionMap.empty()) {
createIonLookup(ionMap);
}
return ionMap;
}
/**
* Creates the lookup table
* @param ion_map A reference to the static lookup
*/
void createIonLookup(IonIndex &ion_map) {
static const MagneticIon Sc0("Sc", static_cast<uint16_t>(0), j_Sc0[0],
j_Sc0[1], j_Sc0[2], j_Sc0[3], 2.);
static const MagneticIon Sc1("Sc", static_cast<uint16_t>(1), j_Sc1[0],
j_Sc1[1], j_Sc1[2], j_Sc1[3], 2.);
static const MagneticIon Sc2("Sc", static_cast<uint16_t>(2), j_Sc2[0],
j_Sc2[1], j_Sc2[2], j_Sc2[3], 2.);
static const MagneticIon Ti0("Ti", static_cast<uint16_t>(0), j_Ti0[0],
j_Ti0[1], j_Ti0[2], j_Ti0[3], 2.);
static const MagneticIon Ti1("Ti", static_cast<uint16_t>(1), j_Ti1[0],
j_Ti1[1], j_Ti1[2], j_Ti1[3], 2.);
static const MagneticIon Ti2("Ti", static_cast<uint16_t>(2), j_Ti2[0],
j_Ti2[1], j_Ti2[2], j_Ti2[3], 2.);
static const MagneticIon Ti3("Ti", static_cast<uint16_t>(3), j_Ti3[0],
j_Ti3[1], j_Ti3[2], j_Ti3[3], 2.);
static const MagneticIon V0("V", static_cast<uint16_t>(0), j_V0[0], j_V0[1],
j_V0[2], j_V0[3], 2.);
static const MagneticIon V1("V", static_cast<uint16_t>(1), j_V1[0], j_V1[1],
j_V1[2], j_V1[3], 2.);
static const MagneticIon V2("V", static_cast<uint16_t>(2), j_V2[0], j_V2[1],
j_V2[2], j_V2[3], 2.);
static const MagneticIon V3("V", static_cast<uint16_t>(3), j_V3[0], j_V3[1],
j_V3[2], j_V3[3], 2.);
static const MagneticIon V4("V", static_cast<uint16_t>(4), j_V4[0], j_V4[1],
j_V4[2], j_V4[3], 2.);
static const MagneticIon Cr0("Cr", static_cast<uint16_t>(0), j_Cr0[0],
j_Cr0[1], j_Cr0[2], j_Cr0[3], 2.);
static const MagneticIon Cr1("Cr", static_cast<uint16_t>(1), j_Cr1[0],
j_Cr1[1], j_Cr1[2], j_Cr1[3], 2.);
static const MagneticIon Cr2("Cr", static_cast<uint16_t>(2), j_Cr2[0],
j_Cr2[1], j_Cr2[2], j_Cr2[3], 2.);
static const MagneticIon Cr3("Cr", static_cast<uint16_t>(3), j_Cr3[0],
j_Cr3[1], j_Cr3[2], j_Cr3[3], 2.);
static const MagneticIon Cr4("Cr", static_cast<uint16_t>(4), j_Cr4[0],
j_Cr4[1], j_Cr4[2], j_Cr4[3], 2.);
static const MagneticIon Mn0("Mn", static_cast<uint16_t>(0), j_Mn0[0],
j_Mn0[1], j_Mn0[2], j_Mn0[3], 2.);
static const MagneticIon Mn1("Mn", static_cast<uint16_t>(1), j_Mn1[0],
j_Mn1[1], j_Mn1[2], j_Mn1[3], 2.);
static const MagneticIon Mn2("Mn", static_cast<uint16_t>(2), j_Mn2[0],
j_Mn2[1], j_Mn2[2], j_Mn2[3], 2.);
static const MagneticIon Mn3("Mn", static_cast<uint16_t>(3), j_Mn3[0],
j_Mn3[1], j_Mn3[2], j_Mn3[3], 2.);
static const MagneticIon Mn4("Mn", static_cast<uint16_t>(4), j_Mn4[0],
j_Mn4[1], j_Mn4[2], j_Mn4[3], 2.);
static const MagneticIon Fe0("Fe", static_cast<uint16_t>(0), j_Fe0[0],
j_Fe0[1], j_Fe0[2], j_Fe0[3], 2.);
static const MagneticIon Fe1("Fe", static_cast<uint16_t>(1), j_Fe1[0],
j_Fe1[1], j_Fe1[2], j_Fe1[3], 2.);
static const MagneticIon Fe2("Fe", static_cast<uint16_t>(2), j_Fe2[0],
j_Fe2[1], j_Fe2[2], j_Fe2[3], 2.);
static const MagneticIon Fe3("Fe", static_cast<uint16_t>(3), j_Fe3[0],
j_Fe3[1], j_Fe3[2], j_Fe3[3], 2.);
static const MagneticIon Fe4("Fe", static_cast<uint16_t>(4), j_Fe4[0],
j_Fe4[1], j_Fe4[2], j_Fe4[3], 2.);
static const MagneticIon Co0("Co", static_cast<uint16_t>(0), j_Co0[0],
j_Co0[1], j_Co0[2], j_Co0[3], 2.);
static const MagneticIon Co1("Co", static_cast<uint16_t>(1), j_Co1[0],
j_Co1[1], j_Co1[2], j_Co1[3], 2.);
static const MagneticIon Co2("Co", static_cast<uint16_t>(2), j_Co2[0],
j_Co2[1], j_Co2[2], j_Co2[3], 2.);
static const MagneticIon Co3("Co", static_cast<uint16_t>(3), j_Co3[0],
j_Co3[1], j_Co3[2], j_Co3[3], 2.);
static const MagneticIon Co4("Co", static_cast<uint16_t>(4), j_Co4[0],
j_Co4[1], j_Co4[2], j_Co4[3], 2.);
static const MagneticIon Ni0("Ni", static_cast<uint16_t>(0), j_Ni0[0],
j_Ni0[1], j_Ni0[2], j_Ni0[3], 2.);
static const MagneticIon Ni1("Ni", static_cast<uint16_t>(1), j_Ni1[0],
j_Ni1[1], j_Ni1[2], j_Ni1[3], 2.);
static const MagneticIon Ni2("Ni", static_cast<uint16_t>(2), j_Ni2[0],
j_Ni2[1], j_Ni2[2], j_Ni2[3], 2.);
static const MagneticIon Ni3("Ni", static_cast<uint16_t>(3), j_Ni3[0],
j_Ni3[1], j_Ni3[2], j_Ni3[3], 2.);
static const MagneticIon Ni4("Ni", static_cast<uint16_t>(4), j_Ni4[0],
j_Ni4[1], j_Ni4[2], j_Ni4[3], 2.);
static const MagneticIon Cu0("Cu", static_cast<uint16_t>(0), j_Cu0[0],
j_Cu0[1], j_Cu0[2], j_Cu0[3], 2.);
static const MagneticIon Cu1("Cu", static_cast<uint16_t>(1), j_Cu1[0],
j_Cu1[1], j_Cu1[2], j_Cu1[3], 2.);
static const MagneticIon Cu2("Cu", static_cast<uint16_t>(2), j_Cu2[0],
j_Cu2[1], j_Cu2[2], j_Cu2[3], 2.);
static const MagneticIon Cu3("Cu", static_cast<uint16_t>(3), j_Cu3[0],
j_Cu3[1], j_Cu3[2], j_Cu3[3], 2.);
static const MagneticIon Cu4("Cu", static_cast<uint16_t>(4), j_Cu4[0],
j_Cu4[1], j_Cu4[2], j_Cu4[3], 2.);
static const MagneticIon Y0("Y", static_cast<uint16_t>(0), j_Y0[0], j_Y0[1],
j_Y0[2], j_Y0[3], 2.);
static const MagneticIon Zr0("Zr", static_cast<uint16_t>(0), j_Zr0[0],
j_Zr0[1], j_Zr0[2], j_Zr0[3], 2.);
static const MagneticIon Zr1("Zr", static_cast<uint16_t>(1), j_Zr1[0],
j_Zr1[1], j_Zr1[2], j_Zr1[3], 2.);
static const MagneticIon Nb0("Nb", static_cast<uint16_t>(0), j_Nb0[0],
j_Nb0[1], j_Nb0[2], j_Nb0[3], 2.);
static const MagneticIon Nb1("Nb", static_cast<uint16_t>(1), j_Nb1[0],
j_Nb1[1], j_Nb1[2], j_Nb1[3], 2.);
static const MagneticIon Mo0("Mo", static_cast<uint16_t>(0), j_Mo0[0],
j_Mo0[1], j_Mo0[2], j_Mo0[3], 2.);
static const MagneticIon Mo1("Mo", static_cast<uint16_t>(1), j_Mo1[0],
j_Mo1[1], j_Mo1[2], j_Mo1[3], 2.);
static const MagneticIon Tc0("Tc", static_cast<uint16_t>(0), j_Tc0[0],
j_Tc0[1], j_Tc0[2], j_Tc0[3], 2.);
static const MagneticIon Tc1("Tc", static_cast<uint16_t>(1), j_Tc1[0],
j_Tc1[1], j_Tc1[2], j_Tc1[3], 2.);
static const MagneticIon Ru0("Ru", static_cast<uint16_t>(0), j_Ru0[0],
j_Ru0[1], j_Ru0[2], j_Ru0[3], 2.);
static const MagneticIon Ru1("Ru", static_cast<uint16_t>(1), j_Ru1[0],
j_Ru1[1], j_Ru1[2], j_Ru1[3], 2.);
static const MagneticIon Rh0("Rh", static_cast<uint16_t>(0), j_Rh0[0],
j_Rh0[1], j_Rh0[2], j_Rh0[3], 2.);
static const MagneticIon Rh1("Rh", static_cast<uint16_t>(1), j_Rh1[0],
j_Rh1[1], j_Rh1[2], j_Rh1[3], 2.);