physical_constants.F90 Source File


Files dependent on this one

sourcefile~~physical_constants.f90~~AfferentGraph sourcefile~physical_constants.f90 physical_constants.F90 sourcefile~dft.f90 dft.F90 sourcefile~dft.f90->sourcefile~physical_constants.f90 sourcefile~basis_tools.f90 basis_tools.F90 sourcefile~dft.f90->sourcefile~basis_tools.f90 sourcefile~dft_fuzzycell.f90 dft_fuzzycell.F90 sourcefile~dft.f90->sourcefile~dft_fuzzycell.f90 sourcefile~dft_gridint_energy.f90 dft_gridint_energy.F90 sourcefile~dft.f90->sourcefile~dft_gridint_energy.f90 sourcefile~dft_gridint_grad.f90 dft_gridint_grad.F90 sourcefile~dft.f90->sourcefile~dft_gridint_grad.f90 sourcefile~types.f90 types.F90 sourcefile~dft.f90->sourcefile~types.f90 sourcefile~libxc.f90 libxc.F90 sourcefile~dft.f90->sourcefile~libxc.f90 sourcefile~electric_moments.f90 electric_moments.F90 sourcefile~electric_moments.f90->sourcefile~physical_constants.f90 sourcefile~electric_moments.f90->sourcefile~basis_tools.f90 sourcefile~c_interop.f90 c_interop.F90 sourcefile~electric_moments.f90->sourcefile~c_interop.f90 sourcefile~int1.f90 int1.F90 sourcefile~electric_moments.f90->sourcefile~int1.f90 sourcefile~electric_moments.f90->sourcefile~types.f90 sourcefile~elements.f90 elements.F90 sourcefile~elements.f90->sourcefile~physical_constants.f90 sourcefile~get_basis_overlap.f90 get_basis_overlap.F90 sourcefile~get_basis_overlap.f90->sourcefile~physical_constants.f90 sourcefile~get_basis_overlap.f90->sourcefile~basis_tools.f90 sourcefile~get_basis_overlap.f90->sourcefile~c_interop.f90 sourcefile~get_basis_overlap.f90->sourcefile~int1.f90 sourcefile~get_basis_overlap.f90->sourcefile~types.f90 sourcefile~int1e.f90 int1e.F90 sourcefile~int1e.f90->sourcefile~physical_constants.f90 sourcefile~int1e.f90->sourcefile~basis_tools.f90 sourcefile~int1e.f90->sourcefile~c_interop.f90 sourcefile~int1e.f90->sourcefile~int1.f90 sourcefile~printing.f90 printing.F90 sourcefile~int1e.f90->sourcefile~printing.f90 sourcefile~int1e.f90->sourcefile~types.f90 sourcefile~tdhf_energy.f90 tdhf_energy.F90 sourcefile~tdhf_energy.f90->sourcefile~physical_constants.f90 sourcefile~tdhf_energy.f90->sourcefile~dft.f90 sourcefile~tdhf_lib.f90 tdhf_lib.F90 sourcefile~tdhf_energy.f90->sourcefile~tdhf_lib.f90 sourcefile~tdhf_energy.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_energy.f90->sourcefile~c_interop.f90 sourcefile~dft_gridint_fxc.f90 dft_gridint_fxc.F90 sourcefile~tdhf_energy.f90->sourcefile~dft_gridint_fxc.f90 sourcefile~tdhf_energy.f90->sourcefile~int1.f90 sourcefile~int2.f90 int2.F90 sourcefile~tdhf_energy.f90->sourcefile~int2.f90 sourcefile~tdhf_energy.f90->sourcefile~printing.f90 sourcefile~tdhf_energy.f90->sourcefile~types.f90 sourcefile~tdhf_lib.f90->sourcefile~physical_constants.f90 sourcefile~tdhf_lib.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_lib.f90->sourcefile~int2.f90 sourcefile~tdhf_lib.f90->sourcefile~types.f90 sourcefile~tdhf_sf_lib.f90 tdhf_sf_lib.F90 sourcefile~tdhf_sf_lib.f90->sourcefile~physical_constants.f90 sourcefile~tdhf_sf_lib.f90->sourcefile~tdhf_lib.f90 sourcefile~tdhf_sf_lib.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_sf_lib.f90->sourcefile~int1.f90 sourcefile~tdhf_sf_lib.f90->sourcefile~types.f90 sourcefile~basis_library.f90 basis_library.F90 sourcefile~basis_library.f90->sourcefile~elements.f90 sourcefile~basis_tools.f90->sourcefile~elements.f90 sourcefile~basis_tools.f90->sourcefile~basis_library.f90 sourcefile~hf_energy.f90 hf_energy.f90 sourcefile~hf_energy.f90->sourcefile~dft.f90 sourcefile~hf_energy.f90->sourcefile~basis_tools.f90 sourcefile~scf.f90 scf.F90 sourcefile~hf_energy.f90->sourcefile~scf.f90 sourcefile~hf_energy.f90->sourcefile~c_interop.f90 sourcefile~hf_energy.f90->sourcefile~printing.f90 sourcefile~hf_energy.f90->sourcefile~types.f90 sourcefile~hf_gradient.f90 hf_gradient.F90 sourcefile~hf_gradient.f90->sourcefile~dft.f90 sourcefile~hf_gradient.f90->sourcefile~basis_tools.f90 sourcefile~hf_gradient.f90->sourcefile~c_interop.f90 sourcefile~grd1.f90 grd1.F90 sourcefile~hf_gradient.f90->sourcefile~grd1.f90 sourcefile~grd2.f90 grd2.F90 sourcefile~hf_gradient.f90->sourcefile~grd2.f90 sourcefile~hf_gradient.f90->sourcefile~printing.f90 sourcefile~hf_gradient.f90->sourcefile~types.f90 sourcefile~population_analysis.f90 population_analysis.F90 sourcefile~population_analysis.f90->sourcefile~elements.f90 sourcefile~population_analysis.f90->sourcefile~basis_tools.f90 sourcefile~population_analysis.f90->sourcefile~c_interop.f90 sourcefile~population_analysis.f90->sourcefile~types.f90 sourcefile~resp.f90 resp.F90 sourcefile~resp.f90->sourcefile~elements.f90 sourcefile~resp.f90->sourcefile~basis_tools.f90 sourcefile~resp.f90->sourcefile~c_interop.f90 sourcefile~resp.f90->sourcefile~int1.f90 sourcefile~resp.f90->sourcefile~types.f90 sourcefile~scf.f90->sourcefile~dft.f90 sourcefile~scf.f90->sourcefile~basis_tools.f90 sourcefile~guess.f90 guess.F90 sourcefile~scf.f90->sourcefile~guess.f90 sourcefile~scf.f90->sourcefile~int2.f90 sourcefile~scf.f90->sourcefile~printing.f90 sourcefile~scf.f90->sourcefile~types.f90 sourcefile~scf_converger.f90 scf_converger.F90 sourcefile~scf.f90->sourcefile~scf_converger.f90 sourcefile~tdhf_gradient.f90 tdhf_gradient.F90 sourcefile~tdhf_gradient.f90->sourcefile~dft.f90 sourcefile~tdhf_gradient.f90->sourcefile~tdhf_lib.f90 sourcefile~tdhf_gradient.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_gradient.f90->sourcefile~c_interop.f90 sourcefile~dft_gridint_tdxc_grad.f90 dft_gridint_tdxc_grad.F90 sourcefile~tdhf_gradient.f90->sourcefile~dft_gridint_tdxc_grad.f90 sourcefile~tdhf_gradient.f90->sourcefile~grd1.f90 sourcefile~tdhf_gradient.f90->sourcefile~grd2.f90 sourcefile~tdhf_gradient.f90->sourcefile~printing.f90 sourcefile~tdhf_gradient.f90->sourcefile~types.f90 sourcefile~tdhf_mrsf_energy.f90 tdhf_mrsf_energy.F90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~tdhf_lib.f90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~tdhf_sf_lib.f90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~c_interop.f90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~int2.f90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~printing.f90 sourcefile~tdhf_mrsf_lib.f90 tdhf_mrsf_lib.F90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~tdhf_mrsf_lib.f90 sourcefile~tdhf_mrsf_energy.f90->sourcefile~types.f90 sourcefile~tdhf_sf_energy.f90 tdhf_sf_energy.F90 sourcefile~tdhf_sf_energy.f90->sourcefile~tdhf_lib.f90 sourcefile~tdhf_sf_energy.f90->sourcefile~tdhf_sf_lib.f90 sourcefile~tdhf_sf_energy.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_sf_energy.f90->sourcefile~c_interop.f90 sourcefile~tdhf_sf_energy.f90->sourcefile~int2.f90 sourcefile~tdhf_sf_energy.f90->sourcefile~printing.f90 sourcefile~tdhf_sf_energy.f90->sourcefile~types.f90 sourcefile~tdhf_z_vector.f90 tdhf_z_vector.F90 sourcefile~tdhf_z_vector.f90->sourcefile~dft.f90 sourcefile~tdhf_z_vector.f90->sourcefile~tdhf_lib.f90 sourcefile~tdhf_z_vector.f90->sourcefile~tdhf_sf_lib.f90 sourcefile~tdhf_z_vector.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_z_vector.f90->sourcefile~c_interop.f90 sourcefile~tdhf_z_vector.f90->sourcefile~dft_gridint_fxc.f90 sourcefile~dft_gridint_gxc.f90 dft_gridint_gxc.F90 sourcefile~tdhf_z_vector.f90->sourcefile~dft_gridint_gxc.f90 sourcefile~tdhf_z_vector.f90->sourcefile~int2.f90 sourcefile~tdhf_z_vector.f90->sourcefile~printing.f90 sourcefile~tdhf_z_vector.f90->sourcefile~types.f90 sourcefile~c_interop.f90->sourcefile~basis_tools.f90 sourcefile~c_interop.f90->sourcefile~types.f90 sourcefile~dft_fuzzycell.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint.f90 dft_gridint.F90 sourcefile~dft_gridint.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint_energy.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint_energy.f90->sourcefile~dft_gridint.f90 sourcefile~dft_gridint_energy.f90->sourcefile~types.f90 sourcefile~dft_gridint_fxc.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint_fxc.f90->sourcefile~dft_gridint.f90 sourcefile~dft_gridint_fxc.f90->sourcefile~types.f90 sourcefile~dft_gridint_grad.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint_grad.f90->sourcefile~dft_gridint.f90 sourcefile~dft_gridint_grad.f90->sourcefile~types.f90 sourcefile~dft_gridint_gxc.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint_gxc.f90->sourcefile~dft_gridint.f90 sourcefile~dft_gridint_gxc.f90->sourcefile~dft_gridint_fxc.f90 sourcefile~dft_gridint_gxc.f90->sourcefile~types.f90 sourcefile~dft_gridint_tdxc_grad.f90->sourcefile~basis_tools.f90 sourcefile~dft_gridint_tdxc_grad.f90->sourcefile~dft_gridint.f90 sourcefile~dft_gridint_tdxc_grad.f90->sourcefile~types.f90 sourcefile~ecp.f90 ecp.F90 sourcefile~ecp.f90->sourcefile~basis_tools.f90 sourcefile~get_states_overlap.f90 get_states_overlap.F90 sourcefile~get_states_overlap.f90->sourcefile~basis_tools.f90 sourcefile~get_states_overlap.f90->sourcefile~c_interop.f90 sourcefile~get_states_overlap.f90->sourcefile~tdhf_mrsf_lib.f90 sourcefile~get_states_overlap.f90->sourcefile~types.f90 sourcefile~grd1.f90->sourcefile~basis_tools.f90 sourcefile~grd1.f90->sourcefile~ecp.f90 sourcefile~mod_shell_tools.f90 mod_shell_tools.F90 sourcefile~grd1.f90->sourcefile~mod_shell_tools.f90 sourcefile~grd1.f90->sourcefile~types.f90 sourcefile~mod_1e_primitives.f90 mod_1e_primitives.F90 sourcefile~grd1.f90->sourcefile~mod_1e_primitives.f90 sourcefile~grd2.f90->sourcefile~basis_tools.f90 sourcefile~grd2_rys.f90 grd2_rys.F90 sourcefile~grd2.f90->sourcefile~grd2_rys.f90 sourcefile~grd2.f90->sourcefile~int2.f90 sourcefile~int2_pairs.f90 int2_pairs.F90 sourcefile~grd2.f90->sourcefile~int2_pairs.f90 sourcefile~grd2.f90->sourcefile~types.f90 sourcefile~grd2_rys.f90->sourcefile~basis_tools.f90 sourcefile~grd2_rys.f90->sourcefile~int2_pairs.f90 sourcefile~guess.f90->sourcefile~basis_tools.f90 sourcefile~guess.f90->sourcefile~types.f90 sourcefile~guess_hcore.f90 guess_hcore.F90 sourcefile~guess_hcore.f90->sourcefile~basis_tools.f90 sourcefile~guess_hcore.f90->sourcefile~c_interop.f90 sourcefile~guess_hcore.f90->sourcefile~guess.f90 sourcefile~guess_hcore.f90->sourcefile~printing.f90 sourcefile~guess_hcore.f90->sourcefile~types.f90 sourcefile~guess_huckel.f90 guess_huckel.F90 sourcefile~guess_huckel.f90->sourcefile~basis_tools.f90 sourcefile~guess_huckel.f90->sourcefile~c_interop.f90 sourcefile~guess_huckel.f90->sourcefile~guess.f90 sourcefile~huckel.f90 huckel.F90 sourcefile~guess_huckel.f90->sourcefile~huckel.f90 sourcefile~guess_huckel.f90->sourcefile~printing.f90 sourcefile~guess_huckel.f90->sourcefile~types.f90 sourcefile~guess_json.f90 guess_json.F90 sourcefile~guess_json.f90->sourcefile~basis_tools.f90 sourcefile~guess_json.f90->sourcefile~c_interop.f90 sourcefile~guess_json.f90->sourcefile~guess.f90 sourcefile~guess_json.f90->sourcefile~printing.f90 sourcefile~guess_json.f90->sourcefile~types.f90 sourcefile~huckel.f90->sourcefile~basis_tools.f90 sourcefile~huckel.f90->sourcefile~guess.f90 sourcefile~huckel.f90->sourcefile~int1.f90 sourcefile~huckel.f90->sourcefile~types.f90 sourcefile~int1.f90->sourcefile~basis_tools.f90 sourcefile~int1.f90->sourcefile~ecp.f90 sourcefile~int1.f90->sourcefile~mod_shell_tools.f90 sourcefile~int1.f90->sourcefile~printing.f90 sourcefile~int1.f90->sourcefile~mod_1e_primitives.f90 sourcefile~int2.f90->sourcefile~basis_tools.f90 sourcefile~int2.f90->sourcefile~int2_pairs.f90 sourcefile~int_libint.f90 int_libint.F90 sourcefile~int2.f90->sourcefile~int_libint.f90 sourcefile~int_rotaxis.f90 int_rotaxis.F90 sourcefile~int2.f90->sourcefile~int_rotaxis.f90 sourcefile~int_rys.f90 int_rys.F90 sourcefile~int2.f90->sourcefile~int_rys.f90 sourcefile~int2.f90->sourcefile~types.f90 sourcefile~int2_pairs.f90->sourcefile~basis_tools.f90 sourcefile~int_libint.f90->sourcefile~basis_tools.f90 sourcefile~int_libint.f90->sourcefile~int2_pairs.f90 sourcefile~int_rotaxis.f90->sourcefile~basis_tools.f90 sourcefile~int_rotaxis.f90->sourcefile~int2_pairs.f90 sourcefile~int_rys.f90->sourcefile~basis_tools.f90 sourcefile~int_rys.f90->sourcefile~int2_pairs.f90 sourcefile~mod_shell_tools.f90->sourcefile~basis_tools.f90 sourcefile~printing.f90->sourcefile~basis_tools.f90 sourcefile~printing.f90->sourcefile~types.f90 sourcefile~tdhf_mrsf_lib.f90->sourcefile~basis_tools.f90 sourcefile~tdhf_mrsf_lib.f90->sourcefile~int2.f90 sourcefile~tdhf_mrsf_lib.f90->sourcefile~types.f90 sourcefile~types.f90->sourcefile~basis_tools.f90 sourcefile~apply_basis.f90 apply_basis.F90 sourcefile~apply_basis.f90->sourcefile~c_interop.f90 sourcefile~apply_basis.f90->sourcefile~types.f90 sourcefile~libxc.f90->sourcefile~types.f90 sourcefile~mod_1e_primitives.f90->sourcefile~mod_shell_tools.f90 sourcefile~oqp_banner.f90 oqp_banner.F90 sourcefile~oqp_banner.f90->sourcefile~c_interop.f90 sourcefile~oqp_banner.f90->sourcefile~types.f90 sourcefile~scf_converger.f90->sourcefile~printing.f90

