ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
sto_stress_pw.h
Go to the documentation of this file.
1#ifndef STO_STRESS_PW_H
2#define STO_STRESS_PW_H
3
8#include "sto_wf.h"
9
10// qianrui create 2021-6-4
11
12template <typename FPTYPE, typename Device = base_device::DEVICE_CPU>
13class Sto_Stress_PW : public Stress_Func<FPTYPE, Device>
14{
15 public:
18
19 // calculate the stress in PW basis
20 void cal_stress(ModuleBase::matrix& sigmatot,
21 const elecstate::ElecState& elec,
22 ModulePW::PW_Basis* rho_basis,
24 Structure_Factor* p_sf,
25 K_Vectors* p_kv,
26 ModulePW::PW_Basis_K* wfc_basis,
27 const psi::Psi<std::complex<FPTYPE>, Device>& psi_in,
28 const Stochastic_WF<std::complex<FPTYPE>, Device>& stowf,
29 const Charge* const chr,
30 const pseudopot_cell_vl* locpp,
32 UnitCell& ucell_in);
33
34 private:
36 const ModuleBase::matrix& wg,
38 K_Vectors* p_kv,
39 ModulePW::PW_Basis_K* wfc_basis,
40 const psi::Psi<std::complex<FPTYPE>, Device>& psi_in,
41 const Stochastic_WF<std::complex<FPTYPE>, Device>& stowf);
42
44 const ModuleBase::matrix& wg,
45 Structure_Factor* p_sf,
47 K_Vectors* p_kv,
48 ModulePW::PW_Basis_K* wfc_basis,
50 const UnitCell& ucell,
51 const psi::Psi<std::complex<FPTYPE>, Device>& psi,
52 const Stochastic_WF<std::complex<FPTYPE>, Device>& stowf);
53
54 private:
59};
60#endif
Definition charge.h:20
Definition klist.h:13
Definition matrix.h:19
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition symmetry.h:16
Definition sto_stress_pw.h:14
void cal_stress(ModuleBase::matrix &sigmatot, const elecstate::ElecState &elec, ModulePW::PW_Basis *rho_basis, ModuleSymmetry::Symmetry *p_symm, Structure_Factor *p_sf, K_Vectors *p_kv, ModulePW::PW_Basis_K *wfc_basis, const psi::Psi< std::complex< FPTYPE >, Device > &psi_in, const Stochastic_WF< std::complex< FPTYPE >, Device > &stowf, const Charge *const chr, const pseudopot_cell_vl *locpp, const pseudopot_cell_vnl *nlpp, UnitCell &ucell_in)
Definition sto_stress_pw.cpp:12
~Sto_Stress_PW()
Definition sto_stress_pw.h:17
void sto_stress_nl(ModuleBase::matrix &sigma, const ModuleBase::matrix &wg, Structure_Factor *p_sf, ModuleSymmetry::Symmetry *p_symm, K_Vectors *p_kv, ModulePW::PW_Basis_K *wfc_basis, const pseudopot_cell_vnl &nlpp, const UnitCell &ucell, const psi::Psi< std::complex< FPTYPE >, Device > &psi, const Stochastic_WF< std::complex< FPTYPE >, Device > &stowf)
Definition sto_stress_pw.cpp:141
void sto_stress_kin(ModuleBase::matrix &sigma, const ModuleBase::matrix &wg, ModuleSymmetry::Symmetry *p_symm, K_Vectors *p_kv, ModulePW::PW_Basis_K *wfc_basis, const psi::Psi< std::complex< FPTYPE >, Device > &psi_in, const Stochastic_WF< std::complex< FPTYPE >, Device > &stowf)
Definition sto_stress_pw.cpp:103
Sto_Stress_PW()
Definition sto_stress_pw.h:16
Definition sto_wf.h:13
Definition stress_func.h:57
pseudopot_cell_vnl * nlpp
Definition stress_func.h:277
const UnitCell * ucell
Definition stress_func.h:278
Definition structure_factor.h:11
Definition unitcell.h:16
Definition elecstate.h:15
Definition VL_in_pw.h:11
Definition VNL_in_pw.h:21
Definition psi.h:37
Definition exx_lip.h:23
Definition memory_op.h:77
Definition memory_op.h:17
Definition memory_op.h:31