21#ifndef VOTCA_XTP_DFTCOUPLING_H
22#define VOTCA_XTP_DFTCOUPLING_H
40 std::string
Identify()
const {
return "dftcoupling"; }
43 const Orbitals& orbitalsAB)
override;
48 const Orbitals& orbitalsB)
const override;
59 Index numberofstates)
const;
71 const std::string& name,
72 const Eigen::MatrixXd& mat,
73 double conversion = 1.0);
Base Class to derive DFT and BSE coupling from.
Evaluates electronic coupling elements.
void WriteToProperty(tools::Property &type_summary, const Orbitals &orbitalsA, const Orbitals &orbitalsB, Index a, Index b) const
Eigen::MatrixXd JAB_dimer_elec_
double min_S_eigenvalue_elec_
Eigen::VectorXd moEnergiesA_hole_QP_
double min_S_eigenvalue_hole_
Eigen::MatrixXd JAB_dimer_hole_
std::pair< Index, Index > Range_orbA
std::pair< Index, Index > DetermineRangeOfStates(const Orbitals &orbital, Index numberofstates) const
void Initialize(tools::Property &) override
Eigen::VectorXd moEnergiesB_elec_KS_
double getCouplingElement(Index levelA, Index levelB, const Orbitals &orbitalsA, const Orbitals &orbitalsB) const
Eigen::MatrixXd S_AxB_hole_
Eigen::VectorXd moEnergiesB_elec_QP_
void Addoutput(tools::Property &type_summary, const Orbitals &orbitalsA, const Orbitals &orbitalsB) const override
static void WriteMatrixToProperty(tools::Property &prop, const std::string &name, const Eigen::MatrixXd &mat, double conversion=1.0)
Write an Eigen matrix as rows of space-separated values into an XML property node....
Eigen::VectorXd moEnergiesB_hole_KS_
Eigen::VectorXd moEnergiesA_elec_KS_
Eigen::VectorXd moEnergiesA_hole_KS_
Eigen::VectorXd moEnergiesA_elec_QP_
std::pair< Index, Index > Range_orbB
void CalculateCouplings(const Orbitals &orbitalsA, const Orbitals &orbitalsB, const Orbitals &orbitalsAB) override
Eigen::VectorXd moEnergiesB_hole_QP_
Eigen::MatrixXd S_AxB_elec_
std::string Identify() const
Container for molecular orbitals and derived one-particle data.
Provides a means for comparing floating point numbers.