2#include "CorePolarisation.hpp"
10class CorrelationPotential;
50 std::vector<std::vector<DiracSpinor>> m_X{};
51 std::vector<std::vector<DiracSpinor>> m_Y{};
52 std::vector<std::vector<DiracSpinor>> m_hFcore{};
56 const std::vector<DiracSpinor> m_core;
79 virtual void solve_core(
double omega,
int max_its = 100,
80 bool print =
true)
override;
82 virtual Method
method()
const override {
return Method::TDHF; }
84 virtual void clear() override final;
94 bool conj = false) const override;
101 const
int kappa_x) const;
127 const
int kappa_beta,
128 const
MBPT::CorrelationPotential *const Sigma =
nullptr,
129 StateType st = StateType::ket,
bool incl_dV = true) const;
134 const
MBPT::CorrelationPotential *const Sigma =
nullptr,
135 StateType st = StateType::ket,
bool incl_dV = true) const;
141 void initialise_dPsi();
144 std::pair<
double, std::
string> tdhf_core_it(
double omega,
double eta_damp);
146 std::vector<std::vector<
DiracSpinor>> form_hFcore() const;
149 const std::vector<
DiracSpinor> &hFbs, const
double omega,
150 dPsiType XorY,
double eps_ms = 1.0e-9) const;
153 TDHF &operator=(const
TDHF &) = delete;
General tensor operator (virtual base class); all single-particle (one-body) tenosor operators derive...
Definition TensorOperator.hpp:197
Stores radial Dirac spinor: F_nk = (f, g)
Definition DiracSpinor.hpp:42
Virtual Core Polarisation class, for <a||dV||b>. See TDHF, DiagramRPA, etc.
Definition CorePolarisation.hpp:38
Uses TDHF to include core-polarisation (RPA) corrections to matrix elements of an external field oper...
Definition TDHF.hpp:42
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:82
DiracSpinor dV_rhs(int kappa_n, const DiracSpinor &Fm, bool conj=false) const override
Calculates reduced right-hand-side, projected onto kappa: [dV|phi_m]_kappa.
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.
Definition TDHF.cpp:109
Breit (Hartree-Fock Breit) interaction potential.
Definition Breit.hpp:52
Solves relativistic Hartree-Fock equations for core and valence. Optionally includes Breit and QED ef...
Definition HartreeFock.hpp:71
Dirac operators: TensorOperator base class and derived implementations for single-particle (one-body)...
Definition GenerateOperator.cpp:3
Calculates many-body corrections (RPA) to matrix elements of external field.
Definition calcMatrixElements.cpp:14
Functions and classes for Hartree-Fock.
Definition CI_Integrals.hpp:13
Many-body perturbation theory.
Definition CI_Integrals.hpp:10