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

#include <gw_uks.h>

Collaboration diagram for votca::xtp::GW_UKS:

Classes

struct  options
class  QPFunc

Public Member Functions

 GW_UKS (Logger &log, TCMatrix_gwbse_spin &Mmn, const Eigen::MatrixXd &vxc_alpha, const Eigen::MatrixXd &vxc_beta, const Eigen::VectorXd &dft_energies_alpha, const Eigen::VectorXd &dft_energies_beta)
void configure (const options &opt)
void CalculateGWPerturbation ()
void CalculateHQP ()
Eigen::VectorXd getGWAResultsAlpha () const
Eigen::VectorXd getGWAResultsBeta () const
const Eigen::VectorXd & RPAInputEnergiesAlpha () const
const Eigen::VectorXd & RPAInputEnergiesBeta () const
Eigen::MatrixXd getHQPAlpha () const
Eigen::MatrixXd getHQPBeta () const
Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > DiagonalizeQPHamiltonianAlpha () const
Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > DiagonalizeQPHamiltonianBeta () const

Private Types

enum class  Spin { Alpha , Beta }

Private Member Functions

const Eigen::VectorXd & DftEnergies (Spin spin) const
const Eigen::MatrixXd & Vxc (Spin spin) const
Eigen::MatrixXd & SigmaX (Spin spin)
Eigen::MatrixXd & SigmaC (Spin spin)
const Eigen::MatrixXd & SigmaX (Spin spin) const
const Eigen::MatrixXd & SigmaC (Spin spin) const
Sigma_base_UKSSigmaEvaluator (Spin spin)
const Sigma_base_UKSSigmaEvaluator (Spin spin) const
Index Homo (Spin spin) const
const char * SpinName (Spin spin) const
Eigen::VectorXd ScissorShift_DFTlevel (const Eigen::VectorXd &dft_energies, Index homo) const
double CalcSpinHomoLumoShift (const Eigen::VectorXd &frequencies, Spin spin) const
void PrintGWA_Energies (Spin spin) const
void PrintQP_Energies (Spin spin, const Eigen::VectorXd &qp_diag_energies) const
Eigen::VectorXd SolveQP (Spin spin, const Eigen::VectorXd &frequencies) const
boost::optional< double > SolveQP_Grid (Spin spin, double intercept0, double frequency0, Index gw_level) const
boost::optional< double > SolveQP_FixedPoint (Spin spin, double intercept0, double frequency0, Index gw_level) const
boost::optional< double > SolveQP_Linearisation (Spin spin, double intercept0, double frequency0, Index gw_level) const
double SolveQP_Bisection (double lowerbound, double f_lowerbound, double upperbound, double f_upperbound, const QPFunc &f) const
bool Converged (const Eigen::VectorXd &e1, const Eigen::VectorXd &e2, double epsilon) const
std::string LevelLabel (Spin spin, Index level) const
const char * OccupationTag (Spin spin, Index level) const

Private Attributes

PPM ppm_
Index qptotal_ = 0
options opt_
Loggerlog_
TCMatrix_gwbse_spinMmn_
const Eigen::MatrixXd & vxc_alpha_
const Eigen::MatrixXd & vxc_beta_
const Eigen::VectorXd & dft_energies_alpha_
const Eigen::VectorXd & dft_energies_beta_
RPA_UKS rpa_
std::unique_ptr< Sigma_base_UKSsigma_alpha_
std::unique_ptr< Sigma_base_UKSsigma_beta_
Eigen::MatrixXd Sigma_x_alpha_
Eigen::MatrixXd Sigma_x_beta_
Eigen::MatrixXd Sigma_c_alpha_
Eigen::MatrixXd Sigma_c_beta_

Detailed Description

Definition at line 23 of file gw_uks.h.

Member Enumeration Documentation

◆ Spin

enum class votca::xtp::GW_UKS::Spin
strongprivate
Enumerator
Alpha 
Beta 

Definition at line 73 of file gw_uks.h.

Constructor & Destructor Documentation

◆ GW_UKS()

votca::xtp::GW_UKS::GW_UKS ( Logger & log,
TCMatrix_gwbse_spin & Mmn,
const Eigen::MatrixXd & vxc_alpha,
const Eigen::MatrixXd & vxc_beta,
const Eigen::VectorXd & dft_energies_alpha,
const Eigen::VectorXd & dft_energies_beta )

