Namespace Scine::Utils::ConstantsΒΆ

namespace Constants

A namespace for all constant (hardcoded) data.

This namespace does not include fitted parameters for specific methods, only general constant parameters, such as natural constants and atomic data.

Variables

constexpr double elementaryCharge = 1.6021766208e-19
constexpr double avogadroNumber = 6.022140857e23
constexpr double bohrRadius = 0.52917721067e-10
constexpr double pi = 3.14159265358979323846
constexpr double rad_per_degree = pi / 180
constexpr double degree_per_rad = 180 / pi
constexpr double meter_per_bohr = bohrRadius
constexpr double bohr_per_meter = 1 / meter_per_bohr
constexpr double angstrom_per_meter = 1e10
constexpr double meter_per_angstrom = 1 / angstrom_per_meter
constexpr double angstrom_per_bohr = angstrom_per_meter * meter_per_bohr
constexpr double bohr_per_angstrom = 1. / angstrom_per_bohr
constexpr double hartree_per_ev = 3.674932248e-2
constexpr double ev_per_hartree = 1 / hartree_per_ev
constexpr double joule_per_hartree = 4.359744650e-18
constexpr double hartree_per_joule = 1 / joule_per_hartree
constexpr double joule_per_calorie = 4.184
constexpr double calorie_per_joule = 1 / joule_per_calorie
constexpr double kJPerMol_per_hartree = joule_per_hartree / 1000 * avogadroNumber
constexpr double hartree_per_kJPerMol = 1 / kJPerMol_per_hartree
constexpr double kCalPerMol_per_hartree = joule_per_hartree * calorie_per_joule / 1000 * avogadroNumber
constexpr double hartree_per_kCalPerMol = 1 / kCalPerMol_per_hartree
class ElementDataSingleton
#include <ElementData.h>

Provides a mapping of ElementType to ElementData and accessing Elements by a symbol string.

This class is a singleton to avoid multiple instances of the same hardcoded data in memory.

Features:

  • Fast lookup for subscript operator [ElementType]. Throws std::out_of_range.

  • Slow lookup for subscript operator [std::string]. Throws ElementData::DataNotAvailable.