ampsci
High-precision calculations for one- and two-valence atomic systems
DiracODE::Internal::CDiracDerivative

ok

Complex-energy Dirac derivative matrix: dF/du = D(u)*F(u).

Complex-energy analogue of DiracDerivative. Accepts a complex orbital energy en, returning complex matrix elements. See DiracDerivative for the form of D; the only difference here is Y = std::complex<double>.

Note
Non-copyable; stores raw pointers to grid and potential arrays.

#include <ComplexDirac.hpp>

+ Inheritance diagram for DiracODE::Internal::CDiracDerivative:

Public Member Functions

 CDiracDerivative (const Grid &in_grid, const std::vector< double > &in_v, const int in_k, const std::complex< double > in_en, const double in_alpha, const std::vector< double > &V_off_diag={})
 Constructs the complex Dirac derivative matrix.
 
std::complex< double > a (std::size_t i) const final
 D matrix elements (see DiracDerivative for definitions); index i is grid point.
 
std::complex< double > b (std::size_t i) const final
 
std::complex< double > c (std::size_t i) const final
 
std::complex< double > d (std::size_t i) const final
 
 CDiracDerivative (const CDiracDerivative &)=delete
 
void operator= (const CDiracDerivative &)=delete
 
- Public Member Functions inherited from AdamsMoulton::DerivativeMatrix< std::size_t, std::complex< double > >
virtual std::complex< double > Sf (std::size_t) const
 Sf and Sg are optional inhomogenous terms.
 
virtual std::complex< double > Sg (std::size_t) const
 

Public Attributes

const Grid *const pgr
 
const std::vector< double > *const v
 
const std::vector< double > *const Hmag
 
const double zion = 1.0
 
const int k
 
const std::complex< double > en
 
const double alpha
 
const double cc
 

Constructor & Destructor Documentation

◆ CDiracDerivative()

DiracODE::Internal::CDiracDerivative::CDiracDerivative ( const Grid in_grid,
const std::vector< double > &  in_v,
const int  in_k,
const std::complex< double >  in_en,
const double  in_alpha,
const std::vector< double > &  V_off_diag = {} 
)

Constructs the complex Dirac derivative matrix.

Parameters
in_gridRadial grid.
in_vLocal potential v(r).
in_kOrbital kappa quantum number.
in_enComplex orbital energy.
in_alphaFine-structure constant.
V_off_diagOptional off-diagonal (magnetic) potential. If empty, treated as zero.

Member Function Documentation

◆ a()

std::complex< double > DiracODE::Internal::CDiracDerivative::a ( std::size_t  i) const
finalvirtual

D matrix elements (see DiracDerivative for definitions); index i is grid point.

Implements AdamsMoulton::DerivativeMatrix< std::size_t, std::complex< double > >.

◆ b()

std::complex< double > DiracODE::Internal::CDiracDerivative::b ( std::size_t  i) const
finalvirtual

◆ c()

std::complex< double > DiracODE::Internal::CDiracDerivative::c ( std::size_t  i) const
finalvirtual

◆ d()

std::complex< double > DiracODE::Internal::CDiracDerivative::d ( std::size_t  i) const
finalvirtual

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