ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | List of all members
hamilt::cal_vnl_op< FPTYPE, Device > Struct Template Reference

#include <vnl_op.h>

Collaboration diagram for hamilt::cal_vnl_op< FPTYPE, Device >:

Public Member Functions

void operator() (const Device *ctx, const int &ntype, const int &npw, const int &npwx, const int &nhm, const int &tab_2, const int &tab_3, const int *atom_na, const int *atom_nb, const int *atom_nh, const FPTYPE &DQ, const FPTYPE &tpiba, const std::complex< FPTYPE > &NEG_IMAG_UNIT, const FPTYPE *gk, const FPTYPE *ylm, const FPTYPE *indv, const FPTYPE *nhtol, const FPTYPE *nhtolm, const FPTYPE *tab, FPTYPE *vkb1, const std::complex< FPTYPE > *sk, std::complex< FPTYPE > *vkb_in)
 Calculate the getvnl for multi-device.
 

Member Function Documentation

◆ operator()()

template<typename FPTYPE , typename Device >
void hamilt::cal_vnl_op< FPTYPE, Device >::operator() ( const Device *  ctx,
const int &  ntype,
const int &  npw,
const int &  npwx,
const int &  nhm,
const int &  tab_2,
const int &  tab_3,
const int *  atom_na,
const int *  atom_nb,
const int *  atom_nh,
const FPTYPE &  DQ,
const FPTYPE &  tpiba,
const std::complex< FPTYPE > &  NEG_IMAG_UNIT,
const FPTYPE *  gk,
const FPTYPE *  ylm,
const FPTYPE *  indv,
const FPTYPE *  nhtol,
const FPTYPE *  nhtolm,
const FPTYPE *  tab,
FPTYPE *  vkb1,
const std::complex< FPTYPE > *  sk,
std::complex< FPTYPE > *  vkb_in 
)

Calculate the getvnl for multi-device.

Input Parameters

Parameters
ctx- which device this function runs on
ntype- number of atomic type
npw- number of planewaves of current k point
npwx- number of planewaves of all k points
tab_2- the second dimension of the input table
tab_3- the third dimension of the input table
atom_nh- ucell.atoms[ii].ncpp.nh
atom_nb- ucell.atoms[it].ncpp.nbeta
atom_na- ucell.atoms[ii].na
DQ- PARAM.globalv.dq
tpiba- ucell.tpiba
NEG_IMAG_UNIT- ModuleBase::NEG_IMAG_UNIT
gk- GlobalC::wf.get_1qvec_cartesian
ylm- the result of ModuleBase::YlmReal::Ylm_Real
indv- pseudopot_cell_vnl::indv
nhtol- pseudopot_cell_vnl::nhtol
nhtolm- pseudopot_cell_vnl::nhtolm
tab- pseudopot_cell_vnl::tab
vkb1- intermedia matrix with size nkb * GlobalC::wf.npwx
sk- results of cal_sk

Output Parameters

Parameters
vkb_in- output results with size nkb * GlobalC::wf.npwx

The documentation for this struct was generated from the following file: