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

#include <math_ylm_op.h>

Collaboration diagram for ModuleBase::cal_ylm_real_op< FPTYPE, Device >:

Public Member Functions

void operator() (const Device *ctx, const int &ng, const int &lmax, const FPTYPE &SQRT2, const FPTYPE &PI, const FPTYPE &PI_HALF, const FPTYPE &FOUR_PI, const FPTYPE &SQRT_INVERSE_FOUR_PI, const FPTYPE *g, FPTYPE *p, FPTYPE *ylm)
 YLM_REAL::Real spherical harmonics ylm(G) up to l=lmax Use Numerical recursive algorithm as given in Numerical Recipes.
 

Member Function Documentation

◆ operator()()

template<typename FPTYPE , typename Device >
void ModuleBase::cal_ylm_real_op< FPTYPE, Device >::operator() ( const Device *  ctx,
const int &  ng,
const int &  lmax,
const FPTYPE &  SQRT2,
const FPTYPE &  PI,
const FPTYPE &  PI_HALF,
const FPTYPE &  FOUR_PI,
const FPTYPE &  SQRT_INVERSE_FOUR_PI,
const FPTYPE *  g,
FPTYPE *  p,
FPTYPE *  ylm 
)

YLM_REAL::Real spherical harmonics ylm(G) up to l=lmax Use Numerical recursive algorithm as given in Numerical Recipes.

Input Parameters

Parameters
ctx- which device this function runs on
ng- number of problem size
lmax- determined by lmax2
SQRT2- ModuleBase::SQRT2
PI- ModuleBase::PI
PI_HALF- ModuleBase::PI_HALF
FOUR_PI- ModuleBase::FOUR_PI,
SQRT_INVERSE_FOUR_PI- ModuleBase::SQRT_INVERSE_FOUR_PI,
g- input array with size npw * 3, wf.get_1qvec_cartesian
p- intermediate array

Output Parameters

Parameters
ylm- output array

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