14#ifndef NONLOCALTEMPLATE_H
15#define NONLOCALTEMPLATE_H
23template<
typename T,
typename Device>
34 template<
typename T_in,
typename Device_in = Device>
39 virtual void init(
const int ik_in)
override;
41 virtual void act(
const int nbands,
47 const bool is_first_node =
false)
const override;
49 const int *
get_isk()
const {
return this->isk;}
62 void add_nonlocal_pp(
T *hpsi_in,
const T *becp,
const int m)
const;
64 mutable int max_npw = 0;
70 mutable size_t nkb_m = 0;
72 const int* isk =
nullptr;
80 mutable T *ps =
nullptr;
81 mutable T *vkb =
nullptr;
82 mutable T *becp =
nullptr;
84 base_device::DEVICE_CPU* cpu_ctx = {};
86 T * deeq_nc =
nullptr;
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
nonlocal_pw_op< Real, Device > nonlocal_op
Definition nonlocal_pw.h:90
typename GetTypeReal< T >::type Real
Definition nonlocal_pw.h:27
const int * get_isk() const
Definition nonlocal_pw.h:49
T * get_vkb() const
Definition nonlocal_pw.h:52
const UnitCell * get_ucell() const
Definition nonlocal_pw.h:51
const pseudopot_cell_vnl * get_ppcell() const
Definition nonlocal_pw.h:50
T * get_becp() const
Definition nonlocal_pw.h:56
Definition nonlocal_pw.h:17
Definition operator_pw.h:8
Definition VNL_in_pw.h:21
#define T
Definition exp.cpp:237
T type
Definition macros.h:8
Definition math_kernel_op.h:217
Definition math_kernel_op.h:192
Definition memory_op.h:77
Definition memory_op.h:17
Definition memory_op.h:31
Definition memory_op.h:45
Definition nonlocal_op.h:9
const std::map< std::string, std::vector< double > > zero
Definition vdwd3_autoset_xcparam.cpp:323