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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
# The following definitions are all given in SI and are excerpted from the
# kim_units.cpp file created by Prof. Ellad B. Tadmor (UMinn) distributed with
# LAMMPS. Note that these values do not correspond to any official CODATA set
# already released, but rather to the values used internally by LAMMPS.
#
# Source: https://physics.nist.gov/cuu/Constants/Table/allascii.txt
from numpy import sqrt
# Constants
boltz_si = 1.38064852e-23 # [J K^-1] Boltzmann's factor (NIST value)
Nav = mole_si = 6.022140857e23 # [unitless] Avogadro's number
me_si = 9.10938356e-31 # [kg] electron rest mass
e_si = 1.6021766208e-19 # [C] elementary charge
# Distance units
meter_si = 1.0
bohr_si = (
5.2917721067e-11
) # [m] Bohr unit (distance between nucleus and electron in H)
angstrom_si = 1e-10 # [m] Angstrom
centimeter_si = 1e-2 # [m] centimeter
micrometer_si = 1e-6 # [m] micrometer (micron)
nanometer_si = 1e-9 # [m] nanometer
# Mass units
kilogram_si = 1.0
amu_si = gram_per_mole_si = 1e-3 / Nav # [kg] gram per mole i.e. amu
gram_si = 1e-3 # [kg] gram
picogram_si = 1e-15 # [kg] picogram
attogram_si = 1e-21 # [kg[ attogram
# Time units
second_si = 1.0
atu_si = 2.418884326509e-17 # [s] atomic time unit
# ( = hbar/E_h where E_h is the Hartree energy) (NIST value)
atu_electron_si = atu_si * sqrt(
amu_si / me_si
) # [s] atomic time unit used in electron system
microsecond_si = 1e-6 # [s] microsecond
nanosecond_si = 1e-9 # [s] nanosecond
picosecond_si = 1e-12 # [s] picosecond
femtosecond_si = 1e-15 # [s] femtosecond
# Density units
gram_per_centimetercu_si = (
gram_si / centimeter_si ** 3
) # [kg/m^3] gram/centimeter^3
amu_per_bohrcu_si = amu_si / bohr_si ** 3 # [kg/m^3] amu/bohr^3
picogram_per_micrometercu_si = (
picogram_si / micrometer_si ** 3
) # [kg/m^3] picogram/micrometer^3
attogram_per_nanometercu_si = (
attogram_si / nanometer_si ** 3
) # [kg/m^3] attogram/nanometer^3
# Energy/torque units
joule_si = 1.0
kcal_si = (
4184.0
) # [J] kilocalorie (heat energy involved in warming up one kilogram of
# water by one degree Kelvin)
ev_si = (
1.6021766208e-19
) # [J] electron volt (amount of energy gained or lost by the
# charge of a single electron moving across an electric
# potential difference of one volt.) (NIST value)
hartree_si = (
4.359744650e-18
) # [J] Hartree (approximately the electric potential energy
# of the hydrogen atom in its ground state) (NIST value)
kcal_per_mole_si = kcal_si / Nav # [J] kcal/mole
erg_si = 1e-7 # [J] erg
dyne_centimeter_si = 1e-7 # [J[ dyne*centimeter
picogram_micrometersq_per_microsecondsq_si = (
picogram_si * micrometer_si ** 2 / microsecond_si ** 2
) # [J] picogram*micrometer^2/microsecond^2
attogram_nanometersq_per_nanosecondsq_si = (
attogram_si * nanometer_si ** 2 / nanosecond_si ** 2
) # [J] attogram*nanometer^2/nanosecond^2
# Velocity units
meter_per_second_si = 1.0
angstrom_per_femtosecond_si = (
angstrom_si / femtosecond_si
) # [m/s] Angstrom/femtosecond
angstrom_per_picosecond_si = (
angstrom_si / picosecond_si
) # [m/s] Angstrom/picosecond
micrometer_per_microsecond_si = (
micrometer_si / microsecond_si
) # [m/s] micrometer/microsecond
nanometer_per_nanosecond_si = (
nanometer_si / nanosecond_si
) # [m/s] nanometer/nanosecond
centimeter_per_second_si = centimeter_si # [m/s] centimeter/second
bohr_per_atu_si = bohr_si / atu_electron_si # [m/s] bohr/atu
# Force units
newton_si = 1.0
kcal_per_mole_angstrom_si = (
kcal_per_mole_si / angstrom_si
) # [N] kcal/(mole*Angstrom)
ev_per_angstrom_si = ev_si / angstrom_si # [N] eV/Angstrom
dyne_si = dyne_centimeter_si / centimeter_si # [N] dyne
hartree_per_bohr_si = hartree_si / bohr_si # [N] hartree/bohr
picogram_micrometer_per_microsecondsq_si = (
picogram_si * micrometer_si / microsecond_si ** 2
) # [N] picogram*micrometer/microsecond^2
attogram_nanometer_per_nanosecondsq_si = (
attogram_si * nanometer_si / nanosecond_si ** 2
) # [N] attogram*nanometer/nanosecond^2
# Temperature units
kelvin_si = 1.0
# Pressure units
pascal_si = 1.0
atmosphere_si = 101325.0 # [Pa] standard atmosphere (NIST value)
bar_si = 1e5 # [Pa] bar
dyne_per_centimetersq_si = (
dyne_centimeter_si / centimeter_si ** 3
) # [Pa] dyne/centimeter^2
picogram_per_micrometer_microsecondsq_si = picogram_si / (
micrometer_si * microsecond_si ** 2
) # [Pa] picogram/(micrometer*microsecond^2)
attogram_per_nanometer_nanosecondsq_si = attogram_si / (
nanometer_si * nanosecond_si ** 2
) # [Pa] attogram/(nanometer*nanosecond^2)
# Viscosity units
poise_si = 0.1 # [Pa*s] Poise
amu_per_bohr_femtosecond_si = amu_si / (
bohr_si * femtosecond_si
) # [Pa*s] amu/(bohr*femtosecond)
picogram_per_micrometer_microsecond_si = picogram_si / (
micrometer_si * microsecond_si
) # [Pa*s] picogram/(micrometer*microsecond)
attogram_per_nanometer_nanosecond_si = attogram_si / (
nanometer_si * nanosecond_si
) # [Pa*s] attogram/(nanometer*nanosecond)
# Charge units
coulomb_si = 1.0
echarge_si = e_si # [C] electron charge unit
statcoulomb_si = (
e_si / 4.8032044e-10
) # [C] Statcoulomb or esu (value from LAMMPS units documentation)
picocoulomb_si = 1e-12 # [C] picocoulomb
# Dipole units
coulomb_meter_si = 1
electron_angstrom_si = echarge_si * angstrom_si # [C*m] electron*angstrom
statcoulomb_centimeter_si = (
statcoulomb_si * centimeter_si
) # [C*m] statcoulomb*centimeter
debye_si = 1e-18 * statcoulomb_centimeter_si # [C*m] Debye
picocoulomb_micrometer_si = (
picocoulomb_si * micrometer_si
) # [C*m] picocoulomb*micrometer
electron_nanometer_si = echarge_si * nanometer_si # [C*m] electron*nanometer
# Electric field units
volt_si = 1.0
volt_per_meter_si = 1
volt_per_angstrom_si = 1.0 / angstrom_si # [V/m] volt/angstrom
statvolt_per_centimeter_si = erg_si / (
statcoulomb_si * centimeter_si
) # [V/m] statvolt/centimeter
volt_per_centimeter_si = 1.0 / centimeter_si # [V/m] volt/centimeter
volt_per_micrometer_si = 1.0 / micrometer_si # [V/m] volt/micrometer
volt_per_nanometer_si = 1.0 / nanometer_si # [V/m] volt/nanometer
|