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

Charge transport classes. More...

Namespaces

namespace  accelerate
 LAPACK routines of Apple Accelerate, called directly.
namespace  Cart
namespace  checkpoint_utils
namespace  OPENMP
namespace  exact_pole_sums
namespace  qp_solver

Classes

class  ERIs
 Takes a density matrix and and an auxiliary basis set and calculates the electron repulsion integrals. More...
class  GaussianQuadratureBase
class  ImaginaryAxisIntegration
class  IncrementalFockBuilder
class  IndexParser
class  ActiveDensityMatrix
class  ADIIS
class  ADIIS_costfunction
class  AmplitudeIntegration
class  Anderson
 Anderson mixing as convergence acceleration in SCF/fixed point problems. More...
class  AOBasis
 Container to hold Basisfunctions for all atoms. More...
class  AOMatrix
class  AOKinetic
class  AOOverlap
class  AOCoulomb
class  AODipole
class  AOPotential
class  AOECP
class  AOMultipole
class  AOPlanewave
class  AOGaussianPrimitive
class  AOShell
class  AOTransform
class  Atom
class  AtomContainer
class  GaussianPrimitive
class  Shell
class  Element
class  BasisSet
class  BFGSTRM
class  BSE_OPERATOR
class  QMFragment
class  BSE
class  FullBSEDavidson
 Lowest roots of the full (non-TDA) BSE. More...
struct  BSEOperator_Options
struct  BSEWindow
struct  BSEOperatorUKS_Options
class  BSE_OPERATOR_UKS
struct  BSE_Population
class  BSE_UKS
class  BSECoupling
 Evaluates electronic coupling elements. More...
class  HamiltonianOperator
class  Calculatorfactory
class  Chargecarrier
class  CheckpointFile
class  CheckpointReader
class  CptTable
class  CheckpointWriter
class  ClassicalSegment
class  ConvergenceAcc
class  CouplingBase
 Base Class to derive DFT and BSE coupling from. More...
class  CubeFile_Writer
class  DavidsonSolver
 Use Davidson algorithm to solve A*V=E*V. More...
struct  Gyrationtensor
class  DensityIntegration
class  DFTcoupling
 Evaluates electronic coupling elements. More...
struct  DFTSetupCache
 Parts of the DFT setup that stay the same between runs on the same molecule with the same basis sets, such as the outer iterations of QM/MM: the RI three-centre integrals and the AO matrix of an external Ewald potential. Owned by the caller (XTPDFT), lent to one DFTEngine per run. Entries are reused only if their key matches; otherwise they are rebuilt. More...
class  DFTEngine
 Electronic ground-state via Density-Functional Theory. More...
class  DFTGradient
class  DFTTimings
 Wall-clock accounting for the parts of a DFT run. More...
class  DIIS
class  DipoleDipoleInteraction
class  ECPAOBasis
 Container to hold ECPs for all atoms. More...
class  ECPGaussianPrimitive
class  ECPShell
class  ECPElement
class  ECPBasisSet
class  eeInteractor
 Mediates interaction between polar and static sites. More...
class  Mat_p_Energy
class  AxA
class  Energy_terms
struct  ScreeningEnvironment
 The polarizable environment a GW-BSE calculation is screened by: what a QM/MM job hands to GWBSE (GWBSE::setScreeningEnvironment). More...
struct  ScreeningCheck
 Outcome of EnvironmentScreening::Check: whether 1 + R is positive definite, and a human-readable account of what limits it. More...
class  EnvironmentScreening
class  ERDiabatization
class  Esp2multipole
class  Espfit
class  Ewald_Potential
class  EwaldBlockJacobiPreconditioner
 Block-Jacobi preconditioner for EwaldPeriodicDipoleOperator's own PCG solve. More...
struct  EwaldParameters
 The Ewald convergence parameters a background was converged with. More...
class  EwaldPeriodicDipoleOperator
class  EwaldRealSpaceInteractor
class  EwaldRealSpaceSum
class  EwaldReciprocalSpaceSum
class  EwaldRegion
 The periodic Ewald background, as a Region. More...
class  EwaldRegistry
class  EwaldShapeCorrection
struct  PcgIndefinitenessResult
class  EwaldSitePolarizabilityBlocks
struct  JorResult
struct  ExactPoles
 Pole sums of the exact (RPA spectral) correlation self-energy. More...
class  ExtendedHuckelParameters
class  FCDDiabatization
class  FilterFactory
class  FragmentSaturator
 Saturates a mapped QMMolecule's own, real, external (i.e. covalently bonded at the MD level, but mapped out of this fragment/segment) bonds with new H atoms. More...
class  GaussianWriter
class  GMHDiabatization
class  GNode
class  Grid
class  GridContainers
struct  GridboxRange
class  GridBox
class  GW
class  GW_UKS
class  GWBSE
 Electronic excitations from GW-BSE. More...
class  GWBSEEngine
 Electronic Excitations via Density-Functional Theory. More...
class  Density2Gyration
class  HirshfeldPartition
class  hist
class  huffmanTree
class  Job
class  JobCalculator
class  JobCalculatorfactory
class  JobTopology
class  KMCCalculator
class  LogBuffer
class  Logger
 Logger is used for thread-safe output of messages. More...
class  TimeStamp
 Timestamp returns the current time as a string Example: cout << TimeStamp(). More...
class  MatrixFreeOperator
class  Md2QmEngine
class  MemoryBudget
 Memory the user grants the process (–memory, GB), for choices that trade memory for speed (caches, batch sizes). More...
class  MMRegion
class  Molden
class  NBO
class  NewtonRapson
 Newton Rapson rootfinder for 1d functions. More...
