rotex__constants Module

Contains most (but not all) defined constants used throughout the code.



Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: IOSTAT_OK = 0
integer, public, parameter :: IQ_DEFAULT = 4
integer, public, parameter :: DEFAULT_INT = -409
real(kind=dp), public, parameter :: CB_MINT_IMAG_THRESH = 1e-8_dp

Warn user if CB cross section M integrals have imaginary components larger than this value (they should be real). The code will try to skip such values.

real(kind=dp), public, parameter :: HYPGEO_ABC_THRESHOLD = 160._dp

Threshold for warning the user about large values of a,b,c in ₂F₁(a,b;c;z)

real(kind=dp), public, parameter :: ahalf = 0.5_dp
real(kind=dp), public, parameter :: zero = 0._dp
real(kind=dp), public, parameter :: one = 1._dp
real(kind=dp), public, parameter :: two = 2._dp
real(kind=dp), public, parameter :: three = 3._dp
real(kind=dp), public, parameter :: four = 4._dp
real(kind=dp), public, parameter :: pi = atan(1._dp)*4._dp

π

real(kind=dp), public, parameter :: invc = 1._dp/137.035999177_dp

1/c, where c is the speed of light in atomic units. This is equal to the fine structure constant α.

real(kind=dp), public, parameter :: macheps_dp = epsilon(one)
real(kind=dp), public, parameter :: rho = 0.8_dp
real(kind=dp), public, parameter :: euler_mascheroni = 0.57721566490153286060651209008240243104215933593992_dp

the Euler Mascheroni constant. The difference between the harmonic series and the natural logarithm

real(kind=dp), public, parameter :: au2ryd = 2._dp

Hartree -> Rydberg

real(kind=dp), public, parameter :: au2ev = 27.2113834e0_dp

Hartree -> eV

real(kind=dp), public, parameter :: au2ang = 0.5291772083_dp

Bohr -> Ångstrom

real(kind=dp), public, parameter :: au2cm = au2ang*1e-8_dp

Bohr -> cm

real(kind=dp), public, parameter :: au2invcm = 219474.6313710e0_dp

multiplication factor to convert atomic units of energy (hartree) to wavenumbers (inverse centimeters)

real(kind=dp), public, parameter :: au2sec = 2.4188843e-17_dp

multiplication factor to convert atomic units of time (hbar / hartree) to seconds

real(kind=dp), public, parameter :: au2deb = 2.5417462762781615_dp

atomic units (electric dipole) -> Debye

complex(kind=dp), public, parameter :: im = (zero, one)

the square root of -1

character(len=1), public, parameter :: CHAR_CR = achar(13)
character(len=1), public, parameter :: DEFAULT_CHAR1 = "x"
character(len=7), public, parameter :: UKRMOLX = 'ukrmol+'
character(len=7), public, parameter :: MQDTR2K = 'mqdtr2k'
character(len=7), public, parameter :: spinmult_names(5) = ['singlet', 'doublet', 'triplet', 'quartet', 'quintet']