Scine::Sparrow  5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod > Class Template Referencefinal

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. More...

#include <NDDODipoleMomentCalculator.h>

Inheritance diagram for Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod >:
Inheritance graph
Collaboration diagram for Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod >:
Collaboration graph

Public Member Functions

Eigen::RowVector3d calculate () const final
 Calculates the molecular electrical dipole moment. More...
 
void useNDDOApproximation (bool useNDDOApprox)
 Sets wether to use the NDDO dipole approximation or calculate the dipole from the dipole matrix. More...
 

Static Public Member Functions

static std::unique_ptr
< NDDODipoleMomentCalculator
< NDDOMethod > > 
create (NDDOMethod &method, DipoleMatrixCalculator &dipoleMatrixCalculator)
 Factory method for the NDDODipoleMomentCalculator class. More...
 

Detailed Description

template<class NDDOMethod>
class Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod >

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
NDDOMethodAn NDDO method, must derive from Utils::ScfMethod and must have the method getInitializer. getInitializer must return a valid NDDOInitializer instance.

Member Function Documentation

template<class NDDOMethod >
Eigen::RowVector3d Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod >::calculate ( ) const
finalvirtual

Calculates the molecular electrical dipole moment.

Returns
An Eigen::Vector3d containing the dipole moment components in atomic units.

Implements Scine::Sparrow::DipoleMomentCalculator.

template<class NDDOMethod>
std::unique_ptr< NDDODipoleMomentCalculator< NDDOMethod > > Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod >::create ( NDDOMethod &  method,
DipoleMatrixCalculator dipoleMatrixCalculator 
)
static

Factory method for the NDDODipoleMomentCalculator class.

Parameters
methodAn NDDO method, i.e. PM6Method, MNDOMethod, AM1Method,...
dipoleMatrixCalculatorAn instance to the class calculating the dipole matrix.
Returns
An unique pointer to an instance of NDDODipoleMomentCalculator<NDDOMethod>
template<class NDDOMethod >
void Scine::Sparrow::NDDODipoleMomentCalculator< NDDOMethod >::useNDDOApproximation ( bool  useNDDOApprox)

Sets wether to use the NDDO dipole approximation or calculate the dipole from the dipole matrix.

Parameters
useNDDOApproxThe flag present in the method wrapper settings.

The documentation for this class was generated from the following files: