File ZeroOrderFock.h

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
namespace Sparrow
namespace dftb
class ZeroOrderFock : public ElectronicContributionCalculator
#include <ZeroOrderFock.h>

Implementation of FockMatrixCalculator for DFTB0.

Public Functions

ZeroOrderFock(ZeroOrderMatricesCalculator &matricesCalculator, const Utils::SingleParticleEnergies &singleParticleEnergies, const Eigen::MatrixXd &energyWeightedDensityMatrix, const int &nElectrons)
void initialize()
void calculateDensityIndependentPart(Utils::derivOrder order)
void calculateDensityDependentPart(Utils::derivOrder order)
void finalize(Utils::derivOrder)
Utils::SpinAdaptedMatrix getMatrix() const
double calculateElectronicEnergy() const
void addDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::first> &derivatives) const
void addDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_atomic> &derivatives) const
void addDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_full> &derivatives) const

Private Members

ZeroOrderMatricesCalculator &matricesCalculator_
const Utils::SingleParticleEnergies &singleParticleEnergies_
const Eigen::MatrixXd &energyWeightedDensityMatrix_
const int &nElectrons_