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_Big* bigpw_in)
22 {
23 init_ks(chr_in, klist_in, nks_in, bigpw_in);
24 this->classname = "ElecStateLCAO";
25 }
26
28 {
29 }
30
31 // update charge density for next scf step
32 // void getNewRho() override;
33
34 static int out_wfc_lcao;
35 static bool need_psi_grid;
36
37 double get_spin_constrain_energy() override;
38
39 // use for pexsi
40
47 void dm2rho(std::vector<TK*> pexsi_DM,
48 std::vector<TK*> pexsi_EDM,
50
51};
52
53template <typename TK>
55
56template <typename TK>
58
59} // namespace elecstate
60
61#endif
Definition charge.h:18
Definition klist.h:13
Definition pw_basis_big.h:16
Definition density_matrix.h:36
Definition elecstate_lcao.h:13
virtual ~ElecStateLCAO()
Definition elecstate_lcao.h:27
static int out_wfc_lcao
Definition elecstate_lcao.h:34
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:35
ElecStateLCAO(Charge *chr_in, const K_Vectors *klist_in, int nks_in, ModulePW::PW_Basis_Big *bigpw_in)
Definition elecstate_lcao.h:18
double get_spin_constrain_energy() override
Definition elecstate.h:15
std::string classname
Definition elecstate.h:111
void init_ks(Charge *chr_in, const K_Vectors *klist_in, int nk_in, const ModulePW::PW_Basis_Big *bigpw_in)
Definition elecstate.cpp:48
Definition cal_dm.h:10