ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
elecstate_lcao.h
Go to the documentation of this file.
1#ifndef ELECSTATE_LCAO_H
2#define ELECSTATE_LCAO_H
3
4#include "elecstate.h"
6
7#include <vector>
8
9namespace elecstate
10{
11template <typename TK>
13{
14 public:
16 {
17 } // will be called by ElecStateLCAO_TDDFT
19 const K_Vectors* klist_in,
20 int nks_in,
21 ModulePW::PW_Basis* rhopw_in,
22 ModulePW::PW_Basis_Big* bigpw_in)
23 {
24 init_ks(chr_in, klist_in, nks_in, rhopw_in, bigpw_in);
25 this->classname = "ElecStateLCAO";
26 }
27
29 {
30 }
31
32 // update charge density for next scf step
33 // void getNewRho() override;
34
35 static int out_wfc_lcao;
36 static bool need_psi_grid;
37
38 double get_spin_constrain_energy() override;
39
40 // use for pexsi
41
48 void dm2rho(std::vector<TK*> pexsi_DM,
49 std::vector<TK*> pexsi_EDM,
51
52};
53
54template <typename TK>
56
57template <typename TK>
59
60} // namespace elecstate
61
62#endif
Definition charge.h:18
Definition klist.h:13
Definition pw_basis_big.h:16
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition density_matrix.h:36
Definition elecstate_lcao.h:13
virtual ~ElecStateLCAO()
Definition elecstate_lcao.h:28
static int out_wfc_lcao
Definition elecstate_lcao.h:35
ElecStateLCAO()
Definition elecstate_lcao.h:15
void dm2rho(std::vector< TK * > pexsi_DM, std::vector< TK * > pexsi_EDM, DensityMatrix< TK, double > *dm)
calculate electronic charge density from pointers of density matrix calculated by pexsi
static bool need_psi_grid
Definition elecstate_lcao.h:36
double get_spin_constrain_energy() override
ElecStateLCAO(Charge *chr_in, const K_Vectors *klist_in, int nks_in, ModulePW::PW_Basis *rhopw_in, ModulePW::PW_Basis_Big *bigpw_in)
Definition elecstate_lcao.h:18
Definition elecstate.h:15
std::string classname
Definition elecstate.h:114
void init_ks(Charge *chr_in, const K_Vectors *klist_in, int nk_in, ModulePW::PW_Basis *rhopw_in, const ModulePW::PW_Basis_Big *bigpw_in)
Definition elecstate.cpp:57
Definition cal_dm.h:10