votca 2024.2-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 Member Functions

double SolveQP_Bisection (double lowerbound, double f_lowerbound, double upperbound, double f_upperbound, const QPFunc &f) const
 
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) const
 
boost::optional< double > SolveQP_FixedPoint (double intercept0, double frequency0, Index gw_level) const
 
boost::optional< double > SolveQP_Linearisation (double intercept0, double frequency0, Index gw_level) const
 
bool Converged (const Eigen::VectorXd &e1, const Eigen::VectorXd &e2, double epsilon) 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_
 
RPA rpa_
 

Detailed Description

Definition at line 34 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 36 of file gw.h.

Member Function Documentation

◆ CalcHomoLumoShift()

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

Definition at line 55 of file gw.cc.

◆ CalculateGWPerturbation()

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

Definition at line 143 of file gw.cc.

◆ CalculateHQP()

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

Definition at line 426 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 413 of file gw.cc.

◆ DiagonalizeQPHamiltonian()

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

Definition at line 68 of file gw.cc.

◆ getGWAResults()

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

Definition at line 237 of file gw.cc.

◆ getHQP()

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

Definition at line 62 of file gw.cc.

◆ PlotSigma()

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

Definition at line 432 of file gw.cc.

◆ PrintGWA_Energies()

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

Definition at line 75 of file gw.cc.

◆ PrintQP_Energies()

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

Definition at line 108 of file gw.cc.

◆ RPAInputEnergies()

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

Definition at line 89 of file gw.h.

◆ ScissorShift_DFTlevel()

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

Definition at line 135 of file gw.cc.

◆ SolveQP()

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

Definition at line 242 of file gw.cc.

◆ SolveQP_Bisection()

double votca::xtp::GW::SolveQP_Bisection ( double lowerbound,
double f_lowerbound,
double upperbound,
double f_upperbound,
const QPFunc & f ) const
private

Definition at line 382 of file gw.cc.

◆ SolveQP_FixedPoint()

boost::optional< double > votca::xtp::GW::SolveQP_FixedPoint ( double intercept0,
double frequency0,
Index gw_level ) const
private

Definition at line 367 of file gw.cc.

◆ SolveQP_Grid()

boost::optional< double > votca::xtp::GW::SolveQP_Grid ( double intercept0,
double frequency0,
Index gw_level ) const
private

Definition at line 314 of file gw.cc.

◆ SolveQP_Linearisation()

boost::optional< double > votca::xtp::GW::SolveQP_Linearisation ( double intercept0,
double frequency0,
Index gw_level ) const
private

Definition at line 299 of file gw.cc.

Member Data Documentation

◆ dft_energies_

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

Definition at line 105 of file gw.h.

◆ log_

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

Definition at line 102 of file gw.h.

◆ Mmn_

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

Definition at line 103 of file gw.h.

◆ opt_

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

Definition at line 99 of file gw.h.

◆ qptotal_

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

Definition at line 94 of file gw.h.

◆ rpa_

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

Definition at line 107 of file gw.h.

◆ sigma_

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

Definition at line 101 of file gw.h.

◆ Sigma_c_

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

Definition at line 97 of file gw.h.

◆ Sigma_x_

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

Definition at line 96 of file gw.h.

◆ vxc_

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

Definition at line 104 of file gw.h.


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