ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
mul_potential_op.h
Go to the documentation of this file.
1#ifndef MUL_POTENTIAL_OP_H
2#define MUL_POTENTIAL_OP_H
4
5namespace hamilt {
6
7template <typename T, typename Device>
9{
10// int npw = rhopw_dev->npw;
11// int nks = wfcpw->nks;
12// int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1;
13// int nk = nks / nk_fac;
14//
15// #ifdef _OPENMP
16// #pragma omp parallel for schedule(static)
17// #endif
18// for (int ig = 0; ig < npw; ig++)
19// {
20// int ig_kq = ik * nks * npw + iq * npw + ig;
21// density_recip[ig] *= pot[ig_kq];
22// }
23 using FPTYPE = typename GetTypeReal<T>::type;
24 void operator()(const FPTYPE *pot, T *density_recip, int npw, int nks, int ik, int iq);
25};
26
27} // namespace hamilt
28
29#endif // MUL_POTENTIAL_OP_H
#define T
Definition exp.cpp:237
Definition hamilt.h:13
T type
Definition macros.h:8
Definition mul_potential_op.h:9
void operator()(const FPTYPE *pot, T *density_recip, int npw, int nks, int ik, int iq)
typename GetTypeReal< T >::type FPTYPE
Definition mul_potential_op.h:23