Class part_calibrate_class (o2scl)

O2scl_part : Class List

class o2scl::part_calibrate_class

Object to organize calibration of particle classes to results stored in a table.

Subclassed by o2scl::part_deriv_calibrate_class

Public Functions

template<class part_t>
void set_mass_flags(part_t &p, double mot, double T, size_t k)

Set mass and flags from mot, T, and the index k.

template<class part_t>
void set_chem_pot(part_t &p, double psi, double T, size_t k, bool nr_mode)

Set chemical potential from psi, T, the index k, and the flag nr_mode.

template<class part1_t, class part2_t, class part3_t>
void check_density(part1_t &p, part2_t &exact, part3_t &bad, size_t k, double T, double mot, double psi, double &mu_bad, double &m_bad, double &T_bad, double &mot_bad, double &psi_bad, double &ret_local)

Check the density against the exact result and update.

template<class part1_t, class part2_t, class part3_t>
void check_chem_pot(part1_t &p, part2_t &exact, part3_t &bad, size_t k, double T, double mot, double psi, double &mu_bad, double &m_bad, double &T_bad, double &mot_bad, double &psi_bad, double &ret_local)

Check the chemical potential against the exact result and update.

template<class part1_t, class part2_t, class part3_t>
void check_eps(part1_t &p, part2_t &exact, part3_t &bad, size_t k, double T, double mot, double psi, double &mu_bad, double &m_bad, double &T_bad, double &mot_bad, double &psi_bad, double &ret_local)

Check the energy density, pressure, and entropy against the exact result and update.

template<class part1_t, class part2_t, class part3_t>
void check_derivs(part1_t &p, part2_t &exact, part3_t &bad, size_t k, double T, double mot, double psi, double &mu_bad, double &m_bad, double &T_bad, double &mot_bad, double &psi_bad, double &ret_local)

Check the three derivatives against the exact result and update.

template<class part_t, class thermo_t>
double part_calibrate(part_t &p, thermo_t &th, bool test_pair, std::string file, bool nr_mode = false, int verbose = 0, bool external = false)

Calibrate a particle thermodynamics class with results stored in a table.

This compares the approximation to the exact results using calc_density(), calc_mu(), pair_density() and pair_mu(). It tries each function twelve times. It tries three different temperatures, setting both inc_rest_mass and non_interacting equal to true and false.

The verbose parameter controls the amount of output.

Idea for Future:

Also calibrate massless fermions?