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
3#include "source_psi/psi.h"
5
6namespace hamilt {
7
8template <typename T, typename Device>
10{
11// int npw = rhopw_dev->npw;
12// int nks = wfcpw->nks;
13// int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1;
14// int nk = nks / nk_fac;
15//
16// #ifdef _OPENMP
17// #pragma omp parallel for schedule(static)
18// #endif
19// for (int ig = 0; ig < npw; ig++)
20// {
21// int ig_kq = ik * nks * npw + iq * npw + ig;
22// density_recip[ig] *= pot[ig_kq];
23// }
24 using FPTYPE = typename GetTypeReal<T>::type;
25 void operator()(const FPTYPE *pot, T *density_recip, int npw, int nks, int ik, int iq);
26};
27
28} // namespace hamilt
29
30#endif // MUL_POTENTIAL_OP_H
#define T
Definition exp.cpp:237
Definition hamilt.h:12
T type
Definition macros.h:8
Definition mul_potential_op.h:10
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:24