File Constants.h

This header file defines constants commonly used in computational chemistry.

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details. Source:

http://physics.nist.gov/cuu/Constants/Table/allascii.txt, 03.11.2015.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils

Typedefs

using Bohr = StrongType<double, struct BohrType>
using Angstrom = StrongType<double, struct AngstromType>
using Hartree = StrongType<double, struct HartreeType>
using kJPerMol = StrongType<double, struct kJPerMolType>
using kCalPerMol = StrongType<double, struct kCalPerMolType>
using eV = StrongType<double, struct eVType>

Functions

constexpr double toAngstrom(Bohr b)

Conversion from Bohr to Angstrom.

Return

constexpr double Returns the length in Angstrom.

Parameters
  • b: Length in/as Bohr.

constexpr double toBohr(Angstrom a)

Conversion from Angstrom to Bohr.

Return

constexpr double Returns the length in Bohr.

Parameters
  • a: Length in/as Angstrom.

constexpr double toKJPerMol(Hartree h)

Conversion from Hartree to kJ/mol.

Return

constexpr double Returns the energy in kJ/mol.

Parameters
  • h: Energy in/as Hartree.

constexpr double toHartree(kJPerMol kjpm)

Conversion from kJ/mol to Hartree.

Return

constexpr double Returns the energy in Hartree.

Parameters
  • kjpm: Energy in/as kJ/mol.

constexpr double toKCalPerMol(Hartree h)

Conversion from Hartree to kcal/mol.

Return

constexpr double Returns the energy in kcal/mol.

Parameters
  • h: Energy in/as Hartree.

constexpr double toHartree(kCalPerMol kcpm)

Conversion from kcal/mol to Hartree.

Return

constexpr double Returns the energy in Hartree.

Parameters
  • kcpm: Energy in/as kcal/mol.

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