class  Optimiser_costfunction
class  Orbitals
 Container for molecular orbitals and derived one-particle data. More...
class  OrbReorder
struct  OutOfWindowShift
 How the RPA energies of levels outside the GW window are shifted. More...
class  PairCalculator
class  ParallelXJobCalc
class  PMLocalization
class  PODCoupling
class  PolarRegion
class  PolarSite
 Class to represent Atom/Site in electrostatic+polarization. More...
class  Populationanalysis
class  PPM
class  ProgObserver
class  QMAtom
 container for QM atoms More...
class  QMCalculator
class  QMMolecule
class  QMNBList
class  QMPackage
class  QMPackageFactory
class  QMPair
class  QMRegion
class  QMStateType
class  QMStateCarrierStorage
 Storage class for properties of QMStateTypes, which can be used in KMC. More...
class  QMState
 Identifier for QMstates. Strings like S1 are converted into enum +zero indexed int. More...
class  QMThread
class  QMTool
class  QuadratureFactory
class  EulerMaclaurinGrid
class  Rate_Engine
class  Region
class  Regular_Grid
class  RPA
class  RPA_UKS
 Unrestricted RPA helper for spin-resolved GW screening. More...
class  WeightedGram
struct  SymmetricEigenSystem
class  CholeskyFactor
class  OptionalTiming
class  ScreeningUpdate
 When evGW rebuilds the screening W. More...
class  SegId
class  Segment
class  SegmentMapper
class  Sigma_base
class  Sigma_base_UKS
class  SigmaFactory
class  SigmaFactory_UKS
class  LebedevGrid
class  StateApplication
class  StateFilter_base
 Base Class for statefilter. More...
class  StateSaver
class  StateTracker
 Tracks from a spectrum of states the state, which fullfills certain criteria. More...
class  StaticRegion
class  StaticSite
 Class to represent Atom/Site in electrostatic. More...
class  Symmetric_Matrix
class  SymmetricTiles
 A real symmetric n x n matrix stored as the tiles of its lower triangle (about half the memory of the dense matrix). More...
class  TCMatrix
class  TCMatrix_dft
 RI three-centre tensor of the DFT code, B_P,mu nu = sum_Q V^-1/2_PQ (Q|mu nu). More...
class  TCMatrix_gwbse
struct  TCMatrix_gwbse_spin
class  QMToolFactory
class  Topology
 Container for segments and box and atoms. More...
class  TransitionDensities
 Generalized transition densities tools for different excited states. More...
class  TrustRegion
class  UKSConvergenceAcc
class  vc2index
 This class transforms a pair of indices v,c into a compound index I, via I=ctotal*v+c the fast dimension is c. If you have a choice iterate over c and v not over I. More...
class  Vxc_Functionals
 conversion of functional string into integer More...
class  Vxc_Grid
class  Vxc_Potential
class  XtpApplication
class  FunctionEvaluation
class  EAnalyze
class  EInternal
class  EwaldBackground
class  IAnalyze
class  KMCLifetime
class  KMCMultiple
class  MapChecker
class  Neighborlist
class  VAverage
class  PotentialIO
class  Gauss_Hermite_Quadrature
class  Gauss_Laguerre_Quadrature
class  Gauss_Legendre_Quadrature_Base
class  Gauss_modified_Legendre_Quadrature
class  Gauss_Legendre_Quadrature
class  EQM
 Run DFT/GWBSE calculations. More...
class  IEXCITON
 Evaluates Transition Charge distributions classically. More...
class  IPodCoupling
 H-saturated, DFT + POD2-based electronic coupling calculator. More...
class  IQM
 DFT & GWBSE-based coupling elements. More...
class  QMMM
 QM/MM with different regions around. More...
class  Orca
class  XTPDFT
 Wrapper for the internal XTP DFT engine. More...
class  Sigma_CDA
class  Sigma_CDA_UKS
class  Sigma_Exact
class  Sigma_Exact_UKS
class  Sigma_PPM
class  Sigma_PPM_UKS
class  DeltaQ_filter
 ChargeTransfer_filter tracks states according to how much charge is on a fragment A and the rest of the molecule. More...
class  Density_filter
 density_filter tracks states according to the difference of their density matrix to an earlier state More...
class  Localisation_filter
 Localisation_filter tracks states according to how localised they are in a specific region. More...
class  OscillatorStrength_filter
 OscillatorStrength_filter tracks states according to their f-value only works for singlets. More...
class  Overlap_filter
 overlap_filter tracks states according to their overlap with a previous state More...
class  APDFT
class  Coupling
class  DensityAnalysis
class  DftGwBse
class  Diabatization
class  ExcitonCoupling
class  GenCube
class  Log2Mps
class  Mol2Orb
class  MolPol
class  Orb2Fchk
class  Orb2Mol
class  Partialcharges
class  PodCouplingTool
class  Spectrum

Typedefs

