ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
|
Lookup table for C^k and 3j symbols (special m=1/2, q=0 case) More...
#include <CkTable.hpp>
Public Member Functions | |
CkTable (const int in_max_twoj=0) | |
Calculates and stored all Ck/3j symbols up to given maximum 2j. | |
void | fill (const int in_max_twoj) |
Extends existing look-up table to new twoj. More... | |
double | get_Ckab_mutable (int k, int ka, int kb) |
Ckab. mutable: will calculate if needed. Not thread safe. | |
double | get_tildeCkab_mutable (int k, int ka, int kb) |
tildeCkab. mutable: will calculate if needed. Not thread safe | |
double | get_3jkab_mutable (int k, int ka, int kb) |
special 3j(k, ka, kb). mutable: will calculate if needed. Not thread safe | |
double | get_Ckab (int k, int ka, int kb) const |
Ckab. Undefined if k, ka, or kb are out-of-bounds [check with max_tj()]. | |
double | get_tildeCkab (int k, int ka, int kb) const |
tildeCkab. Undefined if k, ka, or kb are out-of-bounds | |
double | get_3jkab (int k, int ka, int kb) const |
special 3j(k, ka, kb). Undefined if k, ka, or kb are out-of-bounds | |
double | operator() (int k, int ka, int kb) const |
Operator overload: returns Ckab. | |
double | get_Lambdakab (int k, int ka, int kb) const |
Lambda^k_ij := 3js((ji,jj,k),(-1/2,1/2,0))^2 * parity(li+lj+k) | |
int | max_tj () const |
Maximum value for 2j currently stored in tables. | |
int | max_k () const |
Maximum value for k currently stored in tables. | |
Lookup table for C^k and 3j symbols (special m=1/2, q=0 case)
void Angular::CkTable::fill | ( | const int | in_max_twoj | ) |
Extends existing look-up table to new twoj.
nb: called on construction automatically, you only need to call this if you need to extend the table after original construction (rare)