Definition at line 25 of file gw_uks.cc.

Member Function Documentation

◆ CalcSpinHomoLumoShift()

double votca::xtp::GW_UKS::CalcSpinHomoLumoShift ( const Eigen::VectorXd & frequencies,
Spin spin ) const
private

Definition at line 174 of file gw_uks.cc.

◆ CalculateGWPerturbation()

void votca::xtp::GW_UKS::CalculateGWPerturbation ( )

Definition at line 184 of file gw_uks.cc.

◆ CalculateHQP()

void votca::xtp::GW_UKS::CalculateHQP ( )

Definition at line 447 of file gw_uks.cc.

◆ configure()

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

Definition at line 38 of file gw_uks.cc.

◆ Converged()

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

Definition at line 438 of file gw_uks.cc.

◆ DftEnergies()

const Eigen::VectorXd & votca::xtp::GW_UKS::DftEnergies ( Spin spin) const
private

Definition at line 121 of file gw_uks.cc.

◆ DiagonalizeQPHamiltonianAlpha()

Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > votca::xtp::GW_UKS::DiagonalizeQPHamiltonianAlpha ( ) const

Definition at line 468 of file gw_uks.cc.

◆ DiagonalizeQPHamiltonianBeta()

Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > votca::xtp::GW_UKS::DiagonalizeQPHamiltonianBeta ( ) const

Definition at line 475 of file gw_uks.cc.

◆ getGWAResultsAlpha()

Eigen::VectorXd votca::xtp::GW_UKS::getGWAResultsAlpha ( ) const

Definition at line 292 of file gw_uks.cc.

◆ getGWAResultsBeta()

Eigen::VectorXd votca::xtp::GW_UKS::getGWAResultsBeta ( ) const

Definition at line 297 of file gw_uks.cc.

◆ getHQPAlpha()

Eigen::MatrixXd votca::xtp::GW_UKS::getHQPAlpha ( ) const

Definition at line 456 of file gw_uks.cc.

◆ getHQPBeta()

Eigen::MatrixXd votca::xtp::GW_UKS::getHQPBeta ( ) const

Definition at line 461 of file gw_uks.cc.

◆ Homo()

Index votca::xtp::GW_UKS::Homo ( Spin spin) const
private

Definition at line 145 of file gw_uks.cc.

◆ LevelLabel()

std::string votca::xtp::GW_UKS::LevelLabel ( Spin spin,
Index level ) const
private

Definition at line 152 of file gw_uks.cc.

◆ OccupationTag()

const char * votca::xtp::GW_UKS::OccupationTag ( Spin spin,
Index level ) const
private

Definition at line 162 of file gw_uks.cc.

◆ PrintGWA_Energies()

void votca::xtp::GW_UKS::PrintGWA_Energies ( Spin spin) const
private

Definition at line 481 of file gw_uks.cc.

◆ PrintQP_Energies()

void votca::xtp::GW_UKS::PrintQP_Energies ( Spin spin,
const Eigen::VectorXd & qp_diag_energies ) const
private

Definition at line 521 of file gw_uks.cc.

◆ RPAInputEnergiesAlpha()

const Eigen::VectorXd & votca::xtp::GW_UKS::RPAInputEnergiesAlpha ( ) const

Definition at line 302 of file gw_uks.cc.

◆ RPAInputEnergiesBeta()

const Eigen::VectorXd & votca::xtp::GW_UKS::RPAInputEnergiesBeta ( ) const

Definition at line 305 of file gw_uks.cc.

◆ ScissorShift_DFTlevel()

Eigen::VectorXd votca::xtp::GW_UKS::ScissorShift_DFTlevel ( const Eigen::VectorXd & dft_energies,
Index homo ) const
private

Definition at line 166 of file gw_uks.cc.

◆ SigmaC() [1/2]

Eigen::MatrixXd & votca::xtp::GW_UKS::SigmaC ( Spin spin)
private

Definition at line 130 of file gw_uks.cc.

◆ SigmaC() [2/2]

const Eigen::MatrixXd & votca::xtp::GW_UKS::SigmaC ( Spin spin) const
private

Definition at line 136 of file gw_uks.cc.

◆ SigmaEvaluator() [1/2]