typedef BSE_OPERATOR< 1, 2, 1, 0 > SingletOperator_TDA
typedef BSE_OPERATOR< 1, 0, 1, 0 > TripletOperator_TDA
typedef BSE_OPERATOR< 0, 2, 0, 1 > SingletOperator_BTDA_B
typedef BSE_OPERATOR< 1, 0, 0, 0 > HqpOperator
typedef BSE_OPERATOR< 0, 1, 0, 0 > HxOperator
typedef BSE_OPERATOR< 0, 0, 1, 0 > HdOperator
typedef BSE_OPERATOR< 0, 0, 0, 1 > Hd2Operator
typedef BSE_OPERATOR_UKS< 1, 1, 1, 0 > ExcitonUKSOperator_TDA
typedef BSE_OPERATOR_UKS< 0, 1, 0, 1 > ExcitonUKSOperator_BTDA_B
typedef BSE_OPERATOR_UKS< 0, 0, 1, 0 > HdUKSOperator
typedef BSE_OPERATOR_UKS< 0, 0, 0, 1 > Hd2UKSOperator
typedef BSE_OPERATOR_UKS< 1, 0, 0, 0 > QpUKSOperator
typedef BSE_OPERATOR_UKS< 0, 1, 0, 0 > HxUKSOperator
using CptLoc = H5::Group
using PolarSegment = ClassicalSegment<PolarSite>
using StaticSegment = ClassicalSegment<StaticSite>
using Transposition = std::pair<Index, Index>
using Mulliken = Populationanalysis<false>
using Lowdin = Populationanalysis<true>
using QMMapper = SegmentMapper<QMMolecule>
using StaticMapper = SegmentMapper<StaticSegment>
using PolarMapper = SegmentMapper<PolarSegment>
using MatrixLibInt
using AOMatrixDerivative = std::array<Eigen::MatrixXd, 3>
using ThreeCenterDerivative = std::array<std::vector<Eigen::MatrixXd>, 3>

Enumerations

enum class  L {
  S = 0 , P = 1 , D = 2 , F = 3 ,
  G = 4 , H = 5 , I = 6
}
enum class  CheckpointAccessLevel { READ = 0 , MODIFY = 1 , CREATE = 2 }
enum  Estatic : bool { noE_V = true , V = false }
enum class  EwaldChargeState { Neutral , Electron , Hole }
enum class  EwaldShape { Cube , Slab }

Functions

std::string EnumToString (L l)
L StringToEnum (const std::string &type)
L StringToEnum (char type)
bool CheckShellType (const std::string &shelltype)
Index OffsetFuncShell (L l)
Index NumFuncShell (L l)
Index NumFuncShell_cartesian (L l)
Index OffsetFuncShell_cartesian (L l)
Index NormalizeExcitationVectors (Eigen::MatrixXd &X, Eigen::MatrixXd &Y)
Eigen::MatrixXd BuildFullBSEXRankedInitialGuess (const Eigen::VectorXd &adiag, const Eigen::VectorXd &bdiag, Index nroots)
 Build an initial guess for full-BSE Davidson diagonalization.
Eigen::MatrixXd ApplyBSEExchange (const TCMatrix_gwbse &Mout, const BSEWindow &out, const TCMatrix_gwbse &Min, const BSEWindow &in, const Eigen::MatrixXd &x, double prefactor)
Eigen::MatrixXd ApplyBSEQuasiparticle (const Eigen::MatrixXd &Hqp, Index vtotal, Index ctotal, const Eigen::MatrixXd &x, double prefactor)
std::ostream & operator<< (std::ostream &s, CheckpointAccessLevel l)
template<>
void CptTable::addCol< std::string > (const std::string &name, const size_t &offset)
bool HasLibint2DerivativeSupport ()
std::ostream & operator<< (std::ostream &out, const libecpint::ECP &ecp)
bool XTP_HAS_MKL_OVERLOAD ()
std::string EigenBackendDescription ()
template<typename Preconditioner>
PcgIndefinitenessResult SolveWithIndefinitenessCheck (const EwaldPeriodicDipoleOperator &op, Preconditioner &precond, const Eigen::VectorXd &b, Index max_iter, double tol, Logger &log, std::chrono::steady_clock::time_point t_start)
double SiteRelativeDipoleChange (const Eigen::Vector3d &U0, const Eigen::Vector3d &U1)
JorResult SolveWithJOR (const EwaldPeriodicDipoleOperator &op, const EwaldSitePolarizabilityBlocks &site_p, const Eigen::VectorXd &b, Index max_iter, double omega, Logger &log, std::chrono::steady_clock::time_point t_start, bool match_legacy_first_step)
std::vector< Job > LOAD_JOBS (const std::string &xml_file)
void WRITE_JOBS (const std::vector< Job > &jobs, const std::string &job_file)
void UPDATE_JOBS (const std::vector< Job > &from, std::vector< Job > &to, const std::string &thisHost)
std::vector< Index > MapAtomsToAOIndices (const std::vector< Index > &atom_indices, const std::vector< Index > &func_per_atom)
SymmetricEigenSystem SymmetricEigen (const Eigen::MatrixXd &A, bool vectors=true)
 With vectors = false only the eigenvalues are computed.
