|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <math_ylm_op.h>
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. | |
| 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
| 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
| ylm | - output array |