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

#include <rpa.h>

Collaboration diagram for votca::xtp::RPA:

Classes

struct  rpa_eigensolution

Public Member Functions

 RPA (Logger &log, const TCMatrix_gwbse &Mmn)
void configure (Index homo, Index rpamin, Index rpamax)
double getEta () const
void setOutOfWindowShift (const OutOfWindowShift &shift)
 How levels outside the GW window are shifted by UpdateRPAInputEnergies.
void setTimings (DFTTimings *timings)
 Times the dielectric-matrix builds in these timings (optional).
Eigen::MatrixXd calculate_epsilon_i (double frequency) const
Eigen::MatrixXd calculate_epsilon_r (double frequency) const
Eigen::MatrixXd calculate_epsilon_r (std::complex< double > frequency) const
const Eigen::VectorXd & getRPAInputEnergies () const
void setRPAInputEnergies (const Eigen::VectorXd &rpaenergies)
void UpdateRPAInputEnergies (const Eigen::VectorXd &dftenergies, const Eigen::VectorXd &gwaenergies, Index qpmin)
rpa_eigensolution Diagonalize_H2p () const

Private Member Functions

void VisitHoleVirtualRows (Index m_level, const WeightedGram::RowsVisitor &use) const
Eigen::MatrixXd ResponseSum (const WeightedGram::WeightsFn &weights) const
template<bool imag>
Eigen::MatrixXd calculate_epsilon (double frequency) const
Eigen::VectorXd Calculate_H2p_AmB () const
Eigen::MatrixXd Calculate_H2p_ApB () const
SymmetricEigenSystem Diagonalize_H2p_C (const Eigen::MatrixXd &C) const
void ShiftUncorrectedEnergies (const Eigen::VectorXd &dftenergies, Index qpmin, Index gwsize)

Private Attributes

Index homo_
Index rpamin_
Index rpamax_
const double eta_ = 0.0001
Eigen::VectorXd energies_
Logger & log_
const TCMatrix_gwbse & Mmn_
DFTTimings * timings_ = nullptr
OutOfWindowShift out_of_window_

Detailed Description

Definition at line 37 of file rpa.h.

Constructor & Destructor Documentation

◆ RPA()

votca::xtp::RPA::RPA ( Logger & log,
const TCMatrix_gwbse & Mmn )
inline

Definition at line 39 of file rpa.h.

Member Function Documentation

◆ calculate_epsilon()

template<bool imag>
template Eigen::MatrixXd votca::xtp::RPA::calculate_epsilon< false > ( double frequency) const
private

Definition at line 70 of file rpa.cc.

◆ calculate_epsilon_i()

Eigen::MatrixXd votca::xtp::RPA::calculate_epsilon_i ( double frequency) const
inline

Definition at line 57 of file rpa.h.

◆ calculate_epsilon_r() [1/2]

Eigen::MatrixXd votca::xtp::RPA::calculate_epsilon_r ( double frequency) const
inline

Definition at line 61 of file rpa.h.

◆ calculate_epsilon_r() [2/2]

Eigen::MatrixXd votca::xtp::RPA::calculate_epsilon_r ( std::complex< double > frequency) const

Definition at line 95 of file rpa.cc.

◆ Calculate_H2p_AmB()

Eigen::VectorXd votca::xtp::RPA::Calculate_H2p_AmB ( ) const
private

Definition at line 175 of file rpa.cc.

◆ Calculate_H2p_ApB()

Eigen::MatrixXd votca::xtp::RPA::Calculate_H2p_ApB ( ) const
private

Definition at line 190 of file rpa.cc.

◆ configure()

void votca::xtp::RPA::configure ( Index homo,
Index rpamin,
Index rpamax )
inline

Definition at line 41 of file rpa.h.

◆ Diagonalize_H2p()

RPA::rpa_eigensolution votca::xtp::RPA::Diagonalize_H2p ( ) const

Definition at line 113 of file rpa.cc.

◆ Diagonalize_H2p_C()

SymmetricEigenSystem votca::xtp::RPA::Diagonalize_H2p_C ( const Eigen::MatrixXd & C) const
private

Definition at line 213 of file rpa.cc.

◆ getEta()

double votca::xtp::RPA::getEta ( ) const
inline

Definition at line 47 of file rpa.h.

◆ getRPAInputEnergies()

const Eigen::VectorXd & votca::xtp::RPA::getRPAInputEnergies ( ) const
inline

Definition at line 67 of file rpa.h.

◆ ResponseSum()

Eigen::MatrixXd votca::xtp::RPA::ResponseSum ( const WeightedGram::WeightsFn & weights) const
private

Definition at line 58 of file rpa.cc.

◆ setOutOfWindowShift()

void votca::xtp::RPA::setOutOfWindowShift ( const OutOfWindowShift & shift)
inline

How levels outside the GW window are shifted by UpdateRPAInputEnergies.

Definition at line 50 of file rpa.h.

◆ setRPAInputEnergies()

void votca::xtp::RPA::setRPAInputEnergies ( const Eigen::VectorXd & rpaenergies)
inline

Definition at line 69 of file rpa.h.

◆ setTimings()

void votca::xtp::RPA::setTimings ( DFTTimings * timings)
inline

Times the dielectric-matrix builds in these timings (optional).

Definition at line 55 of file rpa.h.

◆ ShiftUncorrectedEnergies()

void votca::xtp::RPA::ShiftUncorrectedEnergies ( const Eigen::VectorXd & dftenergies,
Index qpmin,
Index gwsize )
private

Definition at line 46 of file rpa.cc.

◆ UpdateRPAInputEnergies()

void votca::xtp::RPA::UpdateRPAInputEnergies ( const Eigen::VectorXd & dftenergies,
const Eigen::VectorXd & gwaenergies,
Index qpmin )

Definition at line 32 of file rpa.cc.

◆ VisitHoleVirtualRows()

void votca::xtp::RPA::VisitHoleVirtualRows ( Index m_level,
const WeightedGram::RowsVisitor & use ) const
private

Definition at line 52 of file rpa.cc.

Member Data Documentation

◆ energies_

Eigen::VectorXd votca::xtp::RPA::energies_
private

Definition at line 93 of file rpa.h.

◆ eta_

const double votca::xtp::RPA::eta_ = 0.0001
private

Definition at line 91 of file rpa.h.

◆ homo_

Index votca::xtp::RPA::homo_
private

Definition at line 88 of file rpa.h.

◆ log_

Logger& votca::xtp::RPA::log_
private

Definition at line 95 of file rpa.h.

◆ Mmn_

const TCMatrix_gwbse& votca::xtp::RPA::Mmn_
private

Definition at line 96 of file rpa.h.

◆ out_of_window_

OutOfWindowShift votca::xtp::RPA::out_of_window_
private

Definition at line 115 of file rpa.h.

◆ rpamax_

Index votca::xtp::RPA::rpamax_
private

Definition at line 90 of file rpa.h.

◆ rpamin_

Index votca::xtp::RPA::rpamin_
private

Definition at line 89 of file rpa.h.

◆ timings_

DFTTimings* votca::xtp::RPA::timings_ = nullptr
private

Definition at line 97 of file rpa.h.


The documentation for this class was generated from the following files:
  • xtp/include/votca/xtp/rpa.h
  • xtp/src/libxtp/gwbse/rpa.cc