Sigma_base_UKS & votca::xtp::GW_UKS::SigmaEvaluator ( Spin spin)
private

Definition at line 139 of file gw_uks.cc.

◆ SigmaEvaluator() [2/2]

const Sigma_base_UKS & votca::xtp::GW_UKS::SigmaEvaluator ( Spin spin) const
private

Definition at line 142 of file gw_uks.cc.

◆ SigmaX() [1/2]

Eigen::MatrixXd & votca::xtp::GW_UKS::SigmaX ( Spin spin)
private

Definition at line 127 of file gw_uks.cc.

◆ SigmaX() [2/2]

const Eigen::MatrixXd & votca::xtp::GW_UKS::SigmaX ( Spin spin) const
private

Definition at line 133 of file gw_uks.cc.

◆ SolveQP()

Eigen::VectorXd votca::xtp::GW_UKS::SolveQP ( Spin spin,
const Eigen::VectorXd & frequencies ) const
private

Definition at line 309 of file gw_uks.cc.

◆ SolveQP_Bisection()

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

Definition at line 412 of file gw_uks.cc.

◆ SolveQP_FixedPoint()

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

Definition at line 398 of file gw_uks.cc.

◆ SolveQP_Grid()

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

Definition at line 365 of file gw_uks.cc.

◆ SolveQP_Linearisation()

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

Definition at line 349 of file gw_uks.cc.

◆ SpinName()

const char * votca::xtp::GW_UKS::SpinName ( Spin spin) const
private

Definition at line 148 of file gw_uks.cc.

◆ Vxc()

const Eigen::MatrixXd & votca::xtp::GW_UKS::Vxc ( Spin spin) const
private

Definition at line 124 of file gw_uks.cc.

Member Data Documentation

◆ dft_energies_alpha_

const Eigen::VectorXd& votca::xtp::GW_UKS::dft_energies_alpha_
private

Definition at line 147 of file gw_uks.h.

◆ dft_energies_beta_

const Eigen::VectorXd& votca::xtp::GW_UKS::dft_energies_beta_
private

Definition at line 148 of file gw_uks.h.

◆ log_

Logger& votca::xtp::GW_UKS::log_
private

Definition at line 143 of file gw_uks.h.

◆ Mmn_

TCMatrix_gwbse_spin& votca::xtp::GW_UKS::Mmn_
private

Definition at line 144 of file gw_uks.h.

◆ opt_

options votca::xtp::GW_UKS::opt_
private

Definition at line 142 of file gw_uks.h.

◆ ppm_

PPM votca::xtp::GW_UKS::ppm_
private

Definition at line 104 of file gw_uks.h.

◆ qptotal_

Index votca::xtp::GW_UKS::qptotal_ = 0
private

Definition at line 141 of file gw_uks.h.

◆ rpa_

RPA_UKS votca::xtp::GW_UKS::rpa_
private

Definition at line 149 of file gw_uks.h.

◆ sigma_alpha_

std::unique_ptr<Sigma_base_UKS> votca::xtp::GW_UKS::sigma_alpha_
private

Definition at line 150 of file gw_uks.h.

◆ sigma_beta_

std::unique_ptr<Sigma_base_UKS> votca::xtp::GW_UKS::sigma_beta_
private

Definition at line 151 of file gw_uks.h.

◆ Sigma_c_alpha_

Eigen::MatrixXd votca::xtp::GW_UKS::Sigma_c_alpha_
private

Definition at line 154 of file gw_uks.h.

◆ Sigma_c_beta_

Eigen::MatrixXd votca::xtp::GW_UKS::Sigma_c_beta_
private

Definition at line 155 of file gw_uks.h.

◆ Sigma_x_alpha_

Eigen::MatrixXd votca::xtp::GW_UKS::Sigma_x_alpha_
private

Definition at line 152 of file gw_uks.h.

◆ Sigma_x_beta_

Eigen::MatrixXd votca::xtp::GW_UKS::Sigma_x_beta_
private

Definition at line 153 of file gw_uks.h.

◆ vxc_alpha_

const Eigen::MatrixXd& votca::xtp::GW_UKS::vxc_alpha_
private

Definition at line 145 of file gw_uks.h.

◆ vxc_beta_

const Eigen::MatrixXd& votca::xtp::GW_UKS::vxc_beta_
private

Definition at line 146 of file gw_uks.h.


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