8 #ifndef SPARROW_DFTBDIPOLEMATRIXCALCULATOR_H
9 #define SPARROW_DFTBDIPOLEMATRIXCALCULATOR_H
20 class MolecularOrbitals;
21 class AtomsOrbitalsIndexes;
37 template<
class DFTBMethod>
44 static std::unique_ptr<DFTBDipoleMatrixCalculator<DFTBMethod>>
create(DFTBMethod& method);
65 void fillDipoleMatrix(
const Eigen::RowVector3d& dipoleEvaluationCoordinate)
final;
80 const DFTBMethod& method_;
84 const Eigen::MatrixXd& overlapMatrix_;
91 #endif // SPARROW_DFTBDIPOLEMATRIXCALCULATOR_H
void fillDipoleMatrix(const Eigen::RowVector3d &dipoleEvaluationCoordinate) final
Calculates the MO dipole matrix for the DFTB methods.
Definition: DFTBDipoleMatrixCalculator.cpp:56
static std::unique_ptr< DFTBDipoleMatrixCalculator< DFTBMethod > > create(DFTBMethod &method)
Factory method for the DFTBDipoleMatrixCalculator. This returns a unique pointer to a DFTBDipoleMatri...
Definition: DFTBDipoleMatrixCalculator.cpp:30
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.
Definition: DFTBDipoleMatrixCalculator.h:38
void initialize() final
Initialize the underlying dipole matrix.
Definition: DFTBDipoleMatrixCalculator.cpp:83
void setIntegralMethod(const IntegralMethod &IntegralMethod) final
This does nothing in DFTB as there is just one method currently to calculate Dipole Matrix...
Definition: DFTBDipoleMatrixCalculator.cpp:51
Interface for the calculation of the dipole matrix in semiempirical methods.
Definition: DipoleMatrixCalculator.h:34
const Utils::DipoleMatrix & getAODipoleMatrix() const final
Getter for the AO dipole matrix. Throws an exception.
Definition: DFTBDipoleMatrixCalculator.cpp:36
~DFTBDipoleMatrixCalculator() final
Virtual destructor.
void invalidate() final
Invalidates the underlying dipole matrices and forces a new calculation.
Definition: DFTBDipoleMatrixCalculator.cpp:90
bool isValid() const final
Checks the validity of the underlying dipole matrix.
Definition: DFTBDipoleMatrixCalculator.cpp:95
Utils::DipoleMatrix getMODipoleMatrix() const final
Getter for the MO dipole matrix. Returns an rvalue.
Definition: DFTBDipoleMatrixCalculator.cpp:41
void setAODipoleMatrix(Utils::DipoleMatrix dipoleMatrix) final
Setter for the AO dipole matrix. Here it throws an exception.
Definition: DFTBDipoleMatrixCalculator.cpp:46