Class Scine::Sparrow::DFTBDipoleMatrixCalculator¶
-
template<class
DFTBMethod
>
classDFTBDipoleMatrixCalculator
: public Scine::Sparrow::DipoleMatrixCalculator¶ Class responsible for the calculation of the dipole matrix in MO basis for DFTB methods.
This class calculates the dipole matrix in MO basis according to R. Rüger, E. van Lenthe, T. Heine and L. Visscher, Tight-Binding Approximations to Time-Dependent Density Functional Theory
a fast approach for the calculation of electronically excited states, J. Chem. Phys. 144, 184103, 2016, https://doi.org/10.1063/1.4948647
It works with the DFTBO0, DFTB2 and DFTB3 methods in restricted and unrestricted formalism.
Public Functions
-
~DFTBDipoleMatrixCalculator
()¶ Virtual destructor.
-
const Utils::DipoleMatrix &
getAODipoleMatrix
() const¶ Getter for the AO dipole matrix. Throws an exception.
-
Utils::DipoleMatrix
getMODipoleMatrix
() const¶ Getter for the MO dipole matrix. Returns an rvalue.
-
void
setAODipoleMatrix
(Utils::DipoleMatrix dipoleMatrix)¶ Setter for the AO dipole matrix. Here it throws an exception.
-
void
fillDipoleMatrix
(const Eigen::RowVector3d &dipoleEvaluationCoordinate)¶ Calculates the MO dipole matrix for the DFTB methods.
-
void
initialize
()¶ Initialize the underlying dipole matrix.
-
void
setIntegralMethod
(const IntegralMethod &IntegralMethod)¶ This does nothing in DFTB.
-
void
invalidate
()¶ Invalidates the underlying dipole matrices and forces a new calculation.
-
bool
isValid
() const¶ Checks the validity of the underlying dipole matrix.