21#ifndef VOTCA_XTP_SIGMA_BASE_H
22#define VOTCA_XTP_SIGMA_BASE_H
97 const Eigen::VectorXd& frequencies)
const;
108 Index gw_level,
double frequency)
const = 0;
110 double frequency)
const = 0;
115 Index gw_level,
const Eigen::VectorXd& frequencies)
const {
116 Eigen::VectorXd result(frequencies.size());
117 for (
Index i = 0; i < frequencies.size(); ++i) {
125 double frequency2)
const = 0;
158 const std::function<
void(
Index, Eigen::MatrixXd&)>& makeX)
const;
Wall-clock accounting for the parts of a DFT run.
void setTimings(DFTTimings *timings)
Times the parts of PrepareScreening in these timings (optional).
virtual std::string ScreeningSummary() const
One line about the screening just prepared (empty if nothing to say).
std::atomic< std::size_t > diag_eval_counter_
void setPairContractionMemory(double block_bytes, double chunk_bytes)
Sigma_base(TCMatrix_gwbse &Mmn, const RPA &rpa)
std::size_t GetDiagEvalCounter() const
virtual Eigen::MatrixXd CalcCorrelationOffDiag(const Eigen::VectorXd &frequencies) const
virtual double CalcCorrelationDiagElementDerivative(Index gw_level, double frequency) const =0
virtual double CalcCorrelationOffDiagElement(Index gw_level1, Index gw_level2, double frequency1, double frequency2) const =0
void configure(options opt)
virtual double CalcCorrelationDiagElement(Index gw_level, double frequency) const =0
virtual void PrepareScreening()=0
virtual bool HasOffDiagonal() const
False if CalcCorrelationOffDiag only returns zeros (CDA).
Eigen::MatrixXd PairContraction(Index nrows, const std::function< void(Index, Eigen::MatrixXd &)> &makeX) const
virtual ~Sigma_base()=default
Eigen::VectorXd CalcCorrelationDiag(const Eigen::VectorXd &frequencies) const
Eigen::MatrixXd CalcReactionFieldMatrix(const Eigen::MatrixXd &R) const
Static self-energy of an environment reaction field: the COH+SEX pair for v_reac, in the QP window.
Eigen::MatrixXd CalcExchangeMatrix() const
void CountDiagEval() const
void ResetDiagEvalCounter() const
virtual Eigen::VectorXd CalcCorrelationDiagElements(Index gw_level, const Eigen::VectorXd &frequencies) const
Provides a means for comparing floating point numbers.
std::string quadrature_scheme