2#include "CorePolarisation.hpp"
10class CorrelationPotential;
67 std::vector<std::vector<DiracSpinor>> m_X{};
68 std::vector<std::vector<DiracSpinor>> m_Y{};
69 std::vector<std::vector<DiracSpinor>> m_hFcore{};
73 const std::vector<DiracSpinor> m_core;
111 virtual void solve_core(
double omega,
int max_its = 100,
112 bool print =
true)
override;
116 virtual void clear() override final;
126 bool conj = false) const override;
133 const
int kappa_x) const;
158 const
int kappa_beta,
159 const
MBPT::CorrelationPotential *const Sigma =
nullptr,
165 const
MBPT::CorrelationPotential *const Sigma =
nullptr,
172 void initialise_dPsi();
175 std::pair<
double, std::
string> tdhf_core_it(
double omega,
double eta_damp);
177 std::vector<std::vector<
DiracSpinor>> form_hFcore() const;
180 const std::vector<
DiracSpinor> &hFbs, const
double omega,
181 dPsiType XorY,
double eps_ms = 1.0e-9) const;
184 TDHF &operator=(const
TDHF &) = delete;
General tensor operator (virtual base class); all single-particle (one-body) tenosor operators derive...
Definition TensorOperator.hpp:198
Stores radial Dirac spinor: F_nk = (f, g)
Definition DiracSpinor.hpp:42
Virtual base class for core-polarisation (RPA); computes dV corrections.
Definition CorePolarisation.hpp:140
Uses TDHF to include core-polarisation (RPA) corrections to matrix elements of an external field oper...
Definition TDHF.hpp:59
virtual void clear() override final
Clears the internal state back to pre solve_core()
Definition TDHF.cpp:70
const DiracSpinor & get_dPsi_x(const DiracSpinor &Fc, dPsiType XorY, const int kappa_x) const
Returns const ref to dPsi orbital of given kappa.
Definition TDHF.cpp:87
double dV(const DiracSpinor &Fa, const DiracSpinor &Fb, bool conj) const
Returns reduced matrix element , or the conjugate if conj=true.
Definition TDHF.cpp:337
std::vector< DiracSpinor > solve_dPsis(const DiracSpinor &Fv, const double omega, dPsiType XorY, const MBPT::CorrelationPotential *const Sigma=nullptr, StateType st=StateType::ket, bool incl_dV=true) const
Forms for all kappa channels; see solve_dPsi.
Definition TDHF.cpp:96
const std::vector< DiracSpinor > & get_dPsis(const DiracSpinor &Fc, dPsiType XorY) const
Returns const ref to dPsi orbitals for given core orbital Fc.
Definition TDHF.cpp:77
virtual void solve_core(double omega, int max_its=100, bool print=true) override
Solves TDHF equations self-consistently for core electrons at frequency omega.
Definition TDHF.cpp:274
virtual Method method() const override
Returns RPA method.
Definition TDHF.hpp:114
DiracSpinor dV_rhs(int kappa_n, const DiracSpinor &Fm, bool conj=false) const override
Returns [dV_pm * phi_m]_kappa: RHS of TDHF eq., projected onto kappa (see namespace doc)
Definition TDHF.cpp:349
DiracSpinor solve_dPsi(const DiracSpinor &Fv, const double omega, dPsiType XorY, const int kappa_beta, const MBPT::CorrelationPotential *const Sigma=nullptr, StateType st=StateType::ket, bool incl_dV=true) const
Forms for valence state Fv (including core pol.): single kappa channel.
Definition TDHF.cpp:109
Breit potentials for one- (Hartree-Fock Breit) and two-body Breit integrals.
Definition Breit.hpp:87
Solves relativistic Hartree-Fock equations for core and valence. Optionally includes Breit and QED ef...
Definition HartreeFock.hpp:72
Dirac operators: TensorOperator base class and derived implementations for single-particle (one-body)...
Definition GenerateOperator.cpp:6
Core-polarisation (RPA) corrections to matrix elements of an external field.
Definition calcMatrixElements.cpp:14
StateType
Whether the state is a bra or ket.
Definition CorePolarisation.hpp:112
dPsiType
Selects the perturbed orbital: X = varphi_+, Y = varphi_-.
Definition CorePolarisation.hpp:110
Method
Available RPA/core-polarisation methods.
Definition CorePolarisation.hpp:82
Functions and classes for Hartree-Fock.
Definition CI_Integrals.hpp:13
Many-body perturbation theory.
Definition CI_Integrals.hpp:10
void Breit(const IO::InputBlock &input, const Wavefunction &wf)
Breit corrections to HF energies and matrix elements.
Definition Breit.cpp:38