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

#include <gw.h>

Collaboration diagram for votca::xtp::GW:

Classes

struct  options
class  QPFunc

Public Member Functions

 GW (Logger &log, TCMatrix_gwbse &Mmn, const Eigen::MatrixXd &vxc, const Eigen::VectorXd &dft_energies)
void configure (const options &opt)
Eigen::VectorXd getGWAResults () const
void CalculateGWPerturbation ()
void CalculateHQP ()
Eigen::MatrixXd getHQP () const
Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > DiagonalizeQPHamiltonian () const
void PlotSigma (std::string filename, Index steps, double spacing, std::string states) const
Eigen::VectorXd RPAInputEnergies () const

Private Types

using EvalStage = qp_solver::EvalStage
using QPStats = qp_solver::Stats
using QPRootCandidate = qp_solver::RootCandidate
using QPWindowDiagnostics = qp_solver::WindowDiagnostics

Private Member Functions

double CalcHomoLumoShift (Eigen::VectorXd frequencies) const
Eigen::VectorXd ScissorShift_DFTlevel (const Eigen::VectorXd &dft_energies) const
void PrintQP_Energies (const Eigen::VectorXd &qp_diag_energies) const
void PrintGWA_Energies () const
Eigen::VectorXd SolveQP (const Eigen::VectorXd &frequencies) const
boost::optional< double > SolveQP_Grid (double intercept0, double frequency0, Index gw_level, QPStats *stats=nullptr) const
boost::optional< double > SolveQP_Grid_Windowed (double intercept0, double frequency0, Index gw_level, double left_limit, double right_limit, bool allow_rejected_return=true, QPStats *stats=nullptr) const
boost::optional< double > SolveQP_Grid_Windowed_Adaptive (double intercept0, double frequency0, Index gw_level, double left_limit, double right_limit, bool allow_rejected_return=true, QPStats *stats=nullptr) const
boost::optional< double > SolveQP_Grid_Windowed_Dense (double intercept0, double frequency0, Index gw_level, double left_limit, double right_limit, bool allow_rejected_return=true, QPStats *stats=nullptr) const
boost::optional< double > SolveQP_FixedPoint (double intercept0, double frequency0, Index gw_level, QPStats *stats=nullptr) const
boost::optional< double > SolveQP_Linearisation (double intercept0, double frequency0, Index gw_level, QPStats *stats=nullptr) const
bool Converged (const Eigen::VectorXd &e1, const Eigen::VectorXd &e2, double epsilon) const
boost::optional< QPRootCandidateRefineQPInterval (double lowerbound, double f_lowerbound, double upperbound, double f_upperbound, const QPFunc &f, double reference) const

Private Attributes

Index qptotal_
Eigen::MatrixXd Sigma_x_
Eigen::MatrixXd Sigma_c_
options opt_
std::unique_ptr< Sigma_basesigma_ = nullptr
Loggerlog_
TCMatrix_gwbseMmn_
const Eigen::MatrixXd & vxc_
const Eigen::VectorXd & dft_energies_
Index gw_sc_iteration_
RPA rpa_

Detailed Description

Definition at line 37 of file gw.h.

Member Typedef Documentation

◆ EvalStage

Definition at line 39 of file gw.h.

◆ QPRootCandidate

Definition at line 41 of file gw.h.

◆ QPStats

Definition at line 40 of file gw.h.

◆ QPWindowDiagnostics

Definition at line 42 of file gw.h.

Constructor & Destructor Documentation

◆ GW()

votca::xtp::GW::GW ( Logger & log,
TCMatrix_gwbse & Mmn,
const Eigen::MatrixXd & vxc,
const Eigen::VectorXd & dft_energies )
inline

Definition at line 45 of file gw.h.

Member Function Documentation

◆ CalcHomoLumoShift()

double votca::xtp::GW::CalcHomoLumoShift ( Eigen::VectorXd frequencies) const
private

Definition at line 60 of file gw.cc.

◆ CalculateGWPerturbation()

void votca::xtp::GW::CalculateGWPerturbation ( )

Definition at line 148 of file gw.cc.

◆ CalculateHQP()

void votca::xtp::GW::CalculateHQP ( )

Definition at line 696 of file gw.cc.

◆ configure()

void votca::xtp::GW::configure ( const options & opt)

Definition at line 35 of file gw.cc.

◆ Converged()

bool votca::xtp::GW::Converged ( const Eigen::VectorXd & e1,
const Eigen::VectorXd & e2,
double epsilon ) const
private

Definition at line 683 of file gw.cc.

◆ DiagonalizeQPHamiltonian()

Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > votca::xtp::GW::DiagonalizeQPHamiltonian ( ) const

Definition at line 73 of file gw.cc.

◆ getGWAResults()

Eigen::VectorXd votca::xtp::GW::getGWAResults ( ) const

Definition at line 242 of file gw.cc.

