2#include "CorePolarisation.hpp"
3#include "Coulomb/QkTable.hpp"
5#include "IO/FRW_fileReadWrite.hpp"
6#include "Wavefunction/DiracSpinor.hpp"
71 std::optional<HF::Breit> m_Br{};
72 std::vector<DiracSpinor> m_holes{};
73 std::vector<DiracSpinor> m_excited{};
77 std::vector<std::vector<double>> m_t0am{};
78 std::vector<std::vector<double>> m_t0ma{};
80 std::vector<std::vector<double>> m_tam{};
81 std::vector<std::vector<double>> m_tma{};
85 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wanmb{};
86 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wabmn{};
87 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wmnab{};
88 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wmban{};
108 const std::vector<DiracSpinor> &basis,
135 void solve_core(
double omega,
int max_its = 200,
136 bool print =
true)
override final;
139 Method
method() const final {
return Method::diagram; }
161 bool conj =
false) const final;
188 bool read_write(const std::
string &fname,
IO::FRW::RoW rw,
bool print = true);
191 void fill_W_matrix(const
DiracOperator::TensorOperator *const h,
bool print);
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
RPA correction to matrix elements, using Diagram technique.
Definition DiagramRPA.hpp:67
DiracSpinor dV_rhs(int kappa, const DiracSpinor &Fm, bool conj=false) const final
Calculates reduced right-hand-side, projected onto kappa: [dV|phi_m]_kappa.
Definition DiagramRPA.cpp:409
void solve_core(double omega, int max_its=200, bool print=true) override final
Iterates the RPA equations to convergence for the core electrons.
Definition DiagramRPA.cpp:470
void update_t0s(const DiracOperator::TensorOperator *const h=nullptr)
Updates the zeroth-order matrix elements and resets the RPA solution.
Definition DiagramRPA.cpp:316
double dV(const DiracSpinor &Fa, const DiracSpinor &Fb) const override final
Returns the RPA correction to a reduced matrix element.
Definition DiagramRPA.cpp:352
Method method() const final
Returns the RPA method identifier (diagram)
Definition DiagramRPA.hpp:139
void clear() final
Resets the RPA matrix elements to their unperturbed (zeroth-order) values.
Definition DiagramRPA.cpp:310
Solves relativistic Hartree-Fock equations for core and valence. Optionally includes Breit and QED ef...
Definition HartreeFock.hpp:71
Stores Wavefunction (set of valence orbitals, grid, HF etc.)
Definition Wavefunction.hpp:37
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
In-out (timers, profilers, and read/write data)
Definition ChronoTimer.hpp:9