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

Evaluates electronic coupling elements. More...

#include <bsecoupling.h>

Inheritance diagram for votca::xtp::BSECoupling:
Inheritance graph
[legend]
Collaboration diagram for votca::xtp::BSECoupling:
Collaboration graph
[legend]

Public Member Functions

void Initialize (tools::Property &options) override
 
std::string Identify () const
 
void Addoutput (tools::Property &type_summary, const Orbitals &orbitalsA, const Orbitals &orbitalsB) const override
 
void CalculateCouplings (const Orbitals &orbitalsA, const Orbitals &orbitalsB, const Orbitals &orbitalsAB) override
 evaluates electronic couplings
 
- Public Member Functions inherited from votca::xtp::CouplingBase
virtual void CalculateCouplings (const Orbitals &orbitalsA, const Orbitals &orbitalsB, const Orbitals &orbitalsAB)=0
 
virtual void Initialize (tools::Property &)=0
 
virtual void Addoutput (tools::Property &type_summary, const Orbitals &orbitalsA, const Orbitals &orbitalsB) const =0
 
void setLogger (Logger *pLog)
 

Private Member Functions

void WriteToProperty (tools::Property &summary, const QMState &stateA, const QMState &stateB) const
 
double getSingletCouplingElement (Index levelA, Index levelB, Index methodindex) const
 
double getTripletCouplingElement (Index levelA, Index levelB, Index methodindex) const
 
Eigen::MatrixXd SetupCTStates (Index bseA_vtotal, Index bseB_vtotal, Index bseAB_vtotal, Index bseAB_ctotal, const Eigen::MatrixXd &A_AB, const Eigen::MatrixXd &B_AB) const
 
Eigen::MatrixXd ProjectFrenkelExcitons (const Eigen::MatrixXd &BSE_Coeffs, const Eigen::MatrixXd &X_AB, Index bseX_vtotal, Index bseX_ctotal, Index bseAB_vtotal, Index bseAB_ctotal) const
 
template<class BSE_OPERATOR >
std::array< Eigen::MatrixXd, 2 > ProjectExcitons (Eigen::MatrixXd &FE_AB, Eigen::MatrixXd &CTStates, BSE_OPERATOR H) const
 
template<class BSE_OPERATOR >
Eigen::MatrixXd CalcJ_dimer (BSE_OPERATOR &H, Eigen::MatrixXd &projection) const
 
Eigen::MatrixXd OrthogonalizeCTs (Eigen::MatrixXd &FE_AB, Eigen::MatrixXd &CTStates) const
 
Eigen::MatrixXd Fulldiag (const Eigen::MatrixXd &J_dimer) const
 
Eigen::MatrixXd Perturbation (const Eigen::MatrixXd &J_dimer) const
 

Private Attributes

std::array< Eigen::MatrixXd, 2 > JAB_singlet
 
std::array< Eigen::MatrixXd, 2 > JAB_triplet
 
bool doTriplets_
 
bool doSinglets_
 
bool output_perturbation_
 
Index levA_
 
Index levB_
 
Index occA_
 
Index unoccA_
 
Index occB_
 
Index unoccB_
 

Additional Inherited Members

- Protected Member Functions inherited from votca::xtp::CouplingBase
void CheckAtomCoordinates (const Orbitals &orbitalsA, const Orbitals &orbitalsB, const Orbitals &orbitalsAB) const
 
Eigen::MatrixXd CalculateOverlapMatrix (const Orbitals &orbitalsAB) const
 
- Protected Attributes inherited from votca::xtp::CouplingBase
LoggerpLog_
 

Detailed Description

Evaluates electronic coupling elements.

J. Wehner,B. Baumeier, JCTC DOI: 10.1021/acs.jctc.6b00935

Definition at line 40 of file bsecoupling.h.

Member Function Documentation

◆ Addoutput()

void votca::xtp::BSECoupling::Addoutput ( tools::Property type_summary,
const Orbitals orbitalsA,
const Orbitals orbitalsB 
) const
overridevirtual

Implements votca::xtp::CouplingBase.

Definition at line 88 of file bsecoupling.cc.

◆ CalcJ_dimer()

template<class BSE_OPERATOR >
Eigen::MatrixXd votca::xtp::BSECoupling::CalcJ_dimer ( BSE_OPERATOR H,
Eigen::MatrixXd &  projection 
) const
private

Definition at line 511 of file bsecoupling.cc.

◆ CalculateCouplings()

void votca::xtp::BSECoupling::CalculateCouplings ( const Orbitals orbitalsA,
const Orbitals orbitalsB,
const Orbitals orbitalsAB 
)
overridevirtual

evaluates electronic couplings

Parameters
orbitalsAmolecular orbitals of molecule A
orbitalsBmolecular orbitals of molecule B
orbitalsABmolecular orbitals of the dimer AB