Source Code

module physical_constants

  use, intrinsic :: iso_fortran_env, only: real64

  implicit none

  private

  real(real64), public, parameter :: ELECTRON_CHARGE = 1.602176634d-19

!   Recent (2018) NIST CODATA values (SI)
  real(real64), public, parameter :: BOHR_RADIUS = 5.29177210903d-11
  real(real64), public, parameter :: ANGSTROM = 1.00000000000d-10
  real(real64), public, parameter :: NANOMETER = 1.00000000000d-09

  real(real64), public, parameter :: HARTREE = 4.3597447222071d-18
  real(real64), public, parameter :: ELECTRONVOLT = 1.602176634d-19
  real(real64), public, parameter :: JOULE = 1.0d+00
  real(real64), public, parameter :: CALORIE = 4.184d+00


  real(real64), public, parameter :: STATC = 1.0d0/2997924580.0d0
  real(real64), public, parameter :: CENTIMETER = 1.0d-02

  real(real64), public, parameter :: DEBYE = 1.0d-10*STATC*ANGSTROM
  real(real64), public, parameter :: BUCKINGHAM = DEBYE*ANGSTROM
  real(real64), public, parameter :: CGS_OCT = BUCKINGHAM*ANGSTROM

  real(real64), public, parameter :: UNITS_DIPOLE = ELECTRON_CHARGE*BOHR_RADIUS
  real(real64), public, parameter :: UNITS_QUADRUPOLE = UNITS_DIPOLE*BOHR_RADIUS
  real(real64), public, parameter :: UNITS_OCTOPOLE = UNITS_QUADRUPOLE*BOHR_RADIUS

  real(real64), public, parameter :: K_BOLTZMANN = 1.380649d-23
  real(real64), public, parameter :: N_AVOGADRO = 6.02214076d+23

