ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
exx_helper_base.h
Go to the documentation of this file.
1#ifndef EXX_HELPER_BASE_H
2#define EXX_HELPER_BASE_H
3
5
6class Charge;
7class UnitCell;
8struct Input_para;
9
11{
12 public:
13 Exx_HelperBase() = default;
14 virtual ~Exx_HelperBase() = default;
15
16 virtual void init(const UnitCell& ucell, const Input_para& inp, const ModuleBase::matrix& wg) = 0;
17
18 virtual void before_scf(void* p_hamilt, void* psi, const Input_para& inp) = 0;
19
20 virtual bool iter_finish(void* p_elec, Charge* p_charge, void* psi,
21 UnitCell& ucell, const Input_para& inp,
22 bool& conv_esolver, int& iter) = 0;
23
24 virtual void set_firstiter(bool flag = true) = 0;
25 virtual void set_wg(const ModuleBase::matrix* wg) = 0;
26 virtual void set_psi(void* psi) = 0;
27 virtual void iter_inc() = 0;
28
29 virtual void set_op() = 0;
30
31 virtual bool exx_after_converge(int& iter, bool ene_conv) = 0;
32
33 virtual double cal_exx_energy(void* psi) = 0;
34
35 virtual bool get_op_first_iter() const = 0;
36 virtual void set_op_first_iter(bool flag) = 0;
37
38 virtual void set_op_exx(void* op) = 0;
39};
40
41#endif // EXX_HELPER_BASE_H
Definition charge.h:17
Definition exx_helper_base.h:11
virtual bool get_op_first_iter() const =0
virtual void set_wg(const ModuleBase::matrix *wg)=0
virtual void init(const UnitCell &ucell, const Input_para &inp, const ModuleBase::matrix &wg)=0
virtual void before_scf(void *p_hamilt, void *psi, const Input_para &inp)=0
virtual void set_op()=0
Exx_HelperBase()=default
virtual void set_firstiter(bool flag=true)=0
virtual bool exx_after_converge(int &iter, bool ene_conv)=0
virtual double cal_exx_energy(void *psi)=0
virtual bool iter_finish(void *p_elec, Charge *p_charge, void *psi, UnitCell &ucell, const Input_para &inp, bool &conv_esolver, int &iter)=0
virtual void set_op_exx(void *op)=0
virtual void iter_inc()=0
virtual void set_op_first_iter(bool flag)=0
virtual void set_psi(void *psi)=0
virtual ~Exx_HelperBase()=default
Definition matrix.h:18
Definition unitcell.h:15
Definition exx_lip.h:23
Definition input_parameter.h:12
const std::map< std::string, std::vector< double > > op
Definition vdwd3_autoset_xcparam.cpp:375