2#include "CorePolarisation.hpp"
3#include "Coulomb/QkTable.hpp"
5#include "IO/FRW_fileReadWrite.hpp"
6#include "Wavefunction/DiracSpinor.hpp"
85 std::optional<HF::Breit> m_Br{};
86 std::vector<DiracSpinor> m_holes{};
87 std::vector<DiracSpinor> m_excited{};
91 std::vector<std::vector<double>> m_t0am{};
92 std::vector<std::vector<double>> m_t0ma{};
94 std::vector<std::vector<double>> m_tam{};
95 std::vector<std::vector<double>> m_tma{};
99 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wanmb{};
100 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wabmn{};
101 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wmnab{};
102 std::vector<std::vector<std::vector<std::vector<double>>>> m_Wmban{};
123 const std::vector<DiracSpinor> &basis,
165 void solve_core(
double omega,
int max_its = 200,
166 bool print =
true)
override final;
192 bool conj =
false) const final;
221 bool read_write(const std::
string &fname,
IO::FRW::RoW rw,
bool print = true);
224 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: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
RPA correction to matrix elements using the diagram technique.
Definition DiagramRPA.hpp:81
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:169
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:72
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:6
Core-polarisation (RPA) corrections to matrix elements of an external field.
Definition calcMatrixElements.cpp:14
Method
Available RPA/core-polarisation methods.
Definition CorePolarisation.hpp:82
Functions and classes for Hartree-Fock.
Definition CI_Integrals.hpp:13
In-out (timers, profilers, and read/write data)
Definition ChronoTimer.hpp:9