1#ifndef MODULEHAMILTPW_ONSITEPROJTOOLS_H
2#define MODULEHAMILTPW_ONSITEPROJTOOLS_H
29template <
typename FPTYPE,
typename Device>
35 const psi::Psi<std::complex<FPTYPE>, Device>* psi_in,
44 const std::vector<int>& lproj,
47 std::complex<FPTYPE>* vkb_buf,
49 const psi::Psi<std::complex<FPTYPE>, Device>* psi_in,
61 void cal_becp(
int ik,
int npm, std::complex<FPTYPE>* becp_in =
nullptr,
const std::complex<FPTYPE>* ppsi_in =
nullptr);
66 void cal_dbecp_s(
int ik,
int npm,
int ipol,
int jpol);
72 void cal_force_dftu(
int ik,
int npm, FPTYPE* force,
const int* orbital_corr,
const std::complex<FPTYPE>* vu,
const int size_vu,
const FPTYPE* h_wg);
74 void cal_stress_dftu(
int ik,
int npm, FPTYPE* stress,
const int* orbital_corr,
const std::complex<FPTYPE>* vu,
const int size_vu,
const FPTYPE* h_wg);
87 const std::vector<int>&
nproj,
88 const std::vector<int>& nch);
133 void transfer_gcar(
int npw,
int npw_max,
const FPTYPE* gcar_in);
166 std::complex<FPTYPE>*
hd_sk =
nullptr;
177 std::complex<FPTYPE>*
dbecp =
nullptr;
178 std::complex<FPTYPE>*
becp =
nullptr;
3 elements vector
Definition vector3.h:22
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 VNL_in_pw.h:21
AbacusDevice_t
Definition types.h:12
Definition math_kernel_op.h:217
Definition memory_op.cpp:92
Definition memory_op.h:77
Definition memory_op.cpp:20
Definition memory_op.h:17
Definition memory_op.h:31
Definition memory_op.h:45
Definition stress_op.h:15
Definition stress_op.h:57
Definition stress_op.h:181
Definition stress_op.h:166
Definition stress_op.h:217
Definition stress_op.h:201