ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
psi_initializer_file.h
Go to the documentation of this file.
1#ifndef PSI_INITIALIZER_FILE_H
2#define PSI_INITIALIZER_FILE_H
3
4#include "psi_initializer.h"
5
6/*
7Psi (planewave based wavefunction) initializer: random method
8*/
9template <typename T>
11{
12 private:
13 using Real = typename GetTypeReal<T>::type;
14
15 public:
17 {
18 this->method_ = "file";
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
34 virtual void init_psig(T* psig, const int& ik) override;
35};
36#endif
Definition klist.h:13
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_file.h:11
typename GetTypeReal< T >::type Real
Definition psi_initializer_file.h:13
virtual void init_psig(T *psig, const int &ik) override
calculate and output planewave wavefunction
Definition psi_initializer_file.cpp:24
~psi_initializer_file()
Definition psi_initializer_file.h:20
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_file.cpp:10
psi_initializer_file()
Definition psi_initializer_file.h:16
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