votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::Sigma_Exact Class Reference

#include <sigma_exact.h>

Inheritance diagram for votca::xtp::Sigma_Exact:
Collaboration diagram for votca::xtp::Sigma_Exact:

Public Member Functions

 Sigma_Exact (TCMatrix_gwbse &Mmn, RPA &rpa)
void PrepareScreening () final
double CalcCorrelationDiagElement (Index gw_level, double frequency) const final
double CalcCorrelationDiagElementDerivative (Index gw_level, double frequency) const final
Eigen::VectorXd CalcCorrelationDiagElements (Index gw_level, const Eigen::VectorXd &frequencies) const final
double CalcCorrelationOffDiagElement (Index gw_level1, Index gw_level2, double frequency1, double frequency2) const final
Eigen::MatrixXd CalcCorrelationOffDiag (const Eigen::VectorXd &frequencies) const final
 All off-diagonal elements as blocked matrix products.
bool HasPoleForm () const final
DiagPoleForm PoleForm (Index gw_level) const final
ScreeningData ScreeningDump (const Eigen::VectorXd &nu) const final
Public Member Functions inherited from votca::xtp::Sigma_base
 Sigma_base (TCMatrix_gwbse &Mmn, const RPA &rpa)
virtual ~Sigma_base ()=default
void configure (options opt)
Eigen::MatrixXd CalcExchangeMatrix () const
Eigen::MatrixXd CalcHartreeMatrix (const Eigen::MatrixXd &R=Eigen::MatrixXd()) 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::VectorXd CalcCorrelationDiag (const Eigen::VectorXd &frequencies) const
Eigen::MatrixXd CalcCorrelationSRG (const Eigen::VectorXd &frequencies, double s) const
virtual std::string ScreeningSummary () const
 One line about the screening just prepared (empty if nothing to say).
virtual bool HasOffDiagonal () const
 False if CalcCorrelationOffDiag only returns zeros (CDA).
void setKeepScreeningData (bool keep)
void setPairContractionMemory (double block_bytes, double chunk_bytes)
void setTimings (DFTTimings *timings)
 Times the parts of PrepareScreening in these timings (optional).
void ResetDiagEvalCounter () const
std::size_t GetDiagEvalCounter () const

Private Member Functions

ExactPoles Poles () const
const double * Residues (Index gw_level) const
Eigen::MatrixXd ScreeningModes (const Eigen::MatrixXd &XpY) const

Private Attributes

Eigen::VectorXd rpa_omegas_
Eigen::MatrixXd residues_
Eigen::MatrixXd modes_
Eigen::VectorXd screening_energies_

Additional Inherited Members

Protected Member Functions inherited from votca::xtp::Sigma_base
void CountDiagEval () const
Eigen::MatrixXd PairContraction (Index nrows, const std::function< void(Index, Eigen::MatrixXd &)> &makeX) const
Static Protected Member Functions inherited from votca::xtp::Sigma_base
static void FrameSums (const Eigen::MatrixXd &a, const Eigen::VectorXd &omegas, const Eigen::VectorXd &nu, ScreeningData &data)
Protected Attributes inherited from votca::xtp::Sigma_base
options opt_
TCMatrix_gwbse & Mmn_
const RPA & rpa_
DFTTimings * timings_ = nullptr
Index qptotal_ = 0
Index rpatotal_ = 0
bool keep_screening_data_ = false

Detailed Description

Definition at line 34 of file sigma_exact.h.

Constructor & Destructor Documentation

◆ Sigma_Exact()

votca::xtp::Sigma_Exact::Sigma_Exact ( TCMatrix_gwbse & Mmn,
RPA & rpa )
inline

Definition at line 37 of file sigma_exact.h.

Member Function Documentation

◆ CalcCorrelationDiagElement()

double votca::xtp::Sigma_Exact::CalcCorrelationDiagElement ( Index gw_level,
double frequency ) const
finalvirtual

Implements votca::xtp::Sigma_base.

Definition at line 98 of file sigma_exact.cc.

◆ CalcCorrelationDiagElementDerivative()

double votca::xtp::Sigma_Exact::CalcCorrelationDiagElementDerivative ( Index gw_level,
double frequency ) const
finalvirtual

Implements votca::xtp::Sigma_base.

Definition at line 114 of file sigma_exact.cc.

◆ CalcCorrelationDiagElements()

Eigen::VectorXd votca::xtp::Sigma_Exact::CalcCorrelationDiagElements ( Index gw_level,
const Eigen::VectorXd & frequencies ) const
finalvirtual

All frequencies of a level in one pass (far poles via Chebyshev interpolation, see exact_pole_sums)

Reimplemented from votca::xtp::Sigma_base.

Definition at line 105 of file sigma_exact.cc.

◆ CalcCorrelationOffDiag()

Eigen::MatrixXd votca::xtp::Sigma_Exact::CalcCorrelationOffDiag ( const Eigen::VectorXd & frequencies) const
finalvirtual

All off-diagonal elements as blocked matrix products.

Reimplemented from votca::xtp::Sigma_base.

Definition at line 134 of file sigma_exact.cc.

◆ CalcCorrelationOffDiagElement()

double votca::xtp::Sigma_Exact::CalcCorrelationOffDiagElement ( Index gw_level1,
Index gw_level2,
double frequency1,
double frequency2 ) const
finalvirtual

Implements votca::xtp::Sigma_base.

Definition at line 120 of file sigma_exact.cc.

◆ HasPoleForm()

bool votca::xtp::Sigma_Exact::HasPoleForm ( ) const
inlinefinalvirtual

Reimplemented from votca::xtp::Sigma_base.

Definition at line 59 of file sigma_exact.h.

◆ PoleForm()

Sigma_base::DiagPoleForm votca::xtp::Sigma_Exact::PoleForm ( Index gw_level) const
finalvirtual

Reimplemented from votca::xtp::Sigma_base.

Definition at line 58 of file sigma_exact.cc.

◆ Poles()

ExactPoles votca::xtp::Sigma_Exact::Poles ( ) const
private

Definition at line 93 of file sigma_exact.cc.

◆ PrepareScreening()

void votca::xtp::Sigma_Exact::PrepareScreening ( )
finalvirtual

Implements votca::xtp::Sigma_base.

Definition at line 32 of file sigma_exact.cc.

◆ Residues()

const double * votca::xtp::Sigma_Exact::Residues ( Index gw_level) const
inlineprivate

Definition at line 74 of file sigma_exact.h.

◆ ScreeningDump()

Sigma_base::ScreeningData votca::xtp::Sigma_Exact::ScreeningDump ( const Eigen::VectorXd & nu) const
finalvirtual

Reimplemented from votca::xtp::Sigma_base.

Definition at line 63 of file sigma_exact.cc.

◆ ScreeningModes()

Eigen::MatrixXd votca::xtp::Sigma_Exact::ScreeningModes ( const Eigen::MatrixXd & XpY) const
private

Definition at line 139 of file sigma_exact.cc.

Member Data Documentation

◆ modes_

Eigen::MatrixXd votca::xtp::Sigma_Exact::modes_
private

Definition at line 70 of file sigma_exact.h.

◆ residues_

Eigen::MatrixXd votca::xtp::Sigma_Exact::residues_
private

Definition at line 67 of file sigma_exact.h.

◆ rpa_omegas_

Eigen::VectorXd votca::xtp::Sigma_Exact::rpa_omegas_
private

Definition at line 64 of file sigma_exact.h.

◆ screening_energies_

Eigen::VectorXd votca::xtp::Sigma_Exact::screening_energies_
private

Definition at line 71 of file sigma_exact.h.


The documentation for this class was generated from the following files: