|
votca 2026-dev
|
Container for molecular orbitals and derived one-particle data. More...
#include <orbitals.h>

Public Member Functions | |
| Orbitals () | |
| Construct an empty orbital container with default metadata. | |
| bool | hasBasisSetSize () const |
| Report whether a DFT AO basis has already been attached. | |
| void | setEmbeddedMOs (tools::EigenSystem &system) |
| Store molecular orbitals obtained from an embedding calculation. | |
| const tools::EigenSystem & | getEmbeddedMOs () const |
| Return molecular orbitals obtained from an embedding calculation. | |
| void | setTruncMOsFullBasis (const Eigen::MatrixXd &expandedMOs) |
| Store truncated active-region orbitals expanded back to the full AO basis. | |
| const Eigen::MatrixXd | getTruncMOsFullBasis () const |
| Return truncated active-region orbitals represented in the full AO basis. | |
| Index | getBasisSetSize () const |
| Return the number of AO basis functions in the DFT basis. | |
| Index | getLumoAlpha () const |
| Return the alpha-spin LUMO index inferred from the stored electron counts. | |
| Index | getHomoAlpha () const |
| Return the alpha-spin HOMO index. | |
| Index | getLumoBeta () const |
| Index | getHomoBeta () const |
| Return the beta-spin HOMO index. | |
| Index | getLumo () const |
| Return the default LUMO index used by spin-agnostic callers. | |
| Index | getHomo () const |
| Return the default HOMO index used by spin-agnostic callers. | |
| bool | hasNumberOfLevels () const |
| Report whether the number of occupied spatial orbitals has been set. | |
| bool | hasNumberOfLevelsBeta () const |
| void | setNumberOfOccupiedLevels (Index occupied_levels) |
| void | setNumberOfOccupiedLevelsBeta (Index occupied_levels_beta) |
| Store the number of occupied beta-spin orbitals. | |
| void | setNumberOfAlphaElectrons (Index electrons) |
| Store the total number of alpha electrons. | |
| void | setNumberOfBetaElectrons (Index electrons) |
| Store the total number of beta electrons. | |
| bool | hasNumberOfAlphaElectrons () const |
| Report whether the alpha-electron count has been set explicitly. | |
| bool | hasNumberOfBetaElectrons () const |
| Report whether the beta-electron count has been set explicitly. | |
| Index | getNumberOfAlphaElectrons () const |
| Return the stored number of alpha electrons. | |
| Index | getNumberOfBetaElectrons () const |
| Return the stored number of beta electrons. | |
| bool | hasECPName () const |
| Report whether an effective core potential label has been stored. | |
| const std::string & | getECPName () const |
| Return the effective core potential label. | |
| void | setECPName (const std::string &ECP) |
| Store the effective core potential label. | |
| bool | hasQMpackage () const |
| Report whether the originating QM package name has been stored. | |
| const std::string & | getQMpackage () const |
| Return the stored QM package name. | |
| void | setQMpackage (const std::string &qmpackage) |
| Store the name of the QM package that produced these orbitals. | |
| bool | hasMOs () const |
| Report whether alpha/restricted molecular orbitals are available. | |
| bool | hasBetaMOs () const |
| Report whether beta-spin molecular orbitals are available. | |
| const tools::EigenSystem & | MOs () const |
| Return read-only access to alpha/restricted molecular orbitals. | |
| tools::EigenSystem & | MOs () |
| Return writable access to alpha/restricted molecular orbitals. | |
| const Eigen::MatrixXd & | Occupations () const |
| Return the stored fractional occupation matrix. | |
| Eigen::MatrixXd & | Occupations () |
| Return writable access to the fractional occupation matrix. | |
| const tools::EigenSystem & | MOs_beta () const |
| Return read-only access to beta-spin molecular orbitals. | |
| tools::EigenSystem & | MOs_beta () |
| Return writable access to beta-spin molecular orbitals. | |
| std::vector< Index > | CheckDegeneracy (Index level, double energy_difference) const |
| Index | NumberofStates (QMStateType type) const |
| Return the number of states available for the requested state family. | |
| void | setCalculationType (std::string CalcType) |
| Store the calculation-type tag used by downstream workflows. | |
| std::string | getCalculationType () const |
| Return the stored calculation-type tag. | |
| void | setChargeAndSpin (Index charge, Index spin) |
| Index | getSpin () const |
| Return the stored spin multiplicity. | |
| Index | getCharge () const |
| Return the stored total charge. | |
| bool | isOpenShell () const |
| Report whether the stored state corresponds to an open-shell system. | |
| bool | hasQMAtoms () const |
| Report whether a molecular geometry has been stored. | |
| const QMMolecule & | QMAtoms () const |
| Return read-only access to the molecular geometry. | |
| QMMolecule & | QMAtoms () |
| Return writable access to the molecular geometry. | |
| void | updateAtomPostion (Index atom_index, Eigen::Vector3d new_position) |
| Update one atomic position and keep attached AO basis shells synchronized. | |
| void | setXCFunctionalName (std::string functionalname) |
| const std::string & | getXCFunctionalName () const |
| Return the exchange-correlation functional label. | |
| void | setXCGrid (std::string grid) |
| Store the numerical XC grid quality label. | |
| const std::string & | getXCGrid () const |
| Return the numerical XC grid quality label. | |
| bool | hasQMEnergy () const |
| Report whether a total electronic energy has been stored. | |
| double | getDFTTotalEnergy () const |
| Return the stored total DFT energy. | |
| void | setQMEnergy (double qmenergy) |
| Store the total DFT energy. | |
| bool | hasForces () const |
| Report whether nuclear forces have been stored. | |
| const Eigen::MatrixXd & | getForces () const |
| Return the stored nuclear forces (Natoms x 3, Hartree/Bohr). | |
| void | setForces (const Eigen::MatrixXd &forces) |
| bool | hasDFTbasisName () const |
| Report whether a DFT basis-set name has been stored. | |
| const std::string & | getDFTbasisName () const |
| Return the DFT basis-set name. | |
| void | SetupDftBasis (std::string basis_name) |
| Build and attach the DFT AO basis from the stored molecular geometry. | |
| void | SetupAuxBasis (std::string aux_basis_name) |
| const AOBasis & | getDftBasis () const |
| Return the DFT AO basis, throwing if it has not been initialized. | |
| const AOBasis & | getAuxBasis () const |
| Return the auxiliary AO basis, throwing if it has not been initialized. | |
| bool | hasAuxbasisName () const |
| Report whether an auxiliary basis-set name has been stored. | |
| const std::string | getAuxbasisName () const |
| Return the auxiliary basis-set name. | |
| bool | hasGWAindices () const |
| Report whether the GW quasiparticle window has been defined. | |
| void | setGWindices (Index qpmin, Index qpmax) |
| Store the orbital window used in GW calculations. | |
| Index | getGWAmin () const |
| Return the lower GW orbital index. | |
| Index | getGWAmax () const |
| Return the upper GW orbital index. | |
| bool | hasRPAindices () const |
| Report whether the RPA window has been defined. | |
| void | setRPAindices (Index rpamin, Index rpamax) |
| Store the orbital window used in RPA calculations. | |
| Index | getRPAmin () const |
| Return the lower RPA orbital index. | |
| Index | getRPAmax () const |
| Return the upper RPA orbital index. | |
| void | setTDAApprox (bool usedTDA) |
| Enable or disable the Tamm-Dancoff approximation flag. | |
| bool | getTDAApprox () const |
| Return whether the Tamm-Dancoff approximation is enabled. | |
| bool | hasBSEindices () const |
| Report whether the BSE valence/conduction window has been defined. | |
| void | setBSEindices (Index vmin, Index cmax) |
| Index | getBSEvmin () const |
| Return the lowest valence orbital included in BSE. | |
| Index | getBSEvmax () const |
| Return the highest valence orbital included in BSE. | |
| Index | getBSEcmin () const |
| Return the lowest conduction orbital included in BSE. | |
| Index | getBSEcmax () const |
| Return the highest conduction orbital included in BSE. | |
| double | getScaHFX () const |
| Return the fraction of exact exchange associated with the functional. | |
| void | setScaHFX (double ScaHFX) |
| Store the fraction of exact exchange associated with the functional. | |
| bool | hasRPAInputEnergies () const |
| Report whether RPA input energies are available. | |
| const Eigen::VectorXd & | RPAInputEnergies () const |
| Return read-only access to the RPA input energies. | |
| Eigen::VectorXd & | RPAInputEnergies () |
| Return writable access to the RPA input energies. | |
| bool | hasQPpert () const |
| Report whether perturbative quasiparticle energies are available. | |
| const Eigen::VectorXd & | QPpertEnergies () const |
| Return read-only access to perturbative quasiparticle energies. | |
| Eigen::VectorXd & | QPpertEnergies () |
| Return writable access to perturbative quasiparticle energies. | |
| bool | hasQPdiag () const |
| const tools::EigenSystem & | QPdiag () const |
| Return read-only access to the diagonalized quasiparticle representation. | |
| tools::EigenSystem & | QPdiag () |
| Return writable access to the diagonalized quasiparticle representation. | |
| bool | hasQSGWRotation () const |
| Return whether a QSGW rotation matrix is available. | |
| const Eigen::MatrixXd & | getQSGWRotation () const |
| void | setQSGWRotation (const Eigen::MatrixXd &U) |
| Store the QSGW rotation matrix U produced by GW::CalculateQSGW. | |
| bool | hasBSETriplets () const |
| Report whether triplet BSE eigenpairs are available. | |
| const tools::EigenSystem & | BSETriplets () const |
| Return read-only access to triplet BSE eigenpairs. | |
| tools::EigenSystem & | BSETriplets () |
| Return writable access to triplet BSE eigenpairs. | |
| bool | hasBSESinglets () const |
| Report whether singlet BSE eigenpairs are available. | |
| const tools::EigenSystem & | BSESinglets () const |
| Return read-only access to singlet BSE eigenpairs. | |
| tools::EigenSystem & | BSESinglets () |
| Return writable access to singlet BSE eigenpairs. | |
| bool | hasBSESinglets_dynamic () const |
| Report whether dynamically screened singlet BSE energies are available. | |
| const Eigen::VectorXd & | BSESinglets_dynamic () const |
| Return dynamically screened singlet BSE energies. | |
| Eigen::VectorXd & | BSESinglets_dynamic () |
| Return writable access to dynamically screened singlet BSE energies. | |
| bool | hasBSETriplets_dynamic () const |
| Report whether dynamically screened triplet BSE energies are available. | |
| const Eigen::VectorXd & | BSETriplets_dynamic () const |
| Return dynamically screened triplet BSE energies. | |
| Eigen::VectorXd & | BSETriplets_dynamic () |
| Return writable access to dynamically screened triplet BSE energies. | |
| bool | hasTransitionDipoles () const |
| Report whether transition dipole moments have been computed. | |
| const std::vector< Eigen::Vector3d > & | TransitionDipoles () const |
| Return the stored transition dipole moments. | |
| Eigen::VectorXd | Oscillatorstrengths () const |
| Eigen::VectorXd | Oscillatorstrengths (const QMStateType &type) const |
| Compute oscillator strengths for a specific excitation family. | |
| Eigen::Vector3d | CalcElDipole (const QMState &state) const |
| Compute the electronic dipole moment associated with a state density. | |
| Eigen::MatrixXd | DensityMatrixFull (const QMState &state) const |
| Eigen::MatrixXd | DensityMatrixWithoutGS (const QMState &state) const |
| Eigen::MatrixXd | DensityMatrixGroundState () const |
| Build the ground-state AO density matrix from the stored orbitals. | |
| std::array< Eigen::MatrixXd, 2 > | DensityMatrixExcitedState (const QMState &state) const |
| Build separate hole and electron AO densities for an excited state. | |
| Eigen::MatrixXd | DensityMatrixQuasiParticle (const QMState &state) const |
| Build the AO density matrix for a quasiparticle state. | |
| Eigen::MatrixXd | DensityMatrixKSstate (const QMState &state) const |
| Build the AO density matrix for a single KS orbital state. | |
| Eigen::MatrixXd | CalculateQParticleAORepresentation () const |
| Transform quasiparticle amplitudes into the AO representation. | |
| double | getTotalStateEnergy (const QMState &state) const |
| Return the absolute total energy of the requested state in Hartree. | |
| double | getExcitedStateEnergy (const QMState &state) const |
| Return the excitation energy of the requested state in Hartree. | |
| void | OrderMOsbyEnergy () |
| void | OrderMOsbyEnergyAlpha () |
| void | OrderMOsbyEnergyBeta () |
| Same as OrderMOsbyEnergyAlpha, but for the BETA channel (mos_beta_). | |
| void | PrepareDimerGuess (const Orbitals &orbitalsA, const Orbitals &orbitalsB) |
| Guess for a dimer based on monomer orbitals. | |
| void | PrepareDimerGuessMixedSpin (const Orbitals &orbitalsA, const Orbitals &orbitalsB) |
| Guess for a dimer of two monomers with independently ARBITRARY charge and spin, built by combining each monomer's own, already- converged electronic structure directly. | |
| void | CalcCoupledTransition_Dipoles () |
| void | CalcCoupledTransition_Dipoles (const QMStateType &type) |
| Compute transition dipoles for a specific excitation family. | |
| void | WriteToCpt (const std::string &filename) const |
| Write the orbital container to a checkpoint file on disk. | |
| void | ReadFromCpt (const std::string &filename) |
| Read the orbital container from a checkpoint file on disk. | |
| void | WriteToCpt (CheckpointWriter &w) const |
| Serialize the orbital container into an already-open checkpoint writer. | |
| void | WriteBasisSetsToCpt (CheckpointWriter &w) const |
| void | ReadFromCpt (CheckpointReader &r) |
| Deserialize the orbital container from an already-open checkpoint reader. | |
| void | ReadBasisSetsFromCpt (CheckpointReader &r) |
| Deserialize attached AO basis sets from an already-open checkpoint reader. | |
| bool | GetFlagUseHqpOffdiag () const |
| void | SetFlagUseHqpOffdiag (bool flag) |
| bool | isQSGW () const |
| void | setQSGW (bool flag) |
| const Eigen::MatrixXd & | getLMOs () const |
| Return localized molecular orbitals, if available. | |
| void | setLMOs (const Eigen::MatrixXd &matrix) |
| Store localized molecular orbitals. | |
| const Eigen::VectorXd & | getLMOs_energies () const |
| Return the energies associated with localized molecular orbitals. | |
| void | setLMOs_energies (const Eigen::VectorXd &energies) |
| Store the energies associated with localized molecular orbitals. | |
| Index | getNumOfActiveElectrons () |
| Return the number of electrons assigned to the active region. | |
| void | setNumofActiveElectrons (const Index active_electrons) |
| Store the number of electrons assigned to the active region. | |
| const Eigen::MatrixXd & | getInactiveDensity () const |
| Return the inactive-region density matrix used in embedding workflows. | |
| void | setInactiveDensity (Eigen::MatrixXd inactivedensity) |
| Store the inactive-region density matrix used in embedding workflows. | |
| bool | hasUnrestrictedOrbitals () const |
| Report whether separate beta-spin orbitals are present. | |
| bool | isRestrictedOpenShell () const |
| Report whether the orbitals represent a restricted open-shell reference. | |
| bool | isUnrestrictedOpenShell () const |
| std::array< Eigen::MatrixXd, 2 > | DensityMatrixGroundStateSpinResolved () const |
| bool | hasRPAInputEnergiesAlpha () const |
| bool | hasRPAInputEnergiesBeta () const |
| const Eigen::VectorXd & | RPAInputEnergiesAlpha () const |
| const Eigen::VectorXd & | RPAInputEnergiesBeta () const |
| Eigen::VectorXd & | RPAInputEnergiesAlpha () |
| Eigen::VectorXd & | RPAInputEnergiesBeta () |
| bool | hasQPpertAlpha () const |
| bool | hasQPpertBeta () const |
| const Eigen::MatrixXd & | QPpertEnergiesAlpha () const |
| const Eigen::MatrixXd & | QPpertEnergiesBeta () const |
| Eigen::MatrixXd & | QPpertEnergiesAlpha () |
| Eigen::MatrixXd & | QPpertEnergiesBeta () |
| bool | hasQPdiagAlpha () const |
| bool | hasQPdiagBeta () const |
| const tools::EigenSystem & | QPdiagAlpha () const |
| const tools::EigenSystem & | QPdiagBeta () const |
| tools::EigenSystem & | QPdiagAlpha () |
| tools::EigenSystem & | QPdiagBeta () |
| bool | hasBSEUKS () const |
| const tools::EigenSystem & | BSEUKS () const |
| tools::EigenSystem & | BSEUKS () |
| bool | hasBSEUKS_dynamic () const |
| const Eigen::VectorXd & | BSEUKS_dynamic () const |
| Eigen::VectorXd & | BSEUKS_dynamic () |
Private Member Functions | |
| std::array< Eigen::MatrixXd, 3 > | CalcFreeTransition_Dipoles () const |
| std::vector< Index > | SortEnergies () |
| std::vector< Index > | SortEnergiesAlpha () |
| std::vector< Index > | SortEnergiesBeta () |
| void | WriteToCpt (CheckpointFile &f) const |
| void | ReadFromCpt (CheckpointFile &f) |
| Eigen::MatrixXd | TransitionDensityMatrix (const QMState &state) const |
| std::array< Eigen::MatrixXd, 2 > | DensityMatrixExcitedState_R (const QMState &state) const |
| std::array< Eigen::MatrixXd, 2 > | DensityMatrixExcitedState_AR (const QMState &state) const |
| Eigen::MatrixXd | CalcAuxMat_cc (const Eigen::VectorXd &coeffs) const |
| Eigen::MatrixXd | CalcAuxMat_vv (const Eigen::VectorXd &coeffs) const |
Static Private Member Functions | |
| static constexpr int | orbitals_version () |
Container for molecular orbitals and derived one-particle data.
Besides orbital energies and coefficients, the class stores basis-set metadata, electron counts, spin information, excited-state amplitudes, and helpers for building AO-basis density matrices from the stored states.
Definition at line 47 of file orbitals.h.
| votca::xtp::Orbitals::Orbitals | ( | ) |
Construct an empty orbital container with default metadata.
AO-basis one-particle observables built from stored orbitals.
This file implements density matrices, transition densities, dipoles, and related projections derived from the MO coefficients stored in Orbitals. The formulas are written in the AO basis so they can be combined directly with other matrix elements used throughout XTP.
Definition at line 46 of file orbitals.cc.
|
inline |
Return writable access to singlet BSE eigenpairs.
Definition at line 504 of file orbitals.h.
|
inline |
Return read-only access to singlet BSE eigenpairs.
Definition at line 501 of file orbitals.h.
|
inline |
Return writable access to dynamically screened singlet BSE energies.
Definition at line 518 of file orbitals.h.
|
inline |
Return dynamically screened singlet BSE energies.
Definition at line 513 of file orbitals.h.
|
inline |
Return writable access to triplet BSE eigenpairs.
Definition at line 491 of file orbitals.h.
|
inline |
Return read-only access to triplet BSE eigenpairs.
Definition at line 488 of file orbitals.h.
|
inline |
Return writable access to dynamically screened triplet BSE energies.
Definition at line 533 of file orbitals.h.
|
inline |
Return dynamically screened triplet BSE energies.
Definition at line 528 of file orbitals.h.
|
inline |
Definition at line 761 of file orbitals.h.
|
inline |
Definition at line 760 of file orbitals.h.
|
inline |
Definition at line 769 of file orbitals.h.
|
inline |
Definition at line 766 of file orbitals.h.
|
private |
Definition at line 584 of file orbitals.cc.
|
private |
Definition at line 578 of file orbitals.cc.
| void votca::xtp::Orbitals::CalcCoupledTransition_Dipoles | ( | ) |
Compute transition dipoles for coupled excited states from the stored BSE data for the default restricted singlet BSE case.
Definition at line 760 of file orbitals.cc.
| void votca::xtp::Orbitals::CalcCoupledTransition_Dipoles | ( | const QMStateType & | type | ) |
Compute transition dipoles for a specific excitation family.
Definition at line 764 of file orbitals.cc.
| Eigen::Vector3d votca::xtp::Orbitals::CalcElDipole | ( | const QMState & | state | ) | const |
Compute the electronic dipole moment associated with a state density.
Definition at line 288 of file orbitals.cc.
|
private |
Definition at line 742 of file orbitals.cc.
| Eigen::MatrixXd votca::xtp::Orbitals::CalculateQParticleAORepresentation | ( | ) | const |
Transform quasiparticle amplitudes into the AO representation.
Definition at line 250 of file orbitals.cc.
| std::vector< Index > votca::xtp::Orbitals::CheckDegeneracy | ( | Index | level, |
| double | energy_difference ) const |
Return all orbitals whose energies are degenerate with the requested level within a tolerance.
| level | Index of the level that is to be checked for degeneracy |
| energy_difference | [ev] Two levels are degenerate if their energy is smaller than this value |
Definition at line 56 of file orbitals.cc.
| std::array< Eigen::MatrixXd, 2 > votca::xtp::Orbitals::DensityMatrixExcitedState | ( | const QMState & | state | ) | const |
Build separate hole and electron AO densities for an excited state.
Definition at line 413 of file orbitals.cc.
|
private |
Definition at line 590 of file orbitals.cc.
|
private |
Definition at line 535 of file orbitals.cc.
| Eigen::MatrixXd votca::xtp::Orbitals::DensityMatrixFull | ( | const QMState & | state | ) | const |
Build the full AO density matrix for an excited or transition state including the ground-state part.
Definition at line 150 of file orbitals.cc.
| Eigen::MatrixXd votca::xtp::Orbitals::DensityMatrixGroundState | ( | ) | const |
Build the ground-state AO density matrix from the stored orbitals.
Definition at line 220 of file orbitals.cc.
| std::array< Eigen::MatrixXd, 2 > votca::xtp::Orbitals::DensityMatrixGroundStateSpinResolved | ( | ) | const |
Build separate alpha and beta ground-state density matrices from the stored orbitals.
Definition at line 1380 of file orbitals.cc.
| Eigen::MatrixXd votca::xtp::Orbitals::DensityMatrixKSstate | ( | const QMState & | state | ) | const |
Build the AO density matrix for a single KS orbital state.
Definition at line 232 of file orbitals.cc.
| Eigen::MatrixXd votca::xtp::Orbitals::DensityMatrixQuasiParticle | ( | const QMState & | state | ) | const |
Build the AO density matrix for a quasiparticle state.
Definition at line 265 of file orbitals.cc.
| Eigen::MatrixXd votca::xtp::Orbitals::DensityMatrixWithoutGS | ( | const QMState & | state | ) | const |
Build the excited- or transition-state density contribution without the ground-state density.
Definition at line 121 of file orbitals.cc.
|
inline |
Return the auxiliary AO basis, throwing if it has not been initialized.
Definition at line 339 of file orbitals.h.
|
inline |
Return the auxiliary basis-set name.
Definition at line 361 of file orbitals.h.
|
inline |
Return the number of AO basis functions in the DFT basis.
Definition at line 72 of file orbitals.h.
|
inline |
Return the highest conduction orbital included in BSE.
Definition at line 430 of file orbitals.h.
|
inline |
Return the lowest conduction orbital included in BSE.
Definition at line 427 of file orbitals.h.
|
inline |
Return the highest valence orbital included in BSE.
Definition at line 424 of file orbitals.h.
|
inline |
Return the lowest valence orbital included in BSE.
Definition at line 421 of file orbitals.h.
|
inline |
Return the stored calculation-type tag.
Definition at line 242 of file orbitals.h.
|
inline |
Return the stored total charge.
Definition at line 254 of file orbitals.h.
|
inline |
Return the DFT AO basis, throwing if it has not been initialized.
Definition at line 328 of file orbitals.h.
|
inline |
Return the DFT basis-set name.
Definition at line 318 of file orbitals.h.
|
inline |
Return the stored total DFT energy.
Definition at line 292 of file orbitals.h.
|
inline |
Return the effective core potential label.
Definition at line 167 of file orbitals.h.
|
inline |
Return molecular orbitals obtained from an embedding calculation.
Definition at line 61 of file orbitals.h.
| double votca::xtp::Orbitals::getExcitedStateEnergy | ( | const QMState & | state | ) | const |
Return the excitation energy of the requested state in Hartree.
Definition at line 685 of file orbitals.cc.
|
inline |
Return whether off-diagonal quasiparticle Hamiltonian elements should be used.
Definition at line 659 of file orbitals.h.
|
inline |
Return the stored nuclear forces (Natoms x 3, Hartree/Bohr).
Definition at line 304 of file orbitals.h.
|
inline |
Return the upper GW orbital index.
Definition at line 378 of file orbitals.h.
|
inline |
Return the lower GW orbital index.
Definition at line 375 of file orbitals.h.
|
inline |
Return the default HOMO index used by spin-agnostic callers.
Definition at line 107 of file orbitals.h.
|
inline |
Return the alpha-spin HOMO index.
Definition at line 83 of file orbitals.h.
|
inline |
Return the beta-spin HOMO index.
Definition at line 101 of file orbitals.h.
|
inline |
Return the inactive-region density matrix used in embedding workflows.
Definition at line 690 of file orbitals.h.
|
inline |
Return localized molecular orbitals, if available.
Definition at line 671 of file orbitals.h.
|
inline |
Return the energies associated with localized molecular orbitals.
Definition at line 676 of file orbitals.h.
|
inline |
Return the default LUMO index used by spin-agnostic callers.
Definition at line 105 of file orbitals.h.
|
inline |
Return the alpha-spin LUMO index inferred from the stored electron counts.
Definition at line 75 of file orbitals.h.
|
inline |
Return the beta-spin LUMO index, including legacy restricted closed-shell fallback logic.
Definition at line 87 of file orbitals.h.
|
inline |
Return the stored number of alpha electrons.
Definition at line 159 of file orbitals.h.
|
inline |
Return the stored number of beta electrons.
Definition at line 161 of file orbitals.h.
|
inline |
Return the number of electrons assigned to the active region.
Definition at line 683 of file orbitals.h.
|
inline |
Return the stored QM package name.
Definition at line 178 of file orbitals.h.
|
inline |
Return read-only access to the QSGW rotation matrix U (DFT MOs -> QP wavefunctions).
Definition at line 477 of file orbitals.h.
|
inline |
Return the upper RPA orbital index.
Definition at line 395 of file orbitals.h.
|
inline |
Return the lower RPA orbital index.
Definition at line 392 of file orbitals.h.
|
inline |
Return the fraction of exact exchange associated with the functional.
Definition at line 433 of file orbitals.h.
|
inline |
Return the stored spin multiplicity.
Definition at line 252 of file orbitals.h.
|
inline |
Return whether the Tamm-Dancoff approximation is enabled.
Definition at line 402 of file orbitals.h.
| double votca::xtp::Orbitals::getTotalStateEnergy | ( | const QMState & | state | ) | const |
Return the absolute total energy of the requested state in Hartree.
Definition at line 676 of file orbitals.cc.
|
inline |
Return truncated active-region orbitals represented in the full AO basis.
Definition at line 69 of file orbitals.h.
|
inline |
Return the exchange-correlation functional label.
Definition at line 280 of file orbitals.h.
|
inline |
Return the numerical XC grid quality label.
Definition at line 285 of file orbitals.h.
|
inline |
Report whether an auxiliary basis-set name has been stored.
Definition at line 356 of file orbitals.h.
|
inline |
Report whether a DFT AO basis has already been attached.
Definition at line 53 of file orbitals.h.
|
inline |
Report whether beta-spin molecular orbitals are available.
Definition at line 187 of file orbitals.h.
|
inline |
Report whether the BSE valence/conduction window has been defined.
Definition at line 405 of file orbitals.h.
|
inline |
Report whether singlet BSE eigenpairs are available.
Definition at line 496 of file orbitals.h.
|
inline |
Report whether dynamically screened singlet BSE energies are available.
Definition at line 508 of file orbitals.h.
|
inline |
Report whether triplet BSE eigenpairs are available.
Definition at line 483 of file orbitals.h.
|
inline |
Report whether dynamically screened triplet BSE energies are available.
Definition at line 523 of file orbitals.h.
|
inline |
EXTENSIONS SPIN BSE
Definition at line 757 of file orbitals.h.
|
inline |
Definition at line 763 of file orbitals.h.
|
inline |
Report whether a DFT basis-set name has been stored.
Definition at line 313 of file orbitals.h.
|
inline |
Report whether an effective core potential label has been stored.
Definition at line 164 of file orbitals.h.
|
inline |
Report whether nuclear forces have been stored.
Definition at line 301 of file orbitals.h.
|
inline |
Report whether the GW quasiparticle window has been defined.
Definition at line 366 of file orbitals.h.
|
inline |
Report whether alpha/restricted molecular orbitals are available.
Definition at line 185 of file orbitals.h.
|
inline |
Report whether the alpha-electron count has been set explicitly.
Definition at line 150 of file orbitals.h.
|
inline |
Report whether the beta-electron count has been set explicitly.
Definition at line 154 of file orbitals.h.
|
inline |
Report whether the number of occupied spatial orbitals has been set.
Definition at line 111 of file orbitals.h.
|
inline |
Report whether the beta-spin occupied-orbital count has been set explicitly.
Definition at line 116 of file orbitals.h.
|
inline |
Report whether a molecular geometry has been stored.
Definition at line 259 of file orbitals.h.
|
inline |
Report whether a total electronic energy has been stored.
Definition at line 289 of file orbitals.h.
|
inline |
Report whether the originating QM package name has been stored.
Definition at line 175 of file orbitals.h.
|
inline |
Report whether diagonalized quasiparticle energies and orbitals are available.
Definition at line 464 of file orbitals.h.
|
inline |
Definition at line 745 of file orbitals.h.
|
inline |
Definition at line 748 of file orbitals.h.
|
inline |
Report whether perturbative quasiparticle energies are available.
Definition at line 450 of file orbitals.h.
|
inline |
Definition at line 734 of file orbitals.h.
|
inline |
Definition at line 735 of file orbitals.h.
|
inline |
Return whether a QSGW rotation matrix is available.
Definition at line 473 of file orbitals.h.
|
inline |
Report whether the RPA window has been defined.
Definition at line 383 of file orbitals.h.
|
inline |
Report whether RPA input energies are available.
Definition at line 440 of file orbitals.h.
|
inline |
Definition at line 719 of file orbitals.h.
|
inline |
Definition at line 722 of file orbitals.h.
|
inline |
Report whether transition dipole moments have been computed.
Definition at line 540 of file orbitals.h.
|
inline |
Report whether separate beta-spin orbitals are present.
Definition at line 700 of file orbitals.h.
|
inline |
Report whether the stored state corresponds to an open-shell system.
Definition at line 256 of file orbitals.h.
|
inline |
Returns true if QP data was obtained via QSGW (not perturbative GW). When true, BSE must be built in the QP basis using rotated MO coefficients C_qp = C_dft * U where U = QPdiag().eigenvectors().
Definition at line 667 of file orbitals.h.
|
inline |
Report whether the orbitals represent a restricted open-shell reference.
Definition at line 703 of file orbitals.h.
|
inline |
Report whether the orbitals represent an unrestricted open-shell reference.
Definition at line 709 of file orbitals.h.
|
inline |
Return writable access to alpha/restricted molecular orbitals.
Definition at line 194 of file orbitals.h.
|
inline |
Return read-only access to alpha/restricted molecular orbitals.
Definition at line 192 of file orbitals.h.
|
inline |
Return writable access to beta-spin molecular orbitals.
Definition at line 204 of file orbitals.h.
|
inline |
Return read-only access to beta-spin molecular orbitals.
Definition at line 202 of file orbitals.h.
|
inline |
Return the number of states available for the requested state family.
Definition at line 213 of file orbitals.h.
|
inline |
Return writable access to the fractional occupation matrix.
Definition at line 199 of file orbitals.h.
|
inline |
Return the stored fractional occupation matrix.
Definition at line 197 of file orbitals.h.
|
inlinestaticconstexprprivate |
Definition at line 894 of file orbitals.h.
| void votca::xtp::Orbitals::OrderMOsbyEnergy | ( | ) |
Resort molecular orbitals and associated quantities by increasing orbital energy.
Definition at line 887 of file orbitals.cc.
| void votca::xtp::Orbitals::OrderMOsbyEnergyAlpha | ( | ) |
Same as OrderMOsbyEnergy, but operating on the ALPHA channel of an unrestricted (UKS) system specifically – OrderMOsbyEnergy/ SortEnergies only ever touch mos_ (the single restricted object) and SortEnergies actively throws for hasUnrestrictedOrbitals()==true, so neither can be reused here. Needed for PrepareDimerGuessMixedSpin, which builds a genuinely unrestricted dimer guess from two monomers of independently arbitrary charge/spin.
Definition at line 921 of file orbitals.cc.
| void votca::xtp::Orbitals::OrderMOsbyEnergyBeta | ( | ) |
Same as OrderMOsbyEnergyAlpha, but for the BETA channel (mos_beta_).
Definition at line 933 of file orbitals.cc.
| Eigen::VectorXd votca::xtp::Orbitals::Oscillatorstrengths | ( | ) | const |
Compute oscillator strengths from the stored excitation energies and transition dipoles for the default restricted singlet BSE case.
Definition at line 643 of file orbitals.cc.
| Eigen::VectorXd votca::xtp::Orbitals::Oscillatorstrengths | ( | const QMStateType & | type | ) | const |
Compute oscillator strengths for a specific excitation family.
Definition at line 647 of file orbitals.cc.
| void votca::xtp::Orbitals::PrepareDimerGuess | ( | const Orbitals & | orbitalsA, |
| const Orbitals & | orbitalsB ) |
Guess for a dimer based on monomer orbitals.
Build a dimer starting guess by combining orbital information from two fragments.
Given two monomer orbitals (A and B) constructs a guess for dimer orbitals: | A 0 | and energies: [EA, EB] | 0 B |
Definition at line 952 of file orbitals.cc.
| void votca::xtp::Orbitals::PrepareDimerGuessMixedSpin | ( | const Orbitals & | orbitalsA, |
| const Orbitals & | orbitalsB ) |
Guess for a dimer of two monomers with independently ARBITRARY charge and spin, built by combining each monomer's own, already- converged electronic structure directly.
Same purpose as PrepareDimerGuess, but for two monomers of independently ARBITRARY charge and spin (restricted or unrestricted, not just closed-shell singlets) – e.g. a neutral singlet donor paired with a charged doublet acceptor, exactly the case PrepareDimerGuess itself explicitly refuses (it throws for any input with spin != 1 or hasUnrestrictedOrbitals()==true).
Deliberately a separate, new function rather than a generalization of PrepareDimerGuess itself – that function is already used by the existing, production iqm.cc calculator, and touching it risks that code path for no benefit it needs (iqm's own use case genuinely is always two neutral singlet monomers).
Builds a genuinely unrestricted dimer: the alpha and beta MO coefficient blocks are constructed SEPARATELY (block-diagonal from each monomer's own alpha and beta blocks respectively – a restricted monomer contributes the SAME block to both, since its alpha and beta MOs are identical by construction), giving the dimer real, unequal alpha/beta occupied counts whenever the two monomers' own electron counts don't happen to match. This is the whole point: each monomer's own, already-converged electronic structure (including which one is charged/open-shell) is embedded directly into the dimer's starting guess, rather than relying on a generic guess (SAD, independent-electron, Huckel) to somehow discover that asymmetry on its own.
Unlike PrepareDimerGuess (restricted, closed-shell singlets only), this builds the dimer's alpha and beta MO coefficient blocks SEPARATELY: | Aalpha 0 | and | Abeta 0 | | 0 Balpha| | 0 Bbeta| A restricted monomer contributes the SAME block to both alpha and beta (its own alpha/beta MOs being identical by construction); an unrestricted monomer contributes its own, genuinely different alpha and beta blocks. The dimer itself is always treated as unrestricted, since that is the only representation general enough to hold two monomers whose electron counts need not match.
Definition at line 1032 of file orbitals.cc.
|
inline |
Return writable access to the molecular geometry.
Definition at line 265 of file orbitals.h.
|
inline |
Return read-only access to the molecular geometry.
Definition at line 262 of file orbitals.h.
|
inline |
Return writable access to the diagonalized quasiparticle representation.
Definition at line 470 of file orbitals.h.
|
inline |
Return read-only access to the diagonalized quasiparticle representation.
Definition at line 468 of file orbitals.h.
|
inline |
Definition at line 751 of file orbitals.h.
|
inline |
Definition at line 749 of file orbitals.h.
|
inline |
Definition at line 752 of file orbitals.h.
|
inline |
Definition at line 750 of file orbitals.h.
|
inline |
Return writable access to perturbative quasiparticle energies.
Definition at line 458 of file orbitals.h.
|
inline |
Return read-only access to perturbative quasiparticle energies.
Definition at line 455 of file orbitals.h.
|
inline |
Definition at line 742 of file orbitals.h.
|
inline |
Definition at line 736 of file orbitals.h.
|
inline |
Definition at line 743 of file orbitals.h.
|
inline |
Definition at line 739 of file orbitals.h.
| void votca::xtp::Orbitals::ReadBasisSetsFromCpt | ( | CheckpointReader & | r | ) |
Deserialize attached AO basis sets from an already-open checkpoint reader.
Definition at line 1214 of file orbitals.cc.
|
private |
Definition at line 1208 of file orbitals.cc.
| void votca::xtp::Orbitals::ReadFromCpt | ( | CheckpointReader & | r | ) |
Deserialize the orbital container from an already-open checkpoint reader.
Definition at line 1221 of file orbitals.cc.
| void votca::xtp::Orbitals::ReadFromCpt | ( | const std::string & | filename | ) |
Read the orbital container from a checkpoint file on disk.
Definition at line 1201 of file orbitals.cc.
|
inline |
Return writable access to the RPA input energies.
Definition at line 446 of file orbitals.h.
|
inline |
Return read-only access to the RPA input energies.
Definition at line 443 of file orbitals.h.
|
inline |
Definition at line 731 of file orbitals.h.
|
inline |
Definition at line 725 of file orbitals.h.
|
inline |
Definition at line 732 of file orbitals.h.
|
inline |
Definition at line 728 of file orbitals.h.
Define the BSE excitation window from a valence lower bound and conduction upper bound.
Definition at line 409 of file orbitals.h.
|
inline |
Store the calculation-type tag used by downstream workflows.
Definition at line 240 of file orbitals.h.
Store the total charge and spin multiplicity associated with the orbital set.
Definition at line 246 of file orbitals.h.
|
inline |
Store the effective core potential label.
Definition at line 170 of file orbitals.h.
|
inline |
Store molecular orbitals obtained from an embedding calculation.
Definition at line 58 of file orbitals.h.
|
inline |
Set whether off-diagonal quasiparticle Hamiltonian elements should be used.
Definition at line 662 of file orbitals.h.
|
inline |
Store nuclear forces (Natoms x 3, Hartree/Bohr). Caller is responsible for the sign convention (dE/dR vs -dE/dR); this class stores whatever is passed in without reinterpreting it.
Definition at line 309 of file orbitals.h.
Store the orbital window used in GW calculations.
Definition at line 369 of file orbitals.h.
|
inline |
Store the inactive-region density matrix used in embedding workflows.
Definition at line 692 of file orbitals.h.
|
inline |
Store localized molecular orbitals.
Definition at line 673 of file orbitals.h.
|
inline |
Store the energies associated with localized molecular orbitals.
Definition at line 678 of file orbitals.h.
|
inline |
Store the total number of alpha electrons.
Definition at line 139 of file orbitals.h.
|
inline |
Store the total number of beta electrons.
Definition at line 144 of file orbitals.h.
|
inline |
Store the number of occupied spatial orbitals and update closed-shell electron counts when applicable.
Definition at line 122 of file orbitals.h.
|
inline |
Store the number of occupied beta-spin orbitals.
Definition at line 134 of file orbitals.h.
|
inline |
Store the number of electrons assigned to the active region.
Definition at line 685 of file orbitals.h.
|
inline |
Store the total DFT energy.
Definition at line 295 of file orbitals.h.
|
inline |
Store the name of the QM package that produced these orbitals.
Definition at line 181 of file orbitals.h.
|
inline |
Definition at line 668 of file orbitals.h.
|
inline |
Store the QSGW rotation matrix U produced by GW::CalculateQSGW.
Definition at line 480 of file orbitals.h.
Store the orbital window used in RPA calculations.
Definition at line 386 of file orbitals.h.
|
inline |
Store the fraction of exact exchange associated with the functional.
Definition at line 436 of file orbitals.h.
|
inline |
Enable or disable the Tamm-Dancoff approximation flag.
Definition at line 400 of file orbitals.h.
|
inline |
Store truncated active-region orbitals expanded back to the full AO basis.
Definition at line 64 of file orbitals.h.
| void votca::xtp::Orbitals::SetupAuxBasis | ( | std::string | aux_basis_name | ) |
Build and attach the auxiliary AO basis from the stored molecular geometry.
Definition at line 108 of file orbitals.cc.
| void votca::xtp::Orbitals::SetupDftBasis | ( | std::string | basis_name | ) |
Build and attach the DFT AO basis from the stored molecular geometry.
SetupDftBasis constructs the dft basis, to do this the overlap integral needs to be evaluated with libint. Hence libint should be initialized for it to work.
Definition at line 99 of file orbitals.cc.
|
inline |
Store the exchange-correlation functional label associated with the orbitals.
Definition at line 276 of file orbitals.h.
|
inline |
Store the numerical XC grid quality label.
Definition at line 283 of file orbitals.h.
|
private |
Definition at line 81 of file orbitals.cc.
|
private |
Definition at line 899 of file orbitals.cc.
|
private |
Definition at line 911 of file orbitals.cc.
|
private |
Definition at line 316 of file orbitals.cc.
|
inline |
Return the stored transition dipole moments.
Definition at line 545 of file orbitals.h.
|
inline |
Update one atomic position and keep attached AO basis shells synchronized.
Definition at line 268 of file orbitals.h.
| void votca::xtp::Orbitals::WriteBasisSetsToCpt | ( | CheckpointWriter & | w | ) | const |
Serialize the attached AO basis sets into an already-open checkpoint writer.
Definition at line 1118 of file orbitals.cc.
|
private |
Definition at line 1112 of file orbitals.cc.
| void votca::xtp::Orbitals::WriteToCpt | ( | CheckpointWriter & | w | ) | const |
Serialize the orbital container into an already-open checkpoint writer.
Definition at line 1125 of file orbitals.cc.
| void votca::xtp::Orbitals::WriteToCpt | ( | const std::string & | filename | ) | const |
Write the orbital container to a checkpoint file on disk.
Definition at line 1105 of file orbitals.cc.
|
private |
Definition at line 815 of file orbitals.h.
|
private |
Definition at line 819 of file orbitals.h.
|
private |
Definition at line 822 of file orbitals.h.
|
private |
Definition at line 844 of file orbitals.h.
|
private |
Definition at line 843 of file orbitals.h.
|
private |
Definition at line 847 of file orbitals.h.
|
private |
Definition at line 864 of file orbitals.h.
|
private |
Definition at line 869 of file orbitals.h.
|
private |
Definition at line 845 of file orbitals.h.
|
private |
Definition at line 866 of file orbitals.h.
|
private |
Definition at line 870 of file orbitals.h.
|
private |
Definition at line 885 of file orbitals.h.
|
private |
Definition at line 886 of file orbitals.h.
|
private |
Definition at line 842 of file orbitals.h.
|
private |
Definition at line 841 of file orbitals.h.
|
private |
Definition at line 846 of file orbitals.h.
|
private |
Definition at line 805 of file orbitals.h.
|
private |
Definition at line 821 of file orbitals.h.
|
private |
Definition at line 802 of file orbitals.h.
|
private |
Definition at line 817 of file orbitals.h.
|
private |
Definition at line 830 of file orbitals.h.
|
private |
Definition at line 851 of file orbitals.h.
|
private |
Definition at line 852 of file orbitals.h.
|
private |
Definition at line 816 of file orbitals.h.
|
private |
Definition at line 873 of file orbitals.h.
|
private |
Definition at line 813 of file orbitals.h.
|
private |
Definition at line 814 of file orbitals.h.
|
private |
Definition at line 807 of file orbitals.h.
|
private |
Definition at line 808 of file orbitals.h.
|
private |
Definition at line 811 of file orbitals.h.
|
private |
Definition at line 800 of file orbitals.h.
|
private |
Definition at line 801 of file orbitals.h.
|
private |
Definition at line 809 of file orbitals.h.
|
private |
Definition at line 798 of file orbitals.h.
|
private |
Definition at line 799 of file orbitals.h.
|
private |
Definition at line 824 of file orbitals.h.
|
private |
Definition at line 853 of file orbitals.h.
|
private |
Definition at line 860 of file orbitals.h.
|
private |
Definition at line 882 of file orbitals.h.
|
private |
Definition at line 883 of file orbitals.h.
|
private |
Definition at line 840 of file orbitals.h.
|
private |
Definition at line 839 of file orbitals.h.
|
private |
Definition at line 857 of file orbitals.h.
|
private |
Definition at line 879 of file orbitals.h.
|
private |
Definition at line 880 of file orbitals.h.
|
private |
Accumulated QSGW rotation U (DFT MOs -> QP wavefunctions)
Definition at line 861 of file orbitals.h.
|
private |
Definition at line 855 of file orbitals.h.
|
private |
Definition at line 876 of file orbitals.h.
|
private |
Definition at line 877 of file orbitals.h.
|
private |
Definition at line 837 of file orbitals.h.
|
private |
Definition at line 836 of file orbitals.h.
|
private |
Definition at line 849 of file orbitals.h.
|
private |
Definition at line 832 of file orbitals.h.
|
private |
Definition at line 833 of file orbitals.h.
|
private |
Definition at line 865 of file orbitals.h.
|
private |
Definition at line 872 of file orbitals.h.
|
private |
Definition at line 803 of file orbitals.h.