1 package org.djunits.value.vdouble.scalar.base; 2 3 import org.djunits.unit.DimensionlessUnit; 4 import org.djunits.unit.ElectricalChargeUnit; 5 import org.djunits.value.vdouble.scalar.Dimensionless; 6 import org.djunits.value.vdouble.scalar.ElectricalCharge; 7 import org.djunits.value.vdouble.scalar.Frequency; 8 import org.djunits.value.vdouble.scalar.Mass; 9 import org.djunits.value.vdouble.scalar.SIScalar; 10 import org.djunits.value.vdouble.scalar.Speed; 11 12 /** 13 * <p> 14 * Various physical constants. For many, see 15 * <a href="https://en.wikipedia.org/wiki/2019_redefinition_of_the_SI_base_units">Wikipedia 2019 redefinition of the SI base 16 * units</a> 17 * </p> 18 * @author <a href="https://www.tudelft.nl/staff/p.knoppers">Peter Knoppers</a> 19 */ 20 public final class Constants 21 { 22 /** Utility class. */ 23 private Constants() 24 { 25 // utility class 26 } 27 28 /** 29 * Number of constituent particles in a Mole; a.k.a. Avogadro's number. This value is exact since the 2019 redefinition of 30 * the SI base units. 31 */ 32 public static final SIScalar AVOGADRO = SIScalar.of(6.02214076e23, "1/mol"); 33 34 /** 35 * Boltzmann constant in Joule per Kelvin (this value is exact since the 2019 redefinition of SI base units). See 36 * <a href="https://en.wikipedia.org/wiki/Boltzmann_constant">Wikipedia: Boltzmann constant</a> 37 */ 38 public static final SIScalar BOLTZMANN = SIScalar.of(1.380649e-23, "kgm2/s2K"); 39 40 /** 41 * The Cesium 133 ground state hyperfine structure transition frequency. This value is exact since the 2006 redefinition of 42 * the SI base units. 43 */ 44 public static final Frequency CESIUM133_FREQUENCY = Frequency.of(9192631770d, "1/s"); 45 46 /** Electrical charge of one electron. This value is exact since the 2019 redefinition of the SI base units. */ 47 public static final ElectricalChargecalCharge.html#ElectricalCharge">ElectricalCharge ELECTRONCHARGE = new ElectricalCharge(-1, ElectricalChargeUnit.ATOMIC_UNIT); 48 49 /** 50 * Mass of an electron. See <a href="https://en.wikipedia.org/wiki/Physical_constant">Wikipedia Physical constant</a>. This 51 * value of this physical constant has an uncertainty of 2.8e-40 kg. 52 */ 53 public static final Mass ELECTRONMASS = Mass.of(9.1093837015e-31, "kg"); 54 55 /** ElectricalCharge of one proton. */ 56 public static final ElectricalChargericalCharge.html#ElectricalCharge">ElectricalCharge PROTONCHARGE = new ElectricalCharge(1, ElectricalChargeUnit.ATOMIC_UNIT); 57 58 /** 59 * Mass of a neutron. See <a href="https://en.wikipedia.org/wiki/List_of_physical_constants">Wikipedia List of physical 60 * constants</a>. This value of this physical constant has an uncertainty of 9.5e-37 kg. 61 */ 62 public static final Mass NEUTRONMASS = Mass.of(1.6749274714e-27, "kg"); 63 64 /** 65 * Mass of a proton. See <a href="https://en.wikipedia.org/wiki/Physical_constant">Wikipedia Physical constant</a>. This 66 * value of this physical constant has an uncertainty of 5.1e-37. 67 */ 68 public static final Mass PROTONMASS = Mass.of(1.67262192369e-27, "kg"); 69 70 /** 71 * Gravitational constant, a.k.a. Newtonian constant of gravitation. This is the 2018 best known approximation, which has an 72 * uncertainty 1.5e-15 m^3/kgs^2 73 */ 74 public static final SIScalar G = SIScalar.of(6.67430e-11, "m3/kgs2"); 75 76 /** Speed of light in vacuum. This value is exact (since the 2006 redefinition of the SI base units). */ 77 public static final Speed LIGHTSPEED = Speed.of(299792458, "m/s"); 78 79 /** 80 * Permeability of vacuum. See <a href="https://en.wikipedia.org/wiki/Vacuum_permeability">Wikipedia, Vacuum 81 * permeability</a>. The uncertainty of this value is 1.9e-16N/A^2. 82 */ 83 public static final SIScalar VACUUMPERMEABILITY = SIScalar.of(1.25663706212e-6, "kgm/s2A2"); 84 85 /** 86 * Permittivity of vacuum. See <a href="https://en.wikipedia.org/wiki/Vacuum_permittivity">Wikipedia Vacuum 87 * permittivity</a>. The uncertainty of this value is 1.3e-21 F/m. 88 */ 89 public static final SIScalar VACUUMPERMITTIVITY = SIScalar.of(8.8541878128e-12, "s4A2/kgm3"); 90 91 /** Impedance of vacuum. */ 92 public static final SIScalar VACUUMIMPEDANCE = VACUUMPERMEABILITY.times(LIGHTSPEED); 93 94 /** 95 * Planck constant; ratio of a photon's energy and its frequency. This value is exact since the 2019 redefinition of the SI 96 * base units. 97 */ 98 public static final SIScalar PLANCK = SIScalar.of(6.62607015e-34, "kgm2/s"); 99 100 /** 101 * The luminous efficacy Kcd of monochromatic radiation of frequency 540×10^12 Hz (540 THz). This is the frequency of a 102 * green-colored light at approximately the peak sensitivity of the human eye. This value is exact since the 2006 103 * redefinition of the SI base units. 104 */ 105 public static final SIScalar LUMINOUS_EFFICACY_540THZ = SIScalar.of(683d, "cdsrs3/kg"); 106 107 /** Ratio of circumference of circle and its radius. */ 108 public static final Dimensionlessscalar/Dimensionless.html#Dimensionless">Dimensionless TAU = new Dimensionless(Math.PI * 2, DimensionlessUnit.SI); 109 110 /** Reduced Planck constant, a.k.a. angular Planck constant; Planck constant divided by 2 pi. */ 111 public static final SIScalar PLANKREDUCED = PLANCK.divide(TAU); 112 113 }