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

#include <bse.h>

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

Classes

struct  ExpectationValues
 
struct  Interaction
 
struct  options
 

Public Member Functions

 BSE (Logger &log, TCMatrix_gwbse &Mmn)
 
void configure (const options &opt, const Eigen::VectorXd &RPAEnergies, const Eigen::MatrixXd &Hqp_in)
 
void Solve_singlets (Orbitals &orb) const
 
void Solve_triplets (Orbitals &orb) const
 
Eigen::MatrixXd getHqp () const
 
SingletOperator_TDA getSingletOperator_TDA () const
 
TripletOperator_TDA getTripletOperator_TDA () const
 
void Analyze_singlets (std::vector< QMFragment< BSE_Population > > fragments, const Orbitals &orb) const
 
void Analyze_triplets (std::vector< QMFragment< BSE_Population > > fragments, const Orbitals &orb) const
 
void Perturbative_DynamicalScreening (const QMStateType &type, Orbitals &orb)
 

Private Member Functions

tools::EigenSystem Solve_singlets_TDA () const
 
tools::EigenSystem Solve_singlets_BTDA () const
 
tools::EigenSystem Solve_triplets_TDA () const
 
tools::EigenSystem Solve_triplets_BTDA () const
 
void PrintWeights (const Eigen::VectorXd &weights) const
 
template<typename BSE_OPERATOR >
void configureBSEOperator (BSE_OPERATOR &H) const
 
template<typename BSE_OPERATOR >
tools::EigenSystem solve_hermitian (BSE_OPERATOR &h) const
 
template<typename BSE_OPERATOR_ApB , typename BSE_OPERATOR_AmB >
tools::EigenSystem Solve_nonhermitian (BSE_OPERATOR_ApB &apb, BSE_OPERATOR_AmB &) const
 
template<typename BSE_OPERATOR_A , typename BSE_OPERATOR_B >
tools::EigenSystem Solve_nonhermitian_Davidson (BSE_OPERATOR_A &Aop, BSE_OPERATOR_B &Bop) const
 
void printFragInfo (const std::vector< QMFragment< BSE_Population > > &frags, Index state) const
 
void printWeights (Index i_bse, double weight) const
 
void SetupDirectInteractionOperator (const Eigen::VectorXd &DFTenergies, double energy)
 
Eigen::MatrixXd AdjustHqpSize (const Eigen::MatrixXd &Hqp_in, const Eigen::VectorXd &RPAInputEnergies)
 
Interaction Analyze_eh_interaction (const QMStateType &type, const Orbitals &orb) const
 
template<typename BSE_OPERATOR >
ExpectationValues ExpectationValue_Operator (const QMStateType &type, const Orbitals &orb, const BSE_OPERATOR &H) const
 
template<typename BSE_OPERATOR >
ExpectationValues ExpectationValue_Operator_State (const QMState &state, const Orbitals &orb, const BSE_OPERATOR &H) const
 

Private Attributes

options opt_
 
Loggerlog_
 
Index bse_vmax_
 
Index bse_cmin_
 
Index bse_size_
 
Index bse_vtotal_
 
Index bse_ctotal_
 
Index max_dyn_iter_
 
double dyn_tolerance_
 
Eigen::VectorXd epsilon_0_inv_
 
TCMatrix_gwbseMmn_
 
Eigen::MatrixXd Hqp_
 

Detailed Description

Definition at line 40 of file bse.h.

Constructor & Destructor Documentation

◆ BSE()

votca::xtp::BSE::BSE ( Logger log,
TCMatrix_gwbse Mmn 
)
inline

Definition at line 45 of file bse.h.

Member Function Documentation

◆ AdjustHqpSize()

Eigen::MatrixXd votca::xtp::BSE::AdjustHqpSize ( const Eigen::MatrixXd &  Hqp_in,
const Eigen::VectorXd &  RPAInputEnergies 
)
private

Definition at line 61 of file bse.cc.

◆ Analyze_eh_interaction()

BSE::Interaction votca::xtp::BSE::Analyze_eh_interaction ( const QMStateType type,
const Orbitals orb 
) const
private

Definition at line 478 of file bse.cc.

◆ Analyze_singlets()

void votca::xtp::BSE::Analyze_singlets ( std::vector< QMFragment< BSE_Population > >  fragments,
const Orbitals orb 
) const

Definition at line 304 of file bse.cc.

◆ Analyze_triplets()

void votca::xtp::BSE::Analyze_triplets ( std::vector< QMFragment< BSE_Population > >  fragments,
const Orbitals orb 
) const

Definition at line 360 of file bse.cc.

◆ configure()

void votca::xtp::BSE::configure ( const options opt,
const Eigen::VectorXd &  RPAEnergies,
const Eigen::MatrixXd &  Hqp_in 
)

Definition at line 43 of file bse.cc.

◆ configureBSEOperator()

template<typename BSE_OPERATOR >
void votca::xtp::BSE::configureBSEOperator ( BSE_OPERATOR H) const
private

Definition at line 121 of file bse.cc.

◆ ExpectationValue_Operator()

template<typename BSE_OPERATOR >
BSE::ExpectationValues votca::xtp::BSE::ExpectationValue_Operator ( const QMStateType type,
const Orbitals orb,
const BSE_OPERATOR H 
) const
private

