ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
InhomogenousGreens.hpp
1#pragma once
2#include <vector>
3class DiracSpinor;
4
5namespace DiracODE {
6
7//==============================================================================
8
10
16DiracSpinor solve_inhomog(const int kappa, const double en,
17 const std::vector<double> &v,
18 const std::vector<double> &H_mag, const double alpha,
19 const DiracSpinor &source,
20 const DiracSpinor *const VxFa = nullptr,
21 const DiracSpinor *const Fa0 = nullptr,
22 double zion = 1, double mass = 1.0);
23
25
28void solve_inhomog(DiracSpinor &Fa, const double en,
29 const std::vector<double> &v,
30 const std::vector<double> &H_mag, const double alpha,
31 const DiracSpinor &source,
32 const DiracSpinor *const VxFa = nullptr,
33 const DiracSpinor *const Fa0 = nullptr, double zion = 1,
34 double mass = 1.0);
35
37
46void solve_inhomog(DiracSpinor &Fa, DiracSpinor &Fzero, DiracSpinor &Finf,
47 const double en, const std::vector<double> &v,
48 const std::vector<double> &H_mag, const double alpha,
49 const DiracSpinor &source,
50 const DiracSpinor *const VxFa = nullptr,
51 const DiracSpinor *const Fa0 = nullptr, double zion = 1,
52 double mass = 1.0);
53
54//==============================================================================
55
56namespace Internal {
57
58// Takes solution regular at infinity (Finf), and that regular at zero (Fzero),
59// and the inhomogenous source term, Sr, to find particular solution, Fa.
60void GreenSolution(DiracSpinor &Fa, const DiracSpinor &Finf,
61 const DiracSpinor &Fzero, const double alpha,
62 const DiracSpinor &Sr);
63
64} // namespace Internal
65} // namespace DiracODE
Stores radial Dirac spinor: F_nk = (f, g)
Definition DiracSpinor.hpp:41
Functions and classes used to solve the Dirac equation.
Definition AsymptoticSpinor.hpp:8
DiracSpinor solve_inhomog(const int kappa, const double en, const std::vector< double > &v, const std::vector< double > &H_mag, const double alpha, const DiracSpinor &source, const DiracSpinor *const VxFa, const DiracSpinor *const Fa0, double zion, double mass)
Solves inhomogeneous Dirac equation.
Definition InhomogenousGreens.cpp:21