1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! Physical constants (CODATA 2018 / SI-2019 exact where applicable).
//!
//! Reference: SI Brochure, 9th edition (2019) for the exact defining
//! constants; CODATA 2018 recommended values,
//! <https://physics.nist.gov/cuu/Constants/>.
//!
//! # Examples
//!
//! ```
//! use molrs::units::constants::GAS_CONSTANT;
//!
//! // R = N_A · k_B = 8.314 462 618... J/(mol·K), exact under SI-2019.
//! assert!((GAS_CONSTANT - 8.314_462_618_153_24).abs() < 1e-12);
//! ```
use crateF;
/// Avogadro constant `N_A` (exact, SI-2019), in mol⁻¹.
pub const AVOGADRO: F = 6.022_140_76e23;
/// Boltzmann constant `k_B` (exact, SI-2019), in J/K.
pub const BOLTZMANN: F = 1.380_649e-23;
/// Molar gas constant `R = N_A · k_B` (exact, SI-2019), in J/(mol·K).
pub const GAS_CONSTANT: F = AVOGADRO * BOLTZMANN;
/// Elementary charge `e` (exact, SI-2019), in coulombs.
pub const ELEMENTARY_CHARGE: F = 1.602_176_634e-19;
/// Coulomb constant `k_e = 1/(4π·ε₀)` in MD "real" units
/// (kcal·Å·mol⁻¹·e⁻²), CODATA-derived. This is the value used by the generic
/// Coulomb pair potential and the dielectric/conductivity analyses. The MMFF
/// force field rounds it slightly differently — that variant lives in
/// `molrs-ff` as `COULOMB_MMFF`.
pub const COULOMB_REAL: F = 332.063_71;
/// Boltzmann constant in MD "real" units, kcal·mol⁻¹·K⁻¹.
pub const BOLTZMANN_REAL: F = 1.987_204_258_640_83e-3;
/// 1 ångström expressed in metres (SI length-unit conversion factor).
pub const ANGSTROM_M: F = 1e-10;
/// 1 picosecond expressed in seconds (SI time-unit conversion factor).
pub const PICOSECOND_S: F = 1e-12;