Eigen::MatrixXd InverseSPD (const Eigen::MatrixXd &A)
void HelpTextHeader (const std::string &tool_name)
std::ostream & operator<< (std::ostream &out, const AOBasis &aobasis)
std::ostream & operator<< (std::ostream &out, const libecpint::GaussianShell &shell)
std::ostream & operator<< (std::ostream &out, const AOShell &shell)
std::ostream & operator<< (std::ostream &out, const Shell &shell)
std::ostream & operator<< (std::ostream &out, const Element &element)
std::ostream & operator<< (std::ostream &out, const BasisSet &basis)
int GetSign (double value)
bool InVector (const std::vector< std::string > &vec, const std::string &word)
bool FileExists (const std::string &fileName)
std::vector< double > FlattenValues (const std::vector< std::vector< double > > &gridvalues)
std::vector< AOMatrixDerivative > ComputeOverlapDerivatives (const AOBasis &aobasis)
std::vector< AOMatrixDerivative > ComputeKineticDerivatives (const AOBasis &aobasis)
std::vector< AOMatrixDerivative > ComputeNuclearAttractionDerivatives (const AOBasis &aobasis, const QMMolecule &mol)
std::vector< AOMatrixDerivative > ComputeCoulombMetricDerivatives (const AOBasis &aobasis)
std::vector< ThreeCenterDerivative > ComputeThreeCenterDerivatives (const AOBasis &auxbasis, const AOBasis &dftbasis)
std::vector< Eigen::MatrixXd > ComputeThreeCenterDerivativeContraction (const AOBasis &auxbasis, const AOBasis &dftbasis, const Eigen::MatrixXd &density)
std::vector< ThreeCenterDerivative > ComputeThreeCenterDerivativesMOTransformed (const AOBasis &auxbasis, const AOBasis &dftbasis, const Eigen::MatrixXd &occ_mo_coeffs)
ThreeCenterDerivative ComputeThreeCenterDerivativesForAtom (const AOBasis &auxbasis, const AOBasis &dftbasis, Index target_atom)
std::vector< Eigen::MatrixXd > ComputeThreeCenterIntegrals (const AOBasis &auxbasis, const AOBasis &dftbasis)
std::ostream & operator<< (std::ostream &out, const ECPAOBasis &ecp)
std::ostream & operator<< (std::ostream &out, const ECPShell &shell)
std::ostream & operator<< (std::ostream &out, const ECPElement &element)
std::ostream & operator<< (std::ostream &out, const ECPBasisSet &basis)
template double eeInteractor::ApplyStaticField< StaticSegment, Estatic::V > (const StaticSegment &seg1, PolarSegment &seg2) const
template double eeInteractor::ApplyStaticField< StaticSegment, Estatic::noE_V > (const StaticSegment &seg1, PolarSegment &seg2) const
template double eeInteractor::ApplyStaticField< PolarSegment, Estatic::V > (const PolarSegment &seg1, PolarSegment &seg2) const
template double eeInteractor::ApplyStaticField< PolarSegment, Estatic::noE_V > (const PolarSegment &seg1, PolarSegment &seg2) const
template double eeInteractor::ApplyInducedField< Estatic::V > (const PolarSegment &seg1, PolarSegment &seg2) const
template double eeInteractor::ApplyInducedField< Estatic::noE_V > (const PolarSegment &seg1, PolarSegment &seg2) const
template double EwaldRealSpaceInteractor::ApplyStaticField< StaticSite, Estatic::V > (const StaticSite &, PolarSite &, const Eigen::Vector3d &) const
template double EwaldRealSpaceInteractor::ApplyStaticField< StaticSite, Estatic::noE_V > (const StaticSite &, PolarSite &, const Eigen::Vector3d &) const
template double EwaldRealSpaceInteractor::ApplyStaticField< PolarSite, Estatic::V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template double EwaldRealSpaceInteractor::ApplyStaticField< PolarSite, Estatic::noE_V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< StaticSite, Estatic::V > (const StaticSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< StaticSite, Estatic::noE_V > (const StaticSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< PolarSite, Estatic::V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< PolarSite, Estatic::noE_V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection< Estatic::V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection< Estatic::noE_V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template double EwaldRealSpaceInteractor::ApplyInducedField< Estatic::V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template double EwaldRealSpaceInteractor::ApplyInducedField< Estatic::noE_V > (const PolarSite &, PolarSite &, const Eigen::Vector3d &) const
template void EwaldRealSpaceSum::AddFieldAt< Estatic::V > (Index, PolarSite &, EwaldChargeState, bool) const
template void EwaldRealSpaceSum::AddFieldAt< Estatic::noE_V > (Index, PolarSite &, EwaldChargeState, bool) const
template void EwaldRealSpaceSum::AddFieldAtMany< Estatic::V > (const std::vector< std::pair< Index, PolarSite * > > &, EwaldChargeState, bool) const
template void EwaldRealSpaceSum::AddFieldAtMany< Estatic::noE_V > (const std::vector< std::pair< Index, PolarSite * > > &, EwaldChargeState, bool) const
template void EwaldReciprocalSpaceSum::AddFieldAt< Estatic::V > (PolarSite &, EwaldChargeState) const
template void EwaldReciprocalSpaceSum::AddFieldAt< Estatic::noE_V > (PolarSite &, EwaldChargeState) const
template void EwaldReciprocalSpaceSum::AddFieldAtMany< Estatic::V > (const std::vector< PolarSite * > &, EwaldChargeState, const EwaldReciprocalSpaceSum::ProgressCallback &) const
template void EwaldReciprocalSpaceSum::AddFieldAtMany< Estatic::noE_V > (const std::vector< PolarSite * > &, EwaldChargeState, const EwaldReciprocalSpaceSum::ProgressCallback &) const
template void EwaldShapeCorrection::AddFieldAt< Estatic::V > (PolarSite &, EwaldChargeState) const
template void EwaldShapeCorrection::AddFieldAt< Estatic::noE_V > (PolarSite &, EwaldChargeState) const
template<class OP>
Eigen::VectorXd ExpValue (const Eigen::MatrixXd &state1, OP OPxstate2)
Eigen::VectorXd ExpValue (const Eigen::MatrixXd &state1, const Eigen::MatrixXd &OPxstate2)
std::vector< std::string > ModifyRegionOptionsFromJobFileRegion (tools::Property &opt, const tools::Property &job_opt)
template<libint2::Operator obtype, typename OperatorParams = typename libint2::operator_traits<obtype>::oper_params_type>
std::array< MatrixLibInt, libint2::operator_traits< obtype >::nopers > computeOneBodyIntegrals (const AOBasis &aobasis, OperatorParams oparams=OperatorParams())
std::vector< Eigen::MatrixXd > ComputeAO3cBlock (const libint2::Shell &auxshell, const AOBasis &dftbasis, libint2::Engine &engine)
int run_command_spawn (const std::string &command)
std::ostream & operator<< (std::ostream &out, const Rate_Engine &rate_engine)
std::ostream & operator<< (std::ostream &out, const Symmetric_Matrix &a)

Detailed Description

Charge transport classes.

Classes used for charge and exciton transport simulations

Typedef Documentation

◆ AOMatrixDerivative

typedef std::array< Eigen::MatrixXd, 3 > votca::xtp::AOMatrixDerivative = std::array<Eigen::MatrixXd, 3>

Definition at line 421 of file dftengine.cc.

◆ CptLoc

using votca::xtp::CptLoc = H5::Group

Definition at line 36 of file checkpoint_utils.h.

◆ ExcitonUKSOperator_BTDA_B

Definition at line 107 of file bse_operator_uks.h.

◆ ExcitonUKSOperator_TDA

Definition at line 104 of file bse_operator_uks.h.

◆ Hd2Operator

Definition at line 121 of file bse_operator.h.

◆ Hd2UKSOperator

Definition at line 111 of file bse_operator_uks.h.

◆ HdOperator

typedef BSE_OPERATOR<0, 0, 1, 0> votca::xtp::HdOperator

Definition at line 120 of file bse_operator.h.

◆ HdUKSOperator

Definition at line 110 of file bse_operator_uks.h.

◆ HqpOperator

Definition at line 118 of file bse_operator.h.

◆ HxOperator

typedef BSE_OPERATOR<0, 1, 0, 0> votca::xtp::HxOperator

Definition at line 119 of file bse_operator.h.

◆ HxUKSOperator

Definition at line 114 of file bse_operator_uks.h.

◆ Lowdin

Definition at line 62 of file populationanalysis.h.

◆ MatrixLibInt

typedef Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > votca::xtp::MatrixLibInt
Initial value:
Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>

Definition at line 56 of file aoecp.cc.

◆ Mulliken

Definition at line 61 of file populationanalysis.h.

◆ PolarMapper

◆ PolarSegment

◆ QMMapper

Definition at line 205 of file segmentmapper.h.

◆ QpUKSOperator

Definition at line 113 of file bse_operator_uks.h.

◆ SingletOperator_BTDA_B

Definition at line 116 of file bse_operator.h.

◆ SingletOperator_TDA

Definition at line 40 of file bse.h.

◆ StaticMapper

◆ StaticSegment

◆ ThreeCenterDerivative

typedef std::array< std::vector< Eigen::MatrixXd >, 3 > votca::xtp::ThreeCenterDerivative = std::array<std::vector<Eigen::MatrixXd>, 3>

Definition at line 34 of file dftgradient.cc.

◆ Transposition

using votca::xtp::Transposition = std::pair<Index, Index>

Definition at line 34 of file orbreorder.h.

◆ TripletOperator_TDA

Definition at line 41 of file bse.h.

Enumeration Type Documentation

◆ CheckpointAccessLevel

Enumerator
READ 
MODIFY 
CREATE 

Definition at line 42 of file checkpoint.h.

◆ Estatic

enum votca::xtp::Estatic : bool
Enumerator
noE_V 
V 

Definition at line 31 of file eeinteractor.h.

◆ EwaldChargeState

enum class votca::xtp::EwaldChargeState
strong
Enumerator
Neutral 
Electron 
Hole 

Definition at line 63 of file ewaldregistry.h.

◆ EwaldShape

enum class votca::xtp::EwaldShape
strong
Enumerator
Cube 
Slab 

Definition at line 68 of file ewaldshapecorrection.h.

◆ L

enum class votca::xtp::L
strong
Enumerator
S 
P 
D 
F 
G 
H 
I 

Definition at line 37 of file basisset.h.

Function Documentation

◆ ApplyBSEExchange()

Eigen::MatrixXd votca::xtp::ApplyBSEExchange ( const TCMatrix_gwbse & Mout,
const BSEWindow & out,
const TCMatrix_gwbse & Min,
const BSEWindow & in,
const Eigen::MatrixXd & x,
double prefactor )
inline

y = prefactor * K_x x with the bare exchange K_x(v1 c1, v2 c2) = sum_P M_out[v1](c1,P) M_in[v2](c2,P). K_x has rank auxsize, so it is applied as M_out (M_in^T x): about 4 N auxsize k operations instead of building the N x N blocks.

Definition at line 46 of file bse_operator_kernels.h.

◆ ApplyBSEQuasiparticle()

Eigen::MatrixXd votca::xtp::ApplyBSEQuasiparticle ( const Eigen::MatrixXd & Hqp,
Index vtotal,
Index ctotal,
const Eigen::MatrixXd & x,
double prefactor )
inline

y = prefactor * H_qp x with H_qp(v1 c1, v2 c2) = delta_v1v2 Hqp(c1,c2) - delta_c1c2 Hqp(v1,v2), Hqp indexed from the first valence level of the window (the conduction levels start at vtotal). For each column, x is the ctotal x vtotal matrix X(c,v), and H_qp x = Hqp_cc X - X Hqp_vv.

Definition at line 79 of file bse_operator_kernels.h.

◆ BuildFullBSEXRankedInitialGuess()

Eigen::MatrixXd votca::xtp::BuildFullBSEXRankedInitialGuess ( const Eigen::VectorXd & adiag,
const Eigen::VectorXd & bdiag,
Index nroots )
inline

Build an initial guess for full-BSE Davidson diagonalization.

Strategy:

  • rank excitation channels by local diagonal full-BSE estimate omega_i = sqrt(max(0, A_ii^2 - B_ii^2))
  • construct X-only basis vectors for robustness with HAM Davidson

This avoids:

  • expensive TDA pre-diagonalization
  • unstable X/Y initial guesses

Works for:

  • UKS full-BSE
  • RKS full-BSE (future reuse)

Definition at line 47 of file bse_initialization.h.

◆ CheckShellType()

bool votca::xtp::CheckShellType ( const std::string & shelltype)

Definition at line 127 of file basisset.cc.

◆ ComputeAO3cBlock()

std::vector< Eigen::MatrixXd > votca::xtp::ComputeAO3cBlock ( const libint2::Shell & auxshell,
const AOBasis & dftbasis,
libint2::Engine & engine )

Definition at line 654 of file libint2_calls.cc.

◆ ComputeCoulombMetricDerivatives()

std::vector< AOMatrixDerivative > votca::xtp::ComputeCoulombMetricDerivatives ( const AOBasis & aobasis)

Definition at line 641 of file libint2_derivative_calls.cc.

◆ ComputeKineticDerivatives()

std::vector< AOMatrixDerivative > votca::xtp::ComputeKineticDerivatives ( const AOBasis & aobasis)

Definition at line 480 of file libint2_derivative_calls.cc.

◆ ComputeNuclearAttractionDerivatives()

std::vector< AOMatrixDerivative > votca::xtp::ComputeNuclearAttractionDerivatives ( const AOBasis & aobasis,
const QMMolecule & mol )

Definition at line 1764 of file libint2_derivative_calls.cc.

◆ computeOneBodyIntegrals()

template<libint2::Operator obtype, typename OperatorParams = typename libint2::operator_traits<obtype>::oper_params_type>
std::array< MatrixLibInt, libint2::operator_traits< obtype >::nopers > votca::xtp::computeOneBodyIntegrals ( const AOBasis & aobasis,
OperatorParams oparams = OperatorParams() )

Definition at line 104 of file libint2_calls.cc.

◆ ComputeOverlapDerivatives()

std::vector< AOMatrixDerivative > votca::xtp::ComputeOverlapDerivatives ( const AOBasis & aobasis)

Definition at line 477 of file libint2_derivative_calls.cc.

◆ ComputeThreeCenterDerivativeContraction()

std::vector< Eigen::MatrixXd > votca::xtp::ComputeThreeCenterDerivativeContraction ( const AOBasis & auxbasis,
const AOBasis & dftbasis,
const Eigen::MatrixXd & density )

Definition at line 1054 of file libint2_derivative_calls.cc.

◆ ComputeThreeCenterDerivatives()

std::vector< ThreeCenterDerivative > votca::xtp::ComputeThreeCenterDerivatives ( const AOBasis & auxbasis,
const AOBasis & dftbasis )

Definition at line 863 of file libint2_derivative_calls.cc.

◆ ComputeThreeCenterDerivativesForAtom()

ThreeCenterDerivative votca::xtp::ComputeThreeCenterDerivativesForAtom ( const AOBasis & auxbasis,
const AOBasis & dftbasis,
Index target_atom )

Definition at line 1249 of file libint2_derivative_calls.cc.

◆ ComputeThreeCenterDerivativesMOTransformed()

std::vector< ThreeCenterDerivative > votca::xtp::ComputeThreeCenterDerivativesMOTransformed ( const AOBasis & auxbasis,
const AOBasis & dftbasis,
const Eigen::MatrixXd & occ_mo_coeffs )

Definition at line 1469 of file libint2_derivative_calls.cc.

◆ ComputeThreeCenterIntegrals()

std::vector< Eigen::MatrixXd > votca::xtp::ComputeThreeCenterIntegrals ( const AOBasis & auxbasis,
const AOBasis & dftbasis )

Definition at line 1488 of file libint2_derivative_calls.cc.

◆ CptTable::addCol< std::string >()

template<>
void votca::xtp::CptTable::addCol< std::string > ( const std::string & name,
const size_t & offset )
inline

Definition at line 220 of file checkpointtable.h.

◆ eeInteractor::ApplyInducedField< Estatic::noE_V >()

template double votca::xtp::eeInteractor::ApplyInducedField< Estatic::noE_V > ( const PolarSegment & seg1,
PolarSegment & seg2 ) const

◆ eeInteractor::ApplyInducedField< Estatic::V >()

template double votca::xtp::eeInteractor::ApplyInducedField< Estatic::V > ( const PolarSegment & seg1,
PolarSegment & seg2 ) const

◆ eeInteractor::ApplyStaticField< PolarSegment, Estatic::noE_V >()

◆ eeInteractor::ApplyStaticField< PolarSegment, Estatic::V >()

◆ eeInteractor::ApplyStaticField< StaticSegment, Estatic::noE_V >()

◆ eeInteractor::ApplyStaticField< StaticSegment, Estatic::V >()

◆ EigenBackendDescription()

std::string votca::xtp::EigenBackendDescription ( )
inline

Which library Eigen hands dense linear algebra to in this build, for the run logs.

Definition at line 63 of file eigen.h.

◆ EnumToString()

std::string votca::xtp::EnumToString ( L l)

Definition at line 60 of file basisset.cc.

◆ EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection< Estatic::noE_V >()

template void votca::xtp::EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection< Estatic::noE_V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection< Estatic::V >()

template void votca::xtp::EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection< Estatic::V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< PolarSite, Estatic::noE_V >()

template void votca::xtp::EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< PolarSite, Estatic::noE_V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< PolarSite, Estatic::V >()

template void votca::xtp::EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< PolarSite, Estatic::V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< StaticSite, Estatic::noE_V >()

template void votca::xtp::EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< StaticSite, Estatic::noE_V > ( const StaticSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< StaticSite, Estatic::V >()

template void votca::xtp::EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection< StaticSite, Estatic::V > ( const StaticSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyInducedField< Estatic::noE_V >()

template double votca::xtp::EwaldRealSpaceInteractor::ApplyInducedField< Estatic::noE_V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyInducedField< Estatic::V >()

template double votca::xtp::EwaldRealSpaceInteractor::ApplyInducedField< Estatic::V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyStaticField< PolarSite, Estatic::noE_V >()

template double votca::xtp::EwaldRealSpaceInteractor::ApplyStaticField< PolarSite, Estatic::noE_V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyStaticField< PolarSite, Estatic::V >()

template double votca::xtp::EwaldRealSpaceInteractor::ApplyStaticField< PolarSite, Estatic::V > ( const PolarSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyStaticField< StaticSite, Estatic::noE_V >()

template double votca::xtp::EwaldRealSpaceInteractor::ApplyStaticField< StaticSite, Estatic::noE_V > ( const StaticSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceInteractor::ApplyStaticField< StaticSite, Estatic::V >()

template double votca::xtp::EwaldRealSpaceInteractor::ApplyStaticField< StaticSite, Estatic::V > ( const StaticSite & ,
PolarSite & ,
const Eigen::Vector3d &  ) const

◆ EwaldRealSpaceSum::AddFieldAt< Estatic::noE_V >()

◆ EwaldRealSpaceSum::AddFieldAt< Estatic::V >()

◆ EwaldRealSpaceSum::AddFieldAtMany< Estatic::noE_V >()

template void votca::xtp::EwaldRealSpaceSum::AddFieldAtMany< Estatic::noE_V > ( const std::vector< std::pair< Index, PolarSite * > > & ,
EwaldChargeState ,
bool  ) const

◆ EwaldRealSpaceSum::AddFieldAtMany< Estatic::V >()

template void votca::xtp::EwaldRealSpaceSum::AddFieldAtMany< Estatic::V > ( const std::vector< std::pair< Index, PolarSite * > > & ,
EwaldChargeState ,
bool  ) const

◆ EwaldReciprocalSpaceSum::AddFieldAt< Estatic::noE_V >()

◆ EwaldReciprocalSpaceSum::AddFieldAt< Estatic::V >()

◆ EwaldReciprocalSpaceSum::AddFieldAtMany< Estatic::noE_V >()

◆ EwaldReciprocalSpaceSum::AddFieldAtMany< Estatic::V >()

◆ EwaldShapeCorrection::AddFieldAt< Estatic::noE_V >()

◆ EwaldShapeCorrection::AddFieldAt< Estatic::V >()

◆ ExpValue() [1/2]

Eigen::VectorXd votca::xtp::ExpValue ( const Eigen::MatrixXd & state1,
const Eigen::MatrixXd & OPxstate2 )

Definition at line 712 of file bse.cc.

◆ ExpValue() [2/2]

template<class OP>
Eigen::VectorXd votca::xtp::ExpValue ( const Eigen::MatrixXd & state1,
OP OPxstate2 )

Definition at line 708 of file bse.cc.

◆ FileExists()

bool votca::xtp::FileExists ( const std::string & fileName)

Definition at line 60 of file checkpoint.cc.

◆ FlattenValues()

std::vector< double > votca::xtp::FlattenValues ( const std::vector< std::vector< double > > & gridvalues)

Definition at line 59 of file cubefile_writer.cc.

◆ GetSign()

int votca::xtp::GetSign ( double value)

Definition at line 346 of file bsecoupling.cc.

◆ HasLibint2DerivativeSupport()

bool votca::xtp::HasLibint2DerivativeSupport ( )

True if the libint2 this was built against supports derivative integrals for every category the full forces pipeline needs (one-body, the two-center Coulomb metric, and three-center RI) – a compile-time check (LIBINT2_MAX_DERIV_ORDER and the LIBINT_INCLUDE_* guards, all resolved when libint2_derivative_calls.cc itself was compiled), not a runtime probe of the specific libint2 library actually linked at runtime. Exposed here (defined in libint2_derivative_calls.cc) so callers – including tests that want to skip force-dependent work cleanly, before running any expensive SCF/CDFT calculation, rather than discovering the lack of support only after Initialize() throws or a calculation completes without forces – can check this directly, without needing compute_forces_ already set and without needing to run anything first.

Definition at line 1778 of file libint2_derivative_calls.cc.

◆ HelpTextHeader()

void votca::xtp::HelpTextHeader ( const std::string & tool_name)

Definition at line 34 of file version.cc.

◆ InVector()

bool votca::xtp::InVector ( const std::vector< std::string > & vec,
const std::string & word )

Definition at line 28 of file neighborlist.cc.

◆ InverseSPD()

Eigen::MatrixXd votca::xtp::InverseSPD ( const Eigen::MatrixXd & A)

Inverse of a symmetric positive definite matrix (Cholesky); falls back to LU if the Cholesky factorisation fails.

Definition at line 277 of file screening_kernels.cc.

◆ LOAD_JOBS()

std::vector< Job > votca::xtp::LOAD_JOBS ( const std::string & xml_file)

Definition at line 186 of file job.cc.

◆ MapAtomsToAOIndices()

std::vector< Index > votca::xtp::MapAtomsToAOIndices ( const std::vector< Index > & atom_indices,
const std::vector< Index > & func_per_atom )

Definition at line 30 of file podcoupling.cc.

◆ ModifyRegionOptionsFromJobFileRegion()

std::vector< std::string > votca::xtp::ModifyRegionOptionsFromJobFileRegion ( tools::Property & opt,
const tools::Property & job_opt )

Definition at line 70 of file jobtopology.cc.

◆ NormalizeExcitationVectors()

Index votca::xtp::NormalizeExcitationVectors ( Eigen::MatrixXd & X,
Eigen::MatrixXd & Y )
inline

Scales each column pair of (X, Y) to X^T X - Y^T Y = 1. Columns whose norm is not positive (the zero vectors of unconverged roots, or a root of the wrong sign) are not scaled to nan: zero ones stay zero, negative ones are scaled with |X^T X - Y^T Y|. Returns the number of such columns.

Definition at line 47 of file bse_fullsolver.h.

◆ NumFuncShell()

Index votca::xtp::NumFuncShell ( L l)

Definition at line 100 of file basisset.cc.

◆ NumFuncShell_cartesian()

Index votca::xtp::NumFuncShell_cartesian ( L l)

Definition at line 102 of file basisset.cc.

◆ OffsetFuncShell()

Index votca::xtp::OffsetFuncShell ( L l)

Definition at line 80 of file basisset.cc.

◆ OffsetFuncShell_cartesian()

Index votca::xtp::OffsetFuncShell_cartesian ( L l)

Definition at line 107 of file basisset.cc.

◆ operator<<() [1/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const AOBasis & aobasis )

Definition at line 189 of file aobasis.cc.

◆ operator<<() [2/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const AOShell & shell )

Definition at line 668 of file aoshell.cc.

◆ operator<<() [3/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const BasisSet & basis )

Definition at line 242 of file basisset.cc.

◆ operator<<() [4/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const ECPAOBasis & ecp )

Definition at line 208 of file ecpaobasis.cc.

◆ operator<<() [5/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const ECPBasisSet & basis )

Definition at line 121 of file ecpbasisset.cc.

◆ operator<<() [6/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const ECPElement & element )

Definition at line 112 of file ecpbasisset.cc.

◆ operator<<() [7/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const ECPShell & shell )

Definition at line 100 of file ecpbasisset.cc.

◆ operator<<() [8/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const Element & element )

Definition at line 234 of file basisset.cc.

◆ operator<<() [9/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const libecpint::ECP & ecp )

Definition at line 196 of file ecpaobasis.cc.

◆ operator<<() [10/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const libecpint::GaussianShell & shell )

Definition at line 45 of file aoecp.cc.

◆ operator<<() [11/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const Rate_Engine & rate_engine )

Definition at line 26 of file rate_engine.cc.

◆ operator<<() [12/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const Shell & shell )

Definition at line 222 of file basisset.cc.

◆ operator<<() [13/14]

std::ostream & votca::xtp::operator<< ( std::ostream & out,
const Symmetric_Matrix & a )

Definition at line 41 of file symmetric_matrix.cc.

◆ operator<<() [14/14]

std::ostream & votca::xtp::operator<< ( std::ostream & s,
CheckpointAccessLevel l )

Definition at line 43 of file checkpoint.cc.

◆ run_command_spawn()

int votca::xtp::run_command_spawn ( const std::string & command)

Definition at line 360 of file orca.cc.

◆ SiteRelativeDipoleChange()

double votca::xtp::SiteRelativeDipoleChange ( const Eigen::Vector3d & U0,
const Eigen::Vector3d & U1 )

Definition at line 334 of file ewaldsolvers.h.

◆ SolveWithIndefinitenessCheck()

template<typename Preconditioner>
PcgIndefinitenessResult votca::xtp::SolveWithIndefinitenessCheck ( const EwaldPeriodicDipoleOperator & op,
Preconditioner & precond,
const Eigen::VectorXd & b,
Index max_iter,
double tol,
Logger & log,
std::chrono::steady_clock::time_point t_start )

Definition at line 130 of file ewaldsolvers.h.

◆ SolveWithJOR()

JorResult votca::xtp::SolveWithJOR ( const EwaldPeriodicDipoleOperator & op,
const EwaldSitePolarizabilityBlocks & site_p,
const Eigen::VectorXd & b,
Index max_iter,
double omega,
Logger & log,
std::chrono::steady_clock::time_point t_start,
bool match_legacy_first_step )

Definition at line 398 of file ewaldsolvers.h.

◆ StringToEnum() [1/2]

L votca::xtp::StringToEnum ( char type)

Definition at line 37 of file basisset.cc.

◆ StringToEnum() [2/2]

L votca::xtp::StringToEnum ( const std::string & type)

Definition at line 30 of file basisset.cc.

◆ SymmetricEigen()

SymmetricEigenSystem votca::xtp::SymmetricEigen ( const Eigen::MatrixXd & A,
bool vectors = true )

With vectors = false only the eigenvalues are computed.

Definition at line 195 of file screening_kernels.cc.

◆ UPDATE_JOBS()

void votca::xtp::UPDATE_JOBS ( const std::vector< Job > & from,
std::vector< Job > & to,
const std::string & thisHost )

Definition at line 217 of file job.cc.

◆ WRITE_JOBS()

void votca::xtp::WRITE_JOBS ( const std::vector< Job > & jobs,
const std::string & job_file )

Definition at line 201 of file job.cc.

◆ XTP_HAS_MKL_OVERLOAD()

bool votca::xtp::XTP_HAS_MKL_OVERLOAD ( )
inline

Definition at line 44 of file eigen.h.