!   Internal default units are atomic units (length: Bohr, energy: Hartree)
!   Units of length
  real(real64), public, parameter :: UNITS_BOHR = 1.0d0
  real(real64), public, parameter :: UNITS_ANGSTROM = ANGSTROM/BOHR_RADIUS
  real(real64), public, parameter :: UNITS_NM = NANOMETER/BOHR_RADIUS

!   Units of energy
  real(real64), public, parameter :: UNITS_HARTREE = 1.0d0
  real(real64), public, parameter :: UNITS_EV = ELECTRONVOLT/HARTREE
  real(real64), public, parameter :: UNITS_KCALMOL = (1000*CALORIE/N_AVOGADRO)/HARTREE
  real(real64), public, parameter :: UNITS_KJMOL = (1000*JOULE/N_AVOGADRO)/HARTREE

!   Common conversion constants
  real(real64), public, parameter :: BOHR_TO_ANGSTROM = UNITS_BOHR/UNITS_ANGSTROM
  real(real64), public, parameter :: ANGSTROM_TO_BOHR = UNITS_ANGSTROM/UNITS_BOHR

!  Electric moments
  real(real64), public, parameter :: AU_TO_DEBYE = UNITS_DIPOLE/DEBYE
  real(real64), public, parameter :: AU_TO_BUCK = UNITS_QUADRUPOLE/BUCKINGHAM
  real(real64), public, parameter :: AU_TO_OCT = UNITS_OCTOPOLE/CGS_OCT

!   COMPATIBILITY:
  real(real64), public, parameter :: AU2ANG = BOHR_TO_ANGSTROM
  real(real64), public, parameter :: EV2HTREE = HARTREE/ELECTRONVOLT

end module