Definition at line 411 of file bse.cc.

◆ ExpectationValue_Operator_State()

template<typename BSE_OPERATOR >
BSE::ExpectationValues votca::xtp::BSE::ExpectationValue_Operator_State ( const QMState state,
const Orbitals orb,
const BSE_OPERATOR H 
) const
private

Definition at line 434 of file bse.cc.

◆ getHqp()

Eigen::MatrixXd votca::xtp::BSE::getHqp ( ) const
inline

Definition at line 73 of file bse.h.

◆ getSingletOperator_TDA()

SingletOperator_TDA votca::xtp::BSE::getSingletOperator_TDA ( ) const

Definition at line 166 of file bse.cc.

◆ getTripletOperator_TDA()

TripletOperator_TDA votca::xtp::BSE::getTripletOperator_TDA ( ) const

Definition at line 173 of file bse.cc.

◆ Perturbative_DynamicalScreening()

void votca::xtp::BSE::Perturbative_DynamicalScreening ( const QMStateType type,
Orbitals orb 
)

Definition at line 521 of file bse.cc.

◆ printFragInfo()

void votca::xtp::BSE::printFragInfo ( const std::vector< QMFragment< BSE_Population > > &  frags,
Index  state 
) const
private

Definition at line 273 of file bse.cc.

◆ PrintWeights()

void votca::xtp::BSE::PrintWeights ( const Eigen::VectorXd &  weights) const
private

Definition at line 289 of file bse.cc.

◆ printWeights()

void votca::xtp::BSE::printWeights ( Index  i_bse,
double  weight 
) const
private

◆ SetupDirectInteractionOperator()

void votca::xtp::BSE::SetupDirectInteractionOperator ( const Eigen::VectorXd &  DFTenergies,
double  energy 
)
private

Definition at line 102 of file bse.cc.

◆ solve_hermitian()

template<typename BSE_OPERATOR >
tools::EigenSystem votca::xtp::BSE::solve_hermitian ( BSE_OPERATOR h) const
private

Definition at line 181 of file bse.cc.

◆ Solve_nonhermitian()

template<typename BSE_OPERATOR_ApB , typename BSE_OPERATOR_AmB >
tools::EigenSystem votca::xtp::BSE::Solve_nonhermitian ( BSE_OPERATOR_ApB &  apb,
BSE_OPERATOR_AmB &   
) const
private

◆ Solve_nonhermitian_Davidson()

template<typename BSE_OPERATOR_A , typename BSE_OPERATOR_B >
tools::EigenSystem votca::xtp::BSE::Solve_nonhermitian_Davidson ( BSE_OPERATOR_A &  Aop,
BSE_OPERATOR_B &  Bop 
) const
private

Definition at line 230 of file bse.cc.

◆ Solve_singlets()

void votca::xtp::BSE::Solve_singlets ( Orbitals orb) const

Definition at line 138 of file bse.cc.

◆ Solve_singlets_BTDA()

tools::EigenSystem votca::xtp::BSE::Solve_singlets_BTDA ( ) const
private

Definition at line 209 of file bse.cc.

◆ Solve_singlets_TDA()

tools::EigenSystem votca::xtp::BSE::Solve_singlets_TDA ( ) const
private

Definition at line 157 of file bse.cc.

◆ Solve_triplets()

void votca::xtp::BSE::Solve_triplets ( Orbitals orb) const

Definition at line 148 of file bse.cc.

◆ Solve_triplets_BTDA()

tools::EigenSystem votca::xtp::BSE::Solve_triplets_BTDA ( ) const
private

Definition at line 219 of file bse.cc.

◆ Solve_triplets_TDA()

tools::EigenSystem votca::xtp::BSE::Solve_triplets_TDA ( ) const
private

Definition at line 131 of file bse.cc.

Member Data Documentation

◆ bse_cmin_

Index votca::xtp::BSE::bse_cmin_
private

Definition at line 101 of file bse.h.

◆ bse_ctotal_

Index votca::xtp::BSE::bse_ctotal_
private

Definition at line 104 of file bse.h.

◆ bse_size_

Index votca::xtp::BSE::bse_size_
private

Definition at line 102 of file bse.h.

◆ bse_vmax_

Index votca::xtp::BSE::bse_vmax_
private

Definition at line 100 of file bse.h.

◆ bse_vtotal_

Index votca::xtp::BSE::bse_vtotal_
private

Definition at line 103 of file bse.h.

◆ dyn_tolerance_

double votca::xtp::BSE::dyn_tolerance_
private

Definition at line 107 of file bse.h.

◆ epsilon_0_inv_

Eigen::VectorXd votca::xtp::BSE::epsilon_0_inv_
private

Definition at line 109 of file bse.h.

◆ Hqp_

Eigen::MatrixXd votca::xtp::BSE::Hqp_
private

Definition at line 112 of file bse.h.

◆ log_

Logger& votca::xtp::BSE::log_
private

Definition at line 99 of file bse.h.

◆ max_dyn_iter_

Index votca::xtp::BSE::max_dyn_iter_
private

Definition at line 106 of file bse.h.

◆ Mmn_

TCMatrix_gwbse& votca::xtp::BSE::Mmn_
private

Definition at line 111 of file bse.h.

◆ opt_

options votca::xtp::BSE::opt_
private

Definition at line 86 of file bse.h.


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