Scine::Sparrow
5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
|
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. More...
#include <DFTBDipoleMatrixCalculator.h>
Public Member Functions | |
~DFTBDipoleMatrixCalculator () final | |
Virtual destructor. | |
DFTBDipoleMatrixCalculator (DFTBDipoleMatrixCalculator &&)=default | |
const Utils::DipoleMatrix & | getAODipoleMatrix () const final |
Getter for the AO dipole matrix. Throws an exception. More... | |
Utils::DipoleMatrix | getMODipoleMatrix () const final |
Getter for the MO dipole matrix. Returns an rvalue. | |
void | setAODipoleMatrix (Utils::DipoleMatrix dipoleMatrix) final |
Setter for the AO dipole matrix. Here it throws an exception. More... | |
void | fillDipoleMatrix (const Eigen::RowVector3d &dipoleEvaluationCoordinate) final |
Calculates the MO dipole matrix for the DFTB methods. | |
void | initialize () final |
Initialize the underlying dipole matrix. | |
void | setIntegralMethod (const IntegralMethod &IntegralMethod) final |
This does nothing in DFTB as there is just one method currently to calculate Dipole Matrix. | |
void | invalidate () final |
Invalidates the underlying dipole matrices and forces a new calculation. | |
bool | isValid () const final |
Checks the validity of the underlying dipole matrix. | |
Static Public Member Functions | |
static std::unique_ptr < DFTBDipoleMatrixCalculator < DFTBMethod > > | create (DFTBMethod &method) |
Factory method for the DFTBDipoleMatrixCalculator. This returns a unique pointer to a DFTBDipoleMatrixCalculator class. | |
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.
It works with the DFTBO0, DFTB2 and DFTB3 methods in restricted and unrestricted formalism.
|
finalvirtual |
Getter for the AO dipole matrix. Throws an exception.
DipoleMatrixTypeNotAvailableException | No AO dipole matrix is currently implemented. TODO: it is just D_{AO} = C * D_{MO} * C^T |
Implements Scine::Sparrow::DipoleMatrixCalculator.
|
finalvirtual |
Setter for the AO dipole matrix. Here it throws an exception.
DipoleMatrixTypeNotAvailableException | No AO dipole matrix is currently implemented. TODO: it is just D_{AO} = C * D_{MO} * C^T |
Implements Scine::Sparrow::DipoleMatrixCalculator.