|
ampsci
High-precision calculations for one- and two-valence atomic systems
|
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>.
#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 |
| 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.
| in_grid | Radial grid. |
| in_v | Local potential v(r). |
| in_k | Orbital kappa quantum number. |
| in_en | Complex orbital energy. |
| in_alpha | Fine-structure constant. |
| V_off_diag | Optional off-diagonal (magnetic) potential. If empty, treated as zero. |
|
finalvirtual |
D matrix elements (see DiracDerivative for definitions); index i is grid point.
Implements AdamsMoulton::DerivativeMatrix< std::size_t, std::complex< double > >.
|
finalvirtual |
|
finalvirtual |
|
finalvirtual |