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{};
70 std::vector<std::vector<DiracSpinor>> m_hFcore_minus{};
74 const std::vector<DiracSpinor> m_core;
83 bool m_eps_sqrt{
false};
125 virtual void solve_core(
double omega,
int max_its = 100,
126 bool print =
true)
override;
130 virtual void clear() override final;
140 bool conj = false) const override;
147 const
int kappa_x) const;
172 const
int kappa_beta,
173 const
MBPT::CorrelationPotential *const Sigma =
nullptr,
179 const
MBPT::CorrelationPotential *const Sigma =
nullptr,
186 void initialise_dPsi();
189 std::pair<
double, std::
string> tdhf_core_it(
double omega,
double eta_damp);
195 const std::vector<
DiracSpinor> &hFbs, const
double omega,
196 dPsiType XorY,
double eps_ms = 1.0e-9) const;
201 dPsiType XorY,
double eps_ms = 1.0e-9) const;
206 std::pair<
double, std::
string>
207 eps_dPsi(const std::vector<std::vector<
DiracSpinor>> &Xnew,
208 bool relative) const;
211 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:74
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:91
double dV(const DiracSpinor &Fa, const DiracSpinor &Fb, bool conj) const
Returns reduced matrix element , or the conjugate if conj=true.
Definition TDHF.cpp:388
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:100
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:81
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:334
virtual Method method() const override
Returns RPA method.
Definition TDHF.hpp:128
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:400
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:113
Breit potentials for one- (Hartree-Fock Breit) and two-body Breit integrals.
Definition Breit.hpp:88
Solves relativistic Hartree-Fock equations for core and valence. Optionally includes Breit and QED ef...
Definition HartreeFock.hpp:92
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