File LcaoUtil.h¶
This header file contains the declarations for functions that are commonly used by qc methods based on an LCAO ansatz.
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
namespace
LcaoUtil
Functions
-
void
getNumberUnrestrictedElectrons
(int &nAlpha, int &nBeta, int nElectrons, int spinMultiplicity)¶ Calculate the numbers of alpha and beta electrons from the total number of electrons and the spin multiplicity.
-
void
solveRestrictedEigenvalueProblem
(const SpinAdaptedMatrix &fockMatrix, MolecularOrbitals &coefficientMatrix, SingleParticleEnergies &singleParticleEnergies)¶
-
void
solveRestrictedGeneralizedEigenvalueProblem
(const SpinAdaptedMatrix &fockMatrix, const Eigen::MatrixXd &overlapMatrix, MolecularOrbitals &coefficientMatrix, SingleParticleEnergies &singleParticleEnergies)¶
-
void
solveUnrestrictedEigenvalueProblem
(const SpinAdaptedMatrix &fockMatrix, MolecularOrbitals &coefficientMatrix, SingleParticleEnergies &singleParticleEnergies)¶
-
void
solveUnrestrictedGeneralizedEigenvalueProblem
(const SpinAdaptedMatrix &fockMatrix, const Eigen::MatrixXd &overlapMatrix, MolecularOrbitals &coefficientMatrix, SingleParticleEnergies &singleParticleEnergies)¶
-
void
calculateRestrictedDensityMatrix
(DensityMatrix &densityMatrix, const MolecularOrbitals &coefficientMatrix, int nElectrons)¶
-
void
calculateUnrestrictedDensityMatrices
(DensityMatrix &densityMatrix, const MolecularOrbitals &coefficientMatrix, int nElectrons, int spinMultiplicity)¶
-
void
calculateRestrictedEnergyWeightedDensityMatrix
(Eigen::MatrixXd &energyWeightedDensityMatrix, const MolecularOrbitals &coefficientMatrix, const SingleParticleEnergies &singleParticleEnergies, int nElectrons)¶
-
void
calculateUnrestrictedEnergyWeightedDensityMatrix
(Eigen::MatrixXd &energyWeightedDensityMatrix, const MolecularOrbitals &coefficientMatrix, const SingleParticleEnergies &singleParticleEnergies, int nElectrons, int spinMultiplicity)¶
-
void
calculateBondOrderMatrix
(Utils::BondOrderCollection &bondOrderMatrix, const DensityMatrix &densityMatrix, const Eigen::MatrixXd &overlapMatrix, const AtomsOrbitalsIndexes &aoIndexes)¶ Computes the lower-triangular bond-order matrix for an non-orthogonal basis.
-
void
calculateOrthonormalBondOrderMatrix
(Utils::BondOrderCollection &bondOrderMatrix, const DensityMatrix &densityMatrix, const AtomsOrbitalsIndexes &aoIndexes)¶ Computes the lower-triangular bond-order matrix for an orthogonal basis.
-
void
calculateOrthonormalAtomicCharges
(std::vector<double> &mullikenCharges, const std::vector<double> &coreCharges, const DensityMatrix &densityMatrix, const AtomsOrbitalsIndexes &aoIndexes)¶
-
void
calculateMullikenAtomicCharges
(std::vector<double> &mullikenCharges, const std::vector<double> &coreCharges, const DensityMatrix &densityMatrix, const Eigen::MatrixXd &overlapMatrix, const AtomsOrbitalsIndexes &aoIndexes)¶
-
void
-
namespace
-
namespace