Class Scine::Sparrow::GenericMethodWrapper

class GenericMethodWrapper : public Utils::CloneInterface<Utils::Abstract<GenericMethodWrapper>, Core::Calculator>

A MethodWrapper running Generic calculations.

Public Functions

GenericMethodWrapper()

Default Constructor.

~GenericMethodWrapper()

Default Destructor.

void setStructure(const Utils::AtomCollection &structure)

Sets new structure and initializes the underlying method with the parameter given in the settings.

Parameters
  • structure: The structure to be assigned.

std::unique_ptr<Utils::AtomCollection> getStructure() const

Getter for the underlying element types and positions.

void modifyPositions(Utils::PositionCollection newPositions)

Allows to modify the positions of the underlying Utils::AtomCollection.

Parameters
  • newPositions: the new positions to be assigned to the underlying Utils::AtomCollection

const Utils::PositionCollection &getPositions() const

Getter for the coordinates of the underlying Utils::AtomCollection.

void setRequiredProperties(const Utils::PropertyList &requiredProperties)

Sets the properties to calculate.

Parameters
  • requiredProperties: a Utils::PropertyList object, contains an enum class that work as a bitset, switching on and off the bits representing a property.

const Utils::Results &calculate(std::string description)

The main function running calculations (dummy).

Return

double Return the result of the calculation.

Parameters
  • dummy: A dummy parameter.

virtual Utils::DensityMatrix getDensityMatrixGuess() const = 0

Getter for the initial density matrix guess.

Return

The initial density matrix guess.

Utils::Settings &settings()

Accessor for the Settings used in this method wrapper.

Return

Utils::Settings& The Settings.

const Utils::Settings &settings() const

Const accessor for the Settings used in this method wrapper.

Return

const Utils::Settings& The Settings.

Utils::StatesHandler &statesHandler()

Accessor for the StatesHandler used in this method wrapper.

Return

Utils::StatesHandler& The StatesHandler.

const Utils::StatesHandler &statesHandler() const

Const accessor for the StatesHandler used in this method wrapper.

Return

const Utils::StatesHandler& The StatesHandler.

Utils::Results &results()

Accessor for the Results stored in this method wrapper.

Return

Utils::Results& The results of the previous calculation.

const Utils::Results &results() const

Const accessor for the Results used in this method wrapper.

Return

const Utils::Results& The results of the previous calculation.

Protected Functions

virtual void initialize() = 0

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

virtual Utils::LCAOMethod &getLCAOMethod() = 0

Get the underlying LCAOMethod.

Utils::derivativeType highestDerivativeRequired() const

Determines the highest derivative type needed based on the property needed for calculation.

virtual void applySettings() = 0

Function to apply the settings to the actual calculation method.

This method is needed in every calculator as the modification of the settings object does not cause a direct propagation to the underlying calculation method. It is not part of the public interface as an external user should not have to decide when/where to use this. In the implementation of a calculator care must be taken that at calculation time the settings have correcly been propagated to the underlying calculator method.

virtual void calculateImpl(Utils::derivativeType requiredDerivative) = 0

Method-dependent implementation of the calculate member function.