ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
evolve_ofdft.h
Go to the documentation of this file.
1#ifndef Evolve_OFDFT_H
2#define Evolve_OFDFT_H
3#include <math.h>
4#include <stdio.h>
5
9#include "source_base/timer.h"
11#include "source_estate/elecstate.h" // electronic states
13
19{
20 public:
22 {
23 }
25 {
26 }
28 const Charge& chr, UnitCell& ucell,
29 std::vector<std::complex<double>> pphi_,
30 ModulePW::PW_Basis* pw_rho);
31
32 private:
33 const double c_tf_
34 = 3.0 / 10.0 * std::pow(3 * std::pow(M_PI, 2.0), 2.0 / 3.0)
35 * 2; // 10/3*(3*pi^2)^{2/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2)
36
37 void cal_Hpsi(elecstate::ElecState* pelec,
38 const Charge& chr,
39 UnitCell& ucell,
40 std::vector<std::complex<double>> psi_,
41 ModulePW::PW_Basis* pw_rho,
42 std::vector<std::complex<double>> Hpsi);
43 void cal_tf_potential(const double* const* prho,
44 ModulePW::PW_Basis* pw_rho,
45 ModuleBase::matrix& rpot);
46 void cal_vw_potential_phi(std::vector<std::complex<double>> pphi,
47 ModulePW::PW_Basis* pw_rho,
48 std::vector<std::complex<double>> Hpsi); // -1/2 \nabla^2 \phi
49 void cal_CD_potential(std::vector<std::complex<double>> psi_,
50 ModulePW::PW_Basis* pw_rho,
52 double mCD_para);
53
54};
55#endif
Definition charge.h:18
TDOFDFT.
Definition evolve_ofdft.h:19
void cal_tf_potential(const double *const *prho, ModulePW::PW_Basis *pw_rho, ModuleBase::matrix &rpot)
Definition evolve_ofdft.cpp:48
void cal_Hpsi(elecstate::ElecState *pelec, const Charge &chr, UnitCell &ucell, std::vector< std::complex< double > > psi_, ModulePW::PW_Basis *pw_rho, std::vector< std::complex< double > > Hpsi)
Definition evolve_ofdft.cpp:8
void propagate_psi(elecstate::ElecState *pelec, const Charge &chr, UnitCell &ucell, std::vector< std::complex< double > > pphi_, ModulePW::PW_Basis *pw_rho)
Definition evolve_ofdft.cpp:220
Evolve_OFDFT()
Definition evolve_ofdft.h:21
~Evolve_OFDFT()
Definition evolve_ofdft.h:24
const double c_tf_
Definition evolve_ofdft.h:34
void cal_vw_potential_phi(std::vector< std::complex< double > > pphi, ModulePW::PW_Basis *pw_rho, std::vector< std::complex< double > > Hpsi)
Definition evolve_ofdft.cpp:75
void cal_CD_potential(std::vector< std::complex< double > > psi_, ModulePW::PW_Basis *pw_rho, ModuleBase::matrix &rpot, double mCD_para)
Definition evolve_ofdft.cpp:126
Definition matrix.h:19
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition unitcell.h:17
Definition elecstate.h:15