2#include "Coulomb/meTable.hpp"
11class CorePolarisation;
15class CorrelationPotential;
93[[nodiscard]]
bool allowed_K(
int K,
int kt,
int ks,
int twoJb,
int twoJa);
140 double omega_s,
const std::vector<DiracSpinor> &spectrum,
179 const std::vector<DiracSpinor> &core,
180 const std::vector<DiracSpinor> &excited,
234[[nodiscard]] std::pair<double, double>
239 const MBPT::CorrelationPotential *Sigma =
nullptr,
240 const std::vector<DiracSpinor> &project_onto = {},
241 std::ostream &outstream = std::cout);
279 const MBPT::CorrelationPotential *Sigma =
nullptr);
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:44
Virtual base class for core-polarisation (RPA); computes dV corrections.
Definition CorePolarisation.hpp:145
Uses TDHF to include core-polarisation (RPA) corrections to matrix elements of an external field oper...
Definition TDHF.hpp:59
Physical amplitudes and observables (matrix elements, second-order amplitudes); testable functions,...
Definition MatrixElements.cpp:15
bool allowed_K(int K, int kt, int ks, int twoJb, int twoJa)
Is rank K allowed: triangle rules for the operators (kt, ks) and states.
Definition SecondOrder.cpp:18
double sos_valence(int K, const DiracSpinor &Fb, const DiracSpinor &Fa, const DiracOperator::TensorOperator *t, const DiracOperator::TensorOperator *s, double omega, double omega_s, const std::vector< DiracSpinor > &spectrum, const ExternalField::CorePolarisation *dVt, const ExternalField::CorePolarisation *dVs, const Coulomb::meTable< double > &t_me, const Coulomb::meTable< double > &s_me)
Valence part of the second-order amplitude A^K, by sum-over-states.
Definition SecondOrder.cpp:45
double ms_core(int K, int twoJ, const DiracOperator::TensorOperator *t, const DiracOperator::TensorOperator *s, double omega, double omega_s, const std::vector< DiracSpinor > &core, const ExternalField::TDHF *dVt, const ExternalField::TDHF *dVs, const MBPT::CorrelationPotential *Sigma)
Contribution to A^K from the polarisation of the closed core, evaluated with mixed states.
Definition SecondOrder.cpp:215
int smallest_allowed_K(int kt, int ks, int twoJb, int twoJa)
The smallest rank K allowed for the amplitude; negative if there is none.
Definition SecondOrder.cpp:24
double sos_core(int K, int twoJ, const DiracOperator::TensorOperator *t, const DiracOperator::TensorOperator *s, double omega, double omega_s, const std::vector< DiracSpinor > &core, const std::vector< DiracSpinor > &excited, const ExternalField::CorePolarisation *dVt, const ExternalField::CorePolarisation *dVs)
Contribution to A^K from the polarisation of the closed core, by sum-over-states.
Definition SecondOrder.cpp:88
std::pair< double, double > ms_valence(int K, const DiracSpinor &Fb, const DiracSpinor &Fa, const DiracOperator::TensorOperator *t, const DiracOperator::TensorOperator *s, double omega, double omega_s, const ExternalField::TDHF *dVt, const ExternalField::TDHF *dVs, const MBPT::CorrelationPotential *Sigma, const std::vector< DiracSpinor > &project_onto, std::ostream &outstream)
Valence part of the second-order amplitude A^K, evaluated with mixed states (TDHF method).
Definition SecondOrder.cpp:120
Dirac operators: TensorOperator base class and derived implementations for single-particle (one-body)...
Definition SecondOrder.hpp:7
Core-polarisation (RPA) corrections to matrix elements of an external field.
Definition MatrixElements.hpp:9
Many-body perturbation theory.
Definition MatrixElements.hpp:12