Implements votca::xtp::CouplingBase.

Definition at line 220 of file bsecoupling.cc.

◆ Fulldiag()

Eigen::MatrixXd votca::xtp::BSECoupling::Fulldiag ( const Eigen::MatrixXd &  J_dimer) const
private

Definition at line 659 of file bsecoupling.cc.

◆ getSingletCouplingElement()

double votca::xtp::BSECoupling::getSingletCouplingElement ( Index  levelA,
Index  levelB,
Index  methodindex 
) const
private

Definition at line 122 of file bsecoupling.cc.

◆ getTripletCouplingElement()

double votca::xtp::BSECoupling::getTripletCouplingElement ( Index  levelA,
Index  levelB,
Index  methodindex 
) const
private

Definition at line 128 of file bsecoupling.cc.

◆ Identify()

std::string votca::xtp::BSECoupling::Identify ( ) const
inline

Definition at line 43 of file bsecoupling.h.

◆ Initialize()

void votca::xtp::BSECoupling::Initialize ( tools::Property options)
overridevirtual

Implements votca::xtp::CouplingBase.

Definition at line 38 of file bsecoupling.cc.

◆ OrthogonalizeCTs()

Eigen::MatrixXd votca::xtp::BSECoupling::OrthogonalizeCTs ( Eigen::MatrixXd &  FE_AB,
Eigen::MatrixXd &  CTStates 
) const
private

Definition at line 471 of file bsecoupling.cc.

◆ Perturbation()

Eigen::MatrixXd votca::xtp::BSECoupling::Perturbation ( const Eigen::MatrixXd &  J_dimer) const
private

Definition at line 594 of file bsecoupling.cc.

◆ ProjectExcitons()

template<class BSE_OPERATOR >
std::array< Eigen::MatrixXd, 2 > votca::xtp::BSECoupling::ProjectExcitons ( Eigen::MatrixXd &  FE_AB,
Eigen::MatrixXd &  CTStates,
BSE_OPERATOR  H 
) const
private

Definition at line 567 of file bsecoupling.cc.

◆ ProjectFrenkelExcitons()

Eigen::MatrixXd votca::xtp::BSECoupling::ProjectFrenkelExcitons ( const Eigen::MatrixXd &  BSE_Coeffs,
const Eigen::MatrixXd &  X_AB,
Index  bseX_vtotal,
Index  bseX_ctotal,
Index  bseAB_vtotal,
Index  bseAB_ctotal 
) const
private

Definition at line 190 of file bsecoupling.cc.

◆ SetupCTStates()

Eigen::MatrixXd votca::xtp::BSECoupling::SetupCTStates ( Index  bseA_vtotal,
Index  bseB_vtotal,
Index  bseAB_vtotal,
Index  bseAB_ctotal,
const Eigen::MatrixXd &  A_AB,
const Eigen::MatrixXd &  B_AB 
) const
private

Definition at line 134 of file bsecoupling.cc.

◆ WriteToProperty()

void votca::xtp::BSECoupling::WriteToProperty ( tools::Property summary,
const QMState stateA,
const QMState stateB 
) const
private

Definition at line 66 of file bsecoupling.cc.

Member Data Documentation

◆ doSinglets_

bool votca::xtp::BSECoupling::doSinglets_
private

Definition at line 98 of file bsecoupling.h.

◆ doTriplets_

bool votca::xtp::BSECoupling::doTriplets_
private

Definition at line 97 of file bsecoupling.h.

◆ JAB_singlet

std::array<Eigen::MatrixXd, 2> votca::xtp::BSECoupling::JAB_singlet
private

Definition at line 94 of file bsecoupling.h.

◆ JAB_triplet

std::array<Eigen::MatrixXd, 2> votca::xtp::BSECoupling::JAB_triplet
private

Definition at line 95 of file bsecoupling.h.

◆ levA_

Index votca::xtp::BSECoupling::levA_
private

Definition at line 100 of file bsecoupling.h.

◆ levB_

Index votca::xtp::BSECoupling::levB_
private

Definition at line 101 of file bsecoupling.h.

◆ occA_

Index votca::xtp::BSECoupling::occA_
private

Definition at line 102 of file bsecoupling.h.

◆ occB_

Index votca::xtp::BSECoupling::occB_
private

Definition at line 104 of file bsecoupling.h.

◆ output_perturbation_

bool votca::xtp::BSECoupling::output_perturbation_
private

Definition at line 99 of file bsecoupling.h.

◆ unoccA_

Index votca::xtp::BSECoupling::unoccA_
private

Definition at line 103 of file bsecoupling.h.

◆ unoccB_

Index votca::xtp::BSECoupling::unoccB_
private

Definition at line 105 of file bsecoupling.h.


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