◆ getHQP()

Eigen::MatrixXd votca::xtp::GW::getHQP ( ) const

Definition at line 67 of file gw.cc.

◆ PlotSigma()

void votca::xtp::GW::PlotSigma ( std::string filename,
Index steps,
double spacing,
std::string states ) const

Definition at line 702 of file gw.cc.

◆ PrintGWA_Energies()

void votca::xtp::GW::PrintGWA_Energies ( ) const
private

Definition at line 80 of file gw.cc.

◆ PrintQP_Energies()

void votca::xtp::GW::PrintQP_Energies ( const Eigen::VectorXd & qp_diag_energies) const
private

Definition at line 113 of file gw.cc.

◆ RefineQPInterval()

boost::optional< QPRootCandidate > votca::xtp::GW::RefineQPInterval ( double lowerbound,
double f_lowerbound,
double upperbound,
double f_upperbound,
const QPFunc & f,
double reference ) const
private

◆ RPAInputEnergies()

Eigen::VectorXd votca::xtp::GW::RPAInputEnergies ( ) const
inline

Definition at line 120 of file gw.h.

◆ ScissorShift_DFTlevel()

Eigen::VectorXd votca::xtp::GW::ScissorShift_DFTlevel ( const Eigen::VectorXd & dft_energies) const
private

Definition at line 140 of file gw.cc.

◆ SolveQP()

Eigen::VectorXd votca::xtp::GW::SolveQP ( const Eigen::VectorXd & frequencies) const
private

Definition at line 247 of file gw.cc.

◆ SolveQP_FixedPoint()

boost::optional< double > votca::xtp::GW::SolveQP_FixedPoint ( double intercept0,
double frequency0,
Index gw_level,
QPStats * stats = nullptr ) const
private

Definition at line 665 of file gw.cc.

◆ SolveQP_Grid()

boost::optional< double > votca::xtp::GW::SolveQP_Grid ( double intercept0,
double frequency0,
Index gw_level,
QPStats * stats = nullptr ) const
private

Definition at line 601 of file gw.cc.

◆ SolveQP_Grid_Windowed()

boost::optional< double > votca::xtp::GW::SolveQP_Grid_Windowed ( double intercept0,
double frequency0,
Index gw_level,
double left_limit,
double right_limit,
bool allow_rejected_return = true,
QPStats * stats = nullptr ) const
private

Definition at line 547 of file gw.cc.

◆ SolveQP_Grid_Windowed_Adaptive()

boost::optional< double > votca::xtp::GW::SolveQP_Grid_Windowed_Adaptive ( double intercept0,
double frequency0,
Index gw_level,
double left_limit,
double right_limit,
bool allow_rejected_return = true,
QPStats * stats = nullptr ) const
private

Definition at line 357 of file gw.cc.

◆ SolveQP_Grid_Windowed_Dense()

boost::optional< double > votca::xtp::GW::SolveQP_Grid_Windowed_Dense ( double intercept0,
double frequency0,
Index gw_level,
double left_limit,
double right_limit,
bool allow_rejected_return = true,
QPStats * stats = nullptr ) const
private

Definition at line 427 of file gw.cc.

◆ SolveQP_Linearisation()

boost::optional< double > votca::xtp::GW::SolveQP_Linearisation ( double intercept0,
double frequency0,
Index gw_level,
QPStats * stats = nullptr ) const
private

Definition at line 336 of file gw.cc.

Member Data Documentation

◆ dft_energies_

const Eigen::VectorXd& votca::xtp::GW::dft_energies_
private

Definition at line 136 of file gw.h.

◆ gw_sc_iteration_

Index votca::xtp::GW::gw_sc_iteration_
private

Definition at line 138 of file gw.h.

◆ log_

Logger& votca::xtp::GW::log_
private

Definition at line 133 of file gw.h.

◆ Mmn_

TCMatrix_gwbse& votca::xtp::GW::Mmn_
private

Definition at line 134 of file gw.h.

◆ opt_

options votca::xtp::GW::opt_
private

Definition at line 130 of file gw.h.

◆ qptotal_

Index votca::xtp::GW::qptotal_
private

Definition at line 125 of file gw.h.

◆ rpa_

RPA votca::xtp::GW::rpa_
private

Definition at line 140 of file gw.h.

◆ sigma_

std::unique_ptr<Sigma_base> votca::xtp::GW::sigma_ = nullptr
private

Definition at line 132 of file gw.h.

◆ Sigma_c_

Eigen::MatrixXd votca::xtp::GW::Sigma_c_
private

Definition at line 128 of file gw.h.

◆ Sigma_x_

Eigen::MatrixXd votca::xtp::GW::Sigma_x_
private

Definition at line 127 of file gw.h.

◆ vxc_

const Eigen::MatrixXd& votca::xtp::GW::vxc_
private

Definition at line 135 of file gw.h.


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