This module contains the definitions of constants used in Wannier90 - both numerical constants such as pi and numerical convergence tolerances, but also physical constant such as the speed of light
Values of the fundamental constants are taken from http://physics.nist.gov/cuu/Constants/index.html By default CODATA2022 is used (CODATA2006/10/18 can be selected using an appropriate compile-time flag (see README.install guide)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | i64 | = | selected_int_kind(15) |
64bit integer |
| integer, | public, | parameter | :: | dp | = | kind(1.0d0) |
double precision |
| real(kind=dp), | public, | parameter | :: | pi | = | 3.141592653589793238462643383279_dp |
|
| real(kind=dp), | public, | parameter | :: | twopi | = | 2*pi |
|
| complex(kind=dp), | public, | parameter | :: | cmplx_i | = | (0.0_dp, 1.0_dp) |
i as a complex variable |
| complex(kind=dp), | public, | parameter | :: | cmplx_0 | = | (0.0_dp, 0.0_dp) |
0 as a complex variable |
| complex(kind=dp), | public, | parameter | :: | cmplx_1 | = | (1.0_dp, 0.0_dp) |
1 as a complex variable |
| integer, | public, | parameter | :: | maxlen | = | 255 |
Max column width of input file |
| real(kind=dp), | public, | parameter | :: | eps2 | = | 1.0e-2_dp |
numerical convergence constant |
| real(kind=dp), | public, | parameter | :: | eps5 | = | 1.0e-5_dp |
numerical convergence constant |
| real(kind=dp), | public, | parameter | :: | eps6 | = | 1.0e-6_dp |
numerical convergence constant |
| real(kind=dp), | public, | parameter | :: | eps7 | = | 1.0e-7_dp |
numerical convergence constant |
| real(kind=dp), | public, | parameter | :: | eps8 | = | 1.0e-8_dp |
numerical convergence constant |
| real(kind=dp), | public, | parameter | :: | eps10 | = | 1.0e-10_dp |
numerical convergence constant |
| real(kind=dp), | public, | parameter | :: | smearing_cutoff | = | 10._dp |
Cutoff for the smearing functions |
| real(kind=dp), | public, | parameter | :: | min_smearing_binwidth_ratio | = | 2._dp |
Don't smear but simply add the contribution to the relevant bin if the smearing/binwidth ratio is smaller than this value |
| real(kind=dp), | private, | parameter | :: | elem_charge_SI | = | 1.602176634e-19_dp |
e |
| real(kind=dp), | private, | parameter | :: | elec_mass_SI | = | 9.1093837139e-31_dp |
|
| real(kind=dp), | private, | parameter | :: | hbar_SI | = | 1.054571817e-34_dp |
|
| real(kind=dp), | private, | parameter | :: | k_B_SI | = | 1.380649e-23_dp |
|
| real(kind=dp), | private, | parameter | :: | bohr_magn_SI | = | 927.40100657e-26_dp |
|
| real(kind=dp), | private, | parameter | :: | eps0_SI | = | 8.85418781887e-12_dp |
|
| real(kind=dp), | private, | parameter | :: | speedlight_SI | = | 299792458.0_dp |
|
| real(kind=dp), | private, | parameter | :: | eV_au | = | 3.6749322175665e-2_dp |
eV in atomic units |
| real(kind=dp), | private, | parameter | :: | eV_seconds | = | 6.582119569e-16_dp |
Electron Volt in seconds |
| real(kind=dp), | private, | parameter | :: | bohr_angstrom_internal | = | 0.529177210544_dp |
Bohr to |
| character(len=75), | private, | parameter | :: | constants_version_str1 | = | "-> Using CODATA 2022 constant values" | |
| character(len=75), | private, | parameter | :: | constants_version_str2 | = | " (http://physics.nist.gov/cuu/Constants/index.html)" | |
| real(kind=dp), | private, | parameter | :: | bohr | = | bohr_angstrom_internal | |
| character(len=75), | private, | parameter | :: | bohr_version_str | = | "-> Using Bohr value from CODATA" |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | bohr | = | bohr | ||
| character(len=75), | public | :: | bohr_version_str | = | bohr_version_str | ||
| character(len=75), | public | :: | constants_version_str1 | = | constants_version_str1 | ||
| character(len=75), | public | :: | constants_version_str2 | = | constants_version_str2 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | elem_charge_SI | = | elem_charge_SI | ||
| real(kind=dp), | public | :: | elec_mass_SI | = | elec_mass_SI | ||
| real(kind=dp), | public | :: | hbar_SI | = | hbar_SI | ||
| real(kind=dp), | public | :: | k_B_SI | = | k_B_SI | ||
| real(kind=dp), | public | :: | eps0_SI | = | eps0_SI | ||
| real(kind=dp), | public | :: | eV_au | = | eV_au | ||
| real(kind=dp), | public | :: | eV_seconds | = | eV_seconds | ||
| real(kind=dp), | public | :: | bohr | = | bohr | ||
| character(len=75), | public | :: | bohr_version_str | = | bohr_version_str | ||
| character(len=75), | public | :: | constants_version_str1 | = | constants_version_str1 | ||
| character(len=75), | public | :: | constants_version_str2 | = | constants_version_str2 |