File PM6MethodWrapper.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine
namespace Sparrow
class PM6MethodWrapper : public Utils::CloneInterface<PM6MethodWrapper, NDDOMethodWrapper>
#include <PM6MethodWrapper.h>

A method wrapper running PM6 calculations.

Public Functions

PM6MethodWrapper()

Default Constructor.

PM6MethodWrapper(const PM6MethodWrapper &rhs)
PM6MethodWrapper &operator=(const PM6MethodWrapper &rhs)
PM6MethodWrapper(PM6MethodWrapper &&rhs)
PM6MethodWrapper &operator=(PM6MethodWrapper &&rhs)
~PM6MethodWrapper()

Default Destructor.

std::string name() const

Getter for the name of the method.

Return

Returns the name of the method.

void applySettings()

Function to apply the settings to the underlying method.

Public Static Attributes

constexpr const char *model = "PM6"

Private Functions

Eigen::MatrixXd getOneElectronMatrix() const
Utils::SpinAdaptedMatrix getTwoElectronMatrix() const
Utils::DensityMatrix getDensityMatrixGuess() const
void initialize()

Initializes a method with the parameter file present in the settings.

Utils::LCAOMethod &getLCAOMethod()

Returns the underlying method.

const Utils::LCAOMethod &getLCAOMethod() const
void calculateImpl(Utils::derivativeType requiredDerivative)

Private Members

nddo::PM6Method method_