#include <clebsch_gordan_coeff.h>
◆ Clebsch_Gordan()
ModuleBase::Clebsch_Gordan::Clebsch_Gordan |
( |
| ) |
|
◆ ~Clebsch_Gordan()
ModuleBase::Clebsch_Gordan::~Clebsch_Gordan |
( |
| ) |
|
◆ clebsch_gordan()
computes Clebsch-Gordan coefficient
this routine computes the coefficients of the expansion of the product of two real spherical harmonics into real spherical harmonics.
Y_limi(r) * Y_ljmj(r) = \sum_LM ap(LM,limi,ljmj) Y_LM(r)
The indices limi,ljmj and LM assume the order for real spherical harmonics given in routine ylmr2
- Parameters
-
lli | [in] lmaxkb + 1: the maximum li considered |
ap | [out] coefficients of the expansion |
lpx | [out] for each input limi,ljmj is the number of LM in the sum |
lpl | [out] for each input limi,ljmj points to the allowed LM |
◆ compute_ap()
store the inverse of ylm(ir,lm) in mly(lm,ir)
- Parameters
-
L | [in] angular momentum L |
li | [in] angular momentum li |
lj | [in] angular momentum lj |
llx | [in] the number of vectors |
ylm | [in] real spherical harmonics |
mly | [in] the inverse of ylm(ir,lm) |
- Returns
- double the expansion coefficients
◆ gen_rndm_r()
void ModuleBase::Clebsch_Gordan::gen_rndm_r |
( |
const int & |
llx, |
|
|
ModuleBase::Vector3< double > * |
r |
|
) |
| |
|
staticprivate |
generate random vector
- Parameters
-
llx | [in] the number of vectors |
r | [out] an array of vectors |
The documentation for this class was generated from the following files: