ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
psi_initializer_atomic.h
Go to the documentation of this file.
1#ifndef PSI_INITIALIZER_ATOMIC_H
2#define PSI_INITIALIZER_ATOMIC_H
4#include "psi_initializer.h"
5
6/*
7Psi (planewave based wavefunction) initializer: atomic
8*/
9template <typename T>
11{
12 private:
13 using Real = typename GetTypeReal<T>::type;
14
15 public:
17 {
18 this->method_ = "atomic";
19 }
21
23 virtual void initialize(const Structure_Factor*, //< structure factor
24 const ModulePW::PW_Basis_K*, //< planewave basis
25 const UnitCell*, //< unit cell
26 const K_Vectors*, //< kpoints
27 const int& = 1, //< random seed
28 const pseudopot_cell_vnl* = nullptr, //< nonlocal pseudopotential
29 const int& = 0) override; //< MPI rank
30 virtual void tabulate() override;
31 virtual void init_psig(T* psig, const int& ik) override;
32
33 protected:
34 // allocate memory for overlap table
35 void allocate_ps_table();
36 std::vector<std::string> pseudopot_files_;
38};
39#endif
Definition klist.h:13
double float array
Definition realarray.h:21
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
Definition structure_factor.h:11
Definition unitcell.h:16
Definition VNL_in_pw.h:21
Definition psi_initializer_atomic.h:11
typename GetTypeReal< T >::type Real
Definition psi_initializer_atomic.h:13
~psi_initializer_atomic()
Definition psi_initializer_atomic.h:20
virtual void tabulate() override
CENTRAL FUNCTION: calculate the interpolate table if needed.
Definition psi_initializer_atomic.cpp:80
std::vector< std::string > pseudopot_files_
Definition psi_initializer_atomic.h:36
ModuleBase::realArray ovlp_pswfcjlq_
Definition psi_initializer_atomic.h:37
virtual void initialize(const Structure_Factor *, const ModulePW::PW_Basis_K *, const UnitCell *, const K_Vectors *, const int &=1, const pseudopot_cell_vnl *=nullptr, const int &=0) override
initialize the psi_initializer with external data and methods
Definition psi_initializer_atomic.cpp:50
virtual void init_psig(T *psig, const int &ik) override
CENTRAL FUNCTION: init psi in pw basis.
Definition psi_initializer_atomic.cpp:232
psi_initializer_atomic()
Definition psi_initializer_atomic.h:16
void allocate_ps_table()
Definition psi_initializer_atomic.cpp:30
Definition psi_initializer.h:53
std::string method_
method name
Definition psi_initializer.h:136
#define T
Definition exp.cpp:237
T type
Definition macros.h:8