High-precision calculations for one- and two-valence atomic systems
ContinuumOrbitals

ok

Class stores set of continuum orbitals, and solves using Hartree-Fock method.

#include <ContinuumOrbitals.hpp>

Public Member Functions

 ContinuumOrbitals (const Wavefunction &wf)
 Takes existing Wavefunction object to construct.
 
 ContinuumOrbitals (const HF::HartreeFock *hf)
 Construct with Hartree-Fock pointer.
 
ContinuumOrbitals & operator= (const ContinuumOrbitals &)=default
 
 ContinuumOrbitals (const ContinuumOrbitals &)=default
 
int solveContinuumHF (double ec, int min_l, int max_l, const DiracSpinor *psi=nullptr, bool force_rescale=false, bool subtract_self=true, bool force_orthog=true, bool average_tail=false)
 Solves continuum states with energy ec between min/max l. average_tail: fill the (zeroed) unresolved high-r tail with a local average (see DiracODE::averageTail).
 
int solveContinuumZeff (double ec, int min_l, int max_l, double Z_eff, const DiracSpinor *Fi, bool force_orthog, bool average_tail=false)
 Solves cntm states using simple H-like potential eith effective charge (Z_eff). Usually, Zeff = sqrt{2 * I_{njl}} * n.
 
int solveContinuumZeffAnalytic (double ec, int min_l, int max_l, double Z_eff, const DiracSpinor *Fi, bool force_orthog)
 As solveContinuumZeff, but uses exact analytic Dirac-Coulomb functions rather than solving the ODE numerically. Relativistic case requires FLINT (see DiracContinuum::available).
 
double check_orthog (bool print=true) const
 Checks orthogonality between cntm and core orbitals, returns worst eps.
 
void clear ()
 Resets (deletes) all orbitals.
 

Public Attributes

std::vector< DiracSpinor > orbitals {}
 

Constructor & Destructor Documentation

◆ ContinuumOrbitals() [1/2]

ContinuumOrbitals::ContinuumOrbitals ( const Wavefunction &  wf)

Takes existing Wavefunction object to construct.

◆ ContinuumOrbitals() [2/2]

ContinuumOrbitals::ContinuumOrbitals ( const HF::HartreeFock *  hf)

Construct with Hartree-Fock pointer.

Member Function Documentation

◆ solveContinuumHF()

int ContinuumOrbitals::solveContinuumHF ( double  ec,
int  min_l,
int  max_l,
const DiracSpinor *  psi = nullptr,
bool  force_rescale = false,
bool  subtract_self = true,
bool  force_orthog = true,
bool  average_tail = false 
)

Solves continuum states with energy ec between min/max l. average_tail: fill the (zeroed) unresolved high-r tail with a local average (see DiracODE::averageTail).

◆ solveContinuumZeff()

int ContinuumOrbitals::solveContinuumZeff ( double  ec,
int  min_l,
int  max_l,
double  Z_eff,
const DiracSpinor *  Fi,
bool  force_orthog,
bool  average_tail = false 
)

Solves cntm states using simple H-like potential eith effective charge (Z_eff). Usually, Zeff = sqrt{2 * I_{njl}} * n.

◆ solveContinuumZeffAnalytic()

int ContinuumOrbitals::solveContinuumZeffAnalytic ( double  ec,
int  min_l,
int  max_l,
double  Z_eff,
const DiracSpinor *  Fi,
bool  force_orthog 
)

As solveContinuumZeff, but uses exact analytic Dirac-Coulomb functions rather than solving the ODE numerically. Relativistic case requires FLINT (see DiracContinuum::available).

◆ check_orthog()

double ContinuumOrbitals::check_orthog ( bool  print = true) const

Checks orthogonality between cntm and core orbitals, returns worst eps.

◆ clear()

void ContinuumOrbitals::clear ( )

Resets (deletes) all orbitals.


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