Scine::Sparrow
5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
|
Public Member Functions | |
TransitionChargesCalculator (const Utils::MolecularOrbitals &molecularOrbitals, const Eigen::MatrixXd &overlapMatrix, const Utils::AtomsOrbitalsIndexes &aoIndex) | |
void | fillOverlapProductMatrix () |
Prepares the intermediate matrix S*c This function must be called if a restricted calculation was run and unrestricted quantities are needed. Or whenever the intermediate needs to be reupdated (changes in molecularOrbitals or overlap matrix). | |
std::vector< Eigen::MatrixXd > | calculateMORestrictedAtomicChargeMatrices () const |
Calculates the nAtom matrices with element q^A_{ij} with i,j all the molecular orbitals. q^A_ij is the partitioned transition charge from orbital i to j on the atom A. More... | |
std::vector< Eigen::MatrixXd > | calculateMOUnrestrictedAtomicChargeMatrices () const |
template<Utils::Reference restrictedness> | |
Eigen::MatrixXd | calculateAtomicTransitionChargeMatrices (const Utils::LcaoUtils::ElectronicOccupation &) const |
Calculates the nAtom matrices with element q^A_{ij} with i,j in the occ/vir block. q^A_ij is the partitioned transition charge from orbital i to j on the atom A. Assumes Aufbau construction. More... | |
Eigen::MatrixXd | calculateRestrictedTransitionChargeMatrices (const Utils::LcaoUtils::ElectronicOccupation &occupation) const |
Calculates the nAtomicOrbitals matrices with element q^{ij} with i,j all the molecular orbitals. q^mu_ij is the partitioned transition charge from orbital i to j due to atomic orbital mu. More... | |
Eigen::MatrixXd | calculateUnrestrictedTransitionChargeMatrices (const Utils::LcaoUtils::ElectronicOccupation &occupation) const |
Calculates the nAtomicOrbitals matrices with element q^{ij} with i,j all the molecular orbitals. q^mu_ij is the partitioned transition charge from orbital i to j due to atomic orbital mu. More... | |
|
inline |
Calculates the nAtom matrices with element q^A_{ij} with i,j in the occ/vir block. q^A_ij is the partitioned transition charge from orbital i to j on the atom A. Assumes Aufbau construction.
restrictedness | Whether restricted or unrestricted charges needed. |
Implemented according to A. Dominguez, B. Aradi, T. Frauenheim, V. Lutsker, T.A. Niehaus, Extensions of the Time-Dependent Density Functional Based Tight-Binding Approach, 2013
q_{A}^ = 1/2 * (c_^ * c'_^{, T} + c'_^ * c_^{, T}) A: Atomic index. l: Orbital quantum number. q_{A}^: Transition charge matrix for spin projection . : all atomic orbital indices centered on the atom A. c_^: Matrix with the molecular orbital coefficients for atomic orbitals and spin projection . c' = c*S. S: overlap matrix.
std::vector< Eigen::MatrixXd > Scine::Sparrow::TransitionChargesCalculator::calculateMORestrictedAtomicChargeMatrices | ( | ) | const |
Calculates the nAtom matrices with element q^A_{ij} with i,j all the molecular orbitals. q^A_ij is the partitioned transition charge from orbital i to j on the atom A.
Eigen::MatrixXd Scine::Sparrow::TransitionChargesCalculator::calculateRestrictedTransitionChargeMatrices | ( | const Utils::LcaoUtils::ElectronicOccupation & | occupation | ) | const |
Calculates the nAtomicOrbitals matrices with element q^{ij} with i,j all the molecular orbitals. q^mu_ij is the partitioned transition charge from orbital i to j due to atomic orbital mu.
Eigen::MatrixXd Scine::Sparrow::TransitionChargesCalculator::calculateUnrestrictedTransitionChargeMatrices | ( | const Utils::LcaoUtils::ElectronicOccupation & | occupation | ) | const |
Calculates the nAtomicOrbitals matrices with element q^{ij} with i,j all the molecular orbitals. q^mu_ij is the partitioned transition charge from orbital i to j due to atomic orbital mu.
Implemented according to A. Dominguez, B. Aradi, T. Frauenheim, V. Lutsker, T.A. Niehaus, Extensions of the Time-Dependent Density Functional Based Tight-Binding Approach, 2013
q_{A,l}^ = 1/2 * (c_^ * c'_^{, T} + c'_^ * c_^{, T}) A: Atomic index. l: Orbital quantum number. q_{A,l}^: Transition charge matrix for spin projection . : all atomic orbital indices in the set {A,l}. c_^: Matrix with the molecular orbital coefficients for atomic orbitals and spin projection . c' = c*S. S: overlap matrix.