|
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. | |
| 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)