ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
setup_exx.h
Go to the documentation of this file.
1#ifndef SETUP_EXX_NAO_H
2#define SETUP_EXX_NAO_H
3
4#include "source_cell/unitcell.h" // use unitcell
5#include "source_cell/klist.h" // k points
7#include "source_basis/module_ao/parallel_orbitals.h" // parallel orbitals
9#include "source_estate/module_charge/charge_mixing.h" // use charge mixing
10
11// for EXX
12#ifdef __EXX
15#endif
16
17template <typename TK>
19{
20 public:
21
22 Exx_NAO();
23 ~Exx_NAO();
24
25#ifdef __EXX
26 std::shared_ptr<Exx_LRI_Interface<TK, double>> exd = nullptr;
27 std::shared_ptr<Exx_LRI_Interface<TK, std::complex<double>>> exc = nullptr;
28#endif
29
30 void init();
31
32 void before_runner(
33 UnitCell& ucell, // unitcell
34 K_Vectors &kv, // k points
35 const LCAO_Orbitals &orb, // orbital info
36 const Parallel_Orbitals &pv, // parallel orbitals
37 const Input_para& inp);
38
39 void before_scf(
40 const UnitCell &ucell, // unitcell
41 const K_Vectors &kv,
42 const LCAO_Orbitals &orb, // orbital info
43 Charge_Mixing* p_chgmix,
44 const int istep,
45 const Input_para& inp);
46
47};
48
49
50#endif
Definition charge_mixing.h:9
Definition setup_exx.h:19
void before_scf(const UnitCell &ucell, const K_Vectors &kv, const LCAO_Orbitals &orb, Charge_Mixing *p_chgmix, const int istep, const Input_para &inp)
Definition setup_exx.cpp:66
void before_runner(UnitCell &ucell, K_Vectors &kv, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Input_para &inp)
Definition setup_exx.cpp:31
~Exx_NAO()
Definition setup_exx.cpp:7
void init()
Definition setup_exx.cpp:11
Exx_NAO()
Definition setup_exx.cpp:4
Definition klist.h:13
Definition ORB_read.h:19
Definition parallel_orbitals.h:9
Definition unitcell.h:17
Definition input_parameter.h:13