ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
psi_initializer_random.h
Go to the documentation of this file.
1#ifndef PSI_INITIALIZER_RANDOM_H
2#define PSI_INITIALIZER_RANDOM_H
3
5#include "psi_initializer.h"
6
7/*
8Psi (planewave based wavefunction) initializer: random method
9*/
10template <typename T>
12{
13 private:
14 using Real = typename GetTypeReal<T>::type;
15
16 public:
18 {
19 this->method_ = "random";
20 };
25 virtual void init_psig(T* psig, const int& ik) override;
27 virtual void initialize(const Structure_Factor*, //< structure factor
28 const ModulePW::PW_Basis_K*, //< planewave basis
29 const UnitCell*, //< unit cell
30 const K_Vectors*, //< kpoints
31 const int& = 1, //< random seed
32 const pseudopot_cell_vnl* = nullptr, //< nonlocal pseudopotential
33 const int& = 0) override; //< MPI rank
34};
35#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_random.h:12
psi_initializer_random()
Definition psi_initializer_random.h:17
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_random.cpp:11
~psi_initializer_random()
Definition psi_initializer_random.h:21
virtual void init_psig(T *psig, const int &ik) override
calculate and output planewave wavefunction
Definition psi_initializer_random.cpp:28
typename GetTypeReal< T >::type Real
Definition psi_initializer_random.h:14
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