constants Module

CONSTANTS : basic constants for precision, numbers, and std input/output physical constants from NIST written by Son, Sang-Kil in Feb. 2004 rewritten by Son, Sang-Kil in Mar. 2005 adding physical constants


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: long = selected_real_kind(15)
real(kind=long), public, parameter :: eps = 1.0e-15_long
real(kind=long), public, parameter :: zero = 0.0_long
real(kind=long), public, parameter :: one = 1.0_long
real(kind=long), public, parameter :: two = 2.0_long
real(kind=long), public, parameter :: three = 3.0_long
real(kind=long), public, parameter :: four = 4.0_long
real(kind=long), public, parameter :: half = 0.5_long
real(kind=long), public, parameter :: fourth = 0.25_long
real(kind=long), public, parameter :: threehalf = 1.5_long
real(kind=long), public, parameter :: sqrttwo = sqrt(2.0_long)
real(kind=long), public, parameter :: pi = 3.141592653589793_long
complex(kind=long), public, parameter :: imag_one = (zero, one)
integer, public, parameter :: stdin = 5
integer, public, parameter :: stdout = 6
integer, public, parameter :: stderr = 0
real(kind=long), public, parameter :: speed_c_si = 2.99792458e8_long
real(kind=long), public, parameter :: charge_p_si = 1.602176462e-19_long
real(kind=long), public, parameter :: charge_e_si = charge_p_si
real(kind=long), public, parameter :: mass_e_si = 9.10938188e-31_long
real(kind=long), public, parameter :: mass_p_si = 1.67262158e-27_long
real(kind=long), public, parameter :: mass_n_si = 1.67492715e-27_long
real(kind=long), public, parameter :: amu_si = 1.66053873e-27_long
real(kind=long), public, parameter :: planck_h_si = 6.62606876e-34_long
real(kind=long), public, parameter :: boltzmann_k_si = 1.3806503e-23_long
real(kind=long), public, parameter :: avogadro_na_si = 6.02214199e23_long
real(kind=long), public, parameter :: gravity_g_si = 6.673e-11_long
real(kind=long), public, parameter :: au_charge = charge_e_si
real(kind=long), public, parameter :: au_mass = mass_e_si
real(kind=long), public, parameter :: au_action = planck_h_si/two/pi
real(kind=long), public, parameter :: au_length = 0.5291772083e-10_long
real(kind=long), public, parameter :: au_energy = 4.35974381e-18_long
real(kind=long), public, parameter :: au_time = 2.418884326500e-17_long
real(kind=long), public, parameter :: au_force = 8.23872181e-8_long
real(kind=long), public, parameter :: au_velocity = 2.1876912529e6_long
real(kind=long), public, parameter :: au_momentum = 1.99285151e24_long
real(kind=long), public, parameter :: au_current = 6.62361753e-3_long
real(kind=long), public, parameter :: au_charge_density = 1.081202285e12_long
real(kind=long), public, parameter :: au_e_potential = 27.2113834_long
real(kind=long), public, parameter :: au_e_field = 5.14220624e11_long
real(kind=long), public, parameter :: au_e_field_grad = 9.71736153e21_long
real(kind=long), public, parameter :: au_e_dipole_moment = 8.47835267e-30_long
real(kind=long), public, parameter :: au_e_quad_moment = 4.48655100e-40_long
real(kind=long), public, parameter :: au_e_polarizability = 1.648777251e-41_long
real(kind=long), public, parameter :: au_magnetic_field = 2.35051735e5_long
real(kind=long), public, parameter :: au2j = au_energy
real(kind=long), public, parameter :: au2ev = au_e_potential
real(kind=long), public, parameter :: au2m = au_length
real(kind=long), public, parameter :: au2ang = au_length*1.0e10_long
real(kind=long), public, parameter :: au2kg = au_mass
real(kind=long), public, parameter :: au2sec = au_time
real(kind=long), public, parameter :: au2attosec = au_time*1.0e18_long
real(kind=long), public, parameter :: j2au = one/au2j
real(kind=long), public, parameter :: ev2au = one/au2ev
real(kind=long), public, parameter :: m2au = one/au2m
real(kind=long), public, parameter :: ang2au = one/au2ang
real(kind=long), public, parameter :: kg2au = one/au2kg
real(kind=long), public, parameter :: sec2au = one/au2sec
real(kind=long), public, parameter :: attosec2au = one/au2attosec
real(kind=long), public, parameter :: amu2au = amu_si*kg2au
real(kind=long), public, parameter :: speed_c_au = speed_c_si*m2au/sec2au
real(kind=long), public, parameter :: cal2j = 4.184_long
real(kind=long), public, parameter :: kcal2j = cal2j*1.0e3_long
real(kind=long), public, parameter :: ev2j = charge_e_si
real(kind=long), public, parameter :: ev2kcalmol = ev2j/kcal2j*avogadro_na_si
real(kind=long), public, parameter :: hartree2j = au2j
real(kind=long), public, parameter :: hartree2ev = au2ev
real(kind=long), public, parameter :: hartree2kcalmol = hartree2ev*ev2kcalmol
real(kind=long), public, parameter :: j2cal = one/cal2j
real(kind=long), public, parameter :: j2kcal = one/kcal2j
real(kind=long), public, parameter :: j2ev = one/ev2j
real(kind=long), public, parameter :: j2hartree = one/hartree2j
real(kind=long), public, parameter :: ev2hz = ev2j/planck_h_si
real(kind=long), public, parameter :: ev2wavenumber = ev2hz/speed_c_si/100.0_long
real(kind=long), public, parameter :: ev2kayser = ev2wavenumber
real(kind=long), public, parameter :: ev2k = ev2j/boltzmann_k_si
real(kind=long), public, parameter :: deb2au = 1e-21_long/(speed_c_au)*one/au_e_dipole_moment*au2sec/au2m
real(kind=long), public, parameter :: au2deb = one/deb2au