ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
TDHFbasis.hpp
1#pragma once
2#include "CorePolarisation.hpp"
3#include "TDHF.hpp"
4#include <vector>
5class DiracSpinor;
6namespace DiracOperator {
7class TensorOperator;
8}
9
10namespace ExternalField {
11
16
23class TDHFbasis final : public TDHF {
24public:
26 const HF::HartreeFock *const hf,
27 const std::vector<DiracSpinor> &basis);
28
29private:
30 const std::vector<DiracSpinor> m_basis; // store copy?
31
32public:
40 virtual void solve_core(const double omega, int max_its = 100,
41 const bool print = true) override final;
42
44 virtual Method method() const override final { return Method::basis; }
45
60 DiracSpinor form_dPsi(const DiracSpinor &Fv, const double omega,
61 dPsiType XorY, const int kappa_beta,
62 const std::vector<DiracSpinor> &spectrum,
63 StateType st = StateType::ket,
64 bool incl_dV = true) const;
65
67 std::vector<DiracSpinor> form_dPsis(const DiracSpinor &Fv, const double omega,
68 dPsiType XorY,
69 const std::vector<DiracSpinor> &spectrum,
70 StateType st = StateType::ket,
71 bool incl_dV = true) const;
72
73public:
74 TDHFbasis &operator=(const TDHFbasis &) = delete;
75 TDHFbasis(const TDHFbasis &) = default;
76 ~TDHFbasis() = default;
77};
78
79} // namespace ExternalField
General operator (virtual base class); operators derive from this.
Definition TensorOperator.hpp:110
Stores radial Dirac spinor: F_nk = (f, g)
Definition DiracSpinor.hpp:41
Uses time-dependent Hartree-Fock method to include core-polarisation (RPA) corrections to matrix elem...
Definition TDHF.hpp:40
Similar to the time-dependent Hartree-Fock method, but expands dPsi corrections using a basis to incl...
Definition TDHFbasis.hpp:23
delta epsilon psi f delta epsilon Psi f DiracSpinor form_dPsi(const DiracSpinor &Fv, const double omega, dPsiType XorY, const int kappa_beta, const std::vector< DiracSpinor > &spectrum, StateType st=StateType::ket, bool incl_dV=true) const
Forms \delta Psi_v for valence state Fv (including core pol.) - 1 kappa.
Definition TDHFbasis.cpp:19
std::vector< DiracSpinor > form_dPsis(const DiracSpinor &Fv, const double omega, dPsiType XorY, const std::vector< DiracSpinor > &spectrum, StateType st=StateType::ket, bool incl_dV=true) const
Forms \delta Psi_v for valence state Fv for all kappas (see form_dPsi)
Definition TDHFbasis.cpp:66
virtual void solve_core(const double omega, int max_its=100, const bool print=true) override final
Solves TDHF equations self-consistantly for core electrons at frequency omega, using basis expansion.
Definition TDHFbasis.cpp:91
virtual Method method() const override final
Returns RPA method.
Definition TDHFbasis.hpp:44
Solves relativistic Hartree-Fock equations for core and valence. Optionally includes Breit and QED ef...
Definition HartreeFock.hpp:70
Dirac Operators: General + derived.
Definition GenerateOperator.cpp:12
Calculates many-body corrections (RPA) to matrix elements of external field.
Definition calcMatrixElements.cpp:14