ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
constants.h
Go to the documentation of this file.
1#ifndef CONSTANT_H
2#define CONSTANT_H
3#include <complex>
4
5//==========================================================
6// GLOBAL CONSTANTS
7//==========================================================
8
9//==========================================================
10// EXPLAIN : constants
11// NAME : pi
12// NAME : tpi (two pi)
13// NAME : fpi (four pi)
14// NAME : sqrtpi ( sqrt pi )
15// NAME : sqrtpm1 ( 1/sqrtpi )
16//==========================================================
17namespace ModuleBase
18{
19const double PI = 3.14159265358979323846;
20const double PI_HALF = PI / 2.0;
21const double TWO_PI = 2 * PI;
22const double FOUR_PI = 4.0 * 3.14159265358979323846;
23//const double SQRT_PI = 1.77245385090551602729;
24//const double INVERSE_SQRT_PI = 1.0 / SQRT_PI;
25const double INVERSE_FOUR_PI = 1.0/FOUR_PI;
27const double SQRT2 = 1.41421356237309504880;
28//const double SQRT3 = 1.73205080756887729352;
29
30//==========================================================
31// EXPLAIN : std::complex constants
32//==========================================================
33const std::complex<double> ZERO(0.0, 0.0);
34const std::complex<double> ONE(1.0, 0.0);
35const std::complex<double> NEG_ONE(-1.0, 0.0);
36const std::complex<double> IMAG_UNIT(0.0,1.0);
37const std::complex<double> NEG_IMAG_UNIT(0.0,-1.0);
38
39//==========================================================
40// EXPLAIN : physical constants
41//==========================================================
42const double K_BOLTZMAN_SI = 1.3806504e-23;// J K^-1
43const double K_BOLTZMAN_AU = 3.1667e-6;// Hartree K^-1
44const double Hartree_to_K = 3.1577464e5; // Hartree to K
45//const double K_BOLTZMAN_RY = 6.3335e-6;// Rydberg K^-1; mohan add 2010-09-03
46//const double K_BOLTZMAN_EV = 8.6173e-5; // eV; mohan add 2010-09-03
47//const double K_BOLTZMAN_M1_AU = 315795.260;// Hartree^-1 K
48//const double FACTEM = 315795.260;// 27.212d0*11605.d0 Hartree^-1 K
49
50//==========================================================
51// EXPLAIN : physical constants define the Atomic Units
52//==========================================================
53const double BOHR_RADIUS_SI = 0.529177e-10; // m
54//const double BOHR_RADIUS_CM = 0.529177e-8; // cm
55const double BOHR_TO_A = 0.5291770; // angstrom
56//const double ELECTRONMASS_SI = 9.10953e-31; // kg
57//const double ELECTRONMASS_UMA = 5.4858e-4; // uma
58
59//==========================================================
60// EXPLAIN : units conversion factors
61//==========================================================
62const double ELECTRONVOLT_SI = 1.6021892e-19; // J
63//const double UMA_SI = 1.66057e-27; // Kg
64const double ANGSTROM_AU = 1.8897270; // au
65//const double AU_TO_OHMCMM1 = 46000.00; // (ohm cm)^-1
66//const double AU_KB = 294210.00; // Kbar
67//const double KB_AU = 1.00 / 294210.00;// au
68//const double AU_GPA = 29421.00; // GPa
69//const double GPA_AU = 1.00 / 29421.00;// au
70//const double SCMASS = 1822.890; // uma to au ( mass of a proton )
71//const double UMA_AU = 1822.890; // au
72//const double AU_TERAHERTZ = 2.418e-5; // THz
73//const double TERAHERTZ = 2.418e-5; // from au to THz
74//const double AU_SEC = 2.4189e-17; // sec
75const double AU_to_FS = 2.418884326505e-2; // from a.u. to fs
76//const double rhothr = 1.0e-5; // tolerance
77//const double gsmall = 1.0e-12;
78const double e2 = 2.0; // the square of the electron charge
79const double DEGSPIN = 2.0; // the number of spins per level
80const double Hartree_to_eV = 27.211396;// slcbb // 27.21138344; // eV
81const double Ry_to_eV = 13.605698; // 13.60569172; // conversion from Ry to eV
82//const double eV_to_kelvin = 1.16044; // from ev to Kelvin
83const double NA = 6.02214129e23; // mol
84const double EMASS_SI = 9.1093826e-31; // mass of electron (kg)
85const double AU_to_MASS = NA*EMASS_SI*1e3; // mass a.u. to g/mol
86
87const double HARTREE_SI = 4.35974394e-18; //J
88const double RYDBERG_SI = HARTREE_SI/2.0; //J
89//const double RY_TO_KELVIN = RYDBERG_SI / K_BOLTZMAN_SI;
90
91//const double AMCONV = 1.660538782e-27 / 9.10938215e-31 * 0.50; // mass conversion: a.m.u to a.u. (Ry)
92
93//const double uakbar = 147105.0; // pressure conversion from Ry/(a.u)^3 to K
94
95// zero up to a given accuracy
96//const double epsr = 1.0e-6;
97const double threshold_wg = 1.0e-10;
98}
99
100#endif
Definition array_pool.h:6
const double INVERSE_FOUR_PI
Definition constants.h:25
const double TWO_PI
Definition constants.h:21
const std::complex< double > IMAG_UNIT(0.0, 1.0)
const double PI
Definition constants.h:19
const double SQRT2
Definition constants.h:27
const double EMASS_SI
Definition constants.h:84
const double AU_to_FS
Definition constants.h:75
const double BOHR_TO_A
Definition constants.h:55
const double BOHR_RADIUS_SI
Definition constants.h:53
const double NA
Definition constants.h:83
const double Hartree_to_K
Definition constants.h:44
const std::complex< double > NEG_ONE(-1.0, 0.0)
const double RYDBERG_SI
Definition constants.h:88
const std::complex< double > ONE(1.0, 0.0)
const double AU_to_MASS
Definition constants.h:85
const std::complex< double > ZERO(0.0, 0.0)
const double PI_HALF
Definition constants.h:20
const double ANGSTROM_AU
Definition constants.h:64
const std::complex< double > NEG_IMAG_UNIT(0.0,-1.0)
const double FOUR_PI
Definition constants.h:22
const double e2
Definition constants.h:78
const double HARTREE_SI
Definition constants.h:87
const double DEGSPIN
Definition constants.h:79
const double Hartree_to_eV
Definition constants.h:80
const double Ry_to_eV
Definition constants.h:81
const double K_BOLTZMAN_AU
Definition constants.h:43
const double threshold_wg
Definition constants.h:97
const double SQRT_INVERSE_FOUR_PI
Definition constants.h:26
const double ELECTRONVOLT_SI
Definition constants.h:62
const double K_BOLTZMAN_SI
Definition constants.h:42