ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Public Member Functions | List of all members
Angular::CkTable

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.
 

Detailed Description

Lookup table for C^k and 3j symbols (special m=1/2, q=0 case)

Member Function Documentation

◆ fill()

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)


The documentation for this class was generated from the following files: