Class Scine::Sparrow::NDDODipoleMomentCalculator¶
-
template<class
NDDOMethod
>
classNDDODipoleMomentCalculator
: public Scine::Sparrow::DipoleMomentCalculator¶ Class resposible for the calculation of the dipole in the NDDO methods.
It must be able to calculate the dipole both with the NDDO approximation and with the use of the dipole matrix.
- Template Parameters
NDDOMethod
: An NDDO method, must derive from Utils::ScfMethod and must have the method getInitializer. getInitializer must return a valid NDDOInitializer instance.
Public Functions
-
Eigen::RowVector3d
calculate
() const¶ Calculates the molecular electrical dipole moment.
- Return
An Eigen::Vector3d containing the dipole moment components in atomic units.
-
void
useNDDOApproximation
(bool useNDDOApprox)¶ Sets wether to use the NDDO dipole approximation or calculate the dipole from the dipole matrix.
- Parameters
useNDDOApprox
: The flag present in the method wrapper settings.
Public Static Functions
-
static std::unique_ptr<NDDODipoleMomentCalculator<NDDOMethod>>
create
(NDDOMethod &method, DipoleMatrixCalculator &dipoleMatrixCalculator)¶ Factory method for the NDDODipoleMomentCalculator class.
- Return
An unique pointer to an instance of NDDODipoleMomentCalculator<NDDOMethod>
- Parameters
method
: An NDDO method, i.e. PM6Method, MNDOMethod, AM1Method,…dipoleMatrixCalculator
: An instance to the class calculating the dipole matrix.