votca 2024-dev
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
votca::xtp::GW Class Reference

#include <gw.h>

Collaboration diagram for votca::xtp::GW:
Collaboration graph
[legend]

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: