Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::Qmmm::QmmmCalculator Class Reference

Calculator implementing the QM/MM method. More...

#include <QmmmCalculator.h>

Inheritance diagram for Scine::Qmmm::QmmmCalculator:
Inheritance graph
Collaboration diagram for Scine::Qmmm::QmmmCalculator:
Collaboration graph

Public Member Functions

 QmmmCalculator ()
 Constructor.
 
 ~QmmmCalculator () override
 Destructor.
 
 QmmmCalculator (const QmmmCalculator &rhs)
 Copy Constructor.
 
void setUnderlyingCalculators (std::vector< std::shared_ptr< Core::Calculator >> underlyingCalculators) override
 Sets the underlying QM and MM calculators.
 
void addUnderlyingSettings () override
 Sets the underlying QM and MM calculators.
 
std::vector< std::shared_ptr
< Core::Calculator > > 
getUnderlyingCalculators () const override
 Gets the underlying QM and MM calculators.
 
void setStructure (const Utils::AtomCollection &structure) override
 Changes the molecular structure to calculate. More...
 
std::unique_ptr
< Utils::AtomCollection
getStructure () const override
 Gets the molecular structure as a const Utils::AtomCollection&. More...
 
void modifyPositions (Utils::PositionCollection newPositions) override
 Allows to modify the positions of the underlying Utils::AtomCollection. More...
 
const Utils::PositionCollectiongetPositions () const override
 Getter for the coordinates of the underlying Utils::AtomCollection.
 
void setRequiredProperties (const Utils::PropertyList &requiredProperties) override
 Sets the properties to calculate. More...
 
Utils::PropertyList getRequiredProperties () const override
 Getter for the properties to calculate.
 
Utils::PropertyList possibleProperties () const override
 Returns the list of the possible properties to calculate.
 
const Utils::Resultscalculate (std::string description) override
 The main function running calculations. More...
 
std::string name () const override
 Getter for the name of the Calculator. More...
 
Utils::Settingssettings () override
 Accessor for the settings. More...
 
const Utils::Settingssettings () const override
 Constant accessor for the settings. More...
 
Utils::Resultsresults () override
 Accessor for the saved instance of Utils::Results. More...
 
const Utils::Resultsresults () const override
 Constant accessor for the Utils::Results. More...
 
bool supportsMethodFamily (const std::string &methodFamily) const override
 Whether the calculator supports a method family. More...
 
std::shared_ptr< Core::StategetState () const final
 Implements Core::StateHandableObject::getState(). More...
 
void loadState (std::shared_ptr< Core::State >) final
 Implements Core::StateHandableObject::loadState(). More...
 
bool allowsPythonGILRelease () const override
 Whether the calculator has no underlying Python code and can therefore release the global interpreter lock in Python bindings.
 
std::shared_ptr
< MolecularMechanics::MolecularMechanicsCalculator
getMolecularMechanicsCalculator ()
 Getter for the MM calculator. More...
 
std::shared_ptr< Core::CalculatorgetQuantumMechanicsCalculator ()
 Getter for the QM calculator. More...
 
- Public Member Functions inherited from Scine::Utils::CloneInterface< QmmmCalculator, Core::EmbeddingCalculator, Core::Calculator >
std::shared_ptr< QmmmCalculatorclone () const
 

Static Public Attributes

static constexpr const char * model = "QM-SFAM"
 

Detailed Description

Calculator implementing the QM/MM method.

Member Function Documentation

const Utils::Results & Scine::Qmmm::QmmmCalculator::calculate ( std::string  description)
override

The main function running calculations.

Parameters
descriptionThe calculation description.
Returns
Utils::Result Return the result of the calculation. The object contains the properties that were given as requirement by the Calculator::setRequiredProperties function.
std::shared_ptr< MolecularMechanics::MolecularMechanicsCalculator > Scine::Qmmm::QmmmCalculator::getMolecularMechanicsCalculator ( )

Getter for the MM calculator.

Returns
The MM calculator.
std::shared_ptr< Core::Calculator > Scine::Qmmm::QmmmCalculator::getQuantumMechanicsCalculator ( )

Getter for the QM calculator.

Returns
The QM calculator.
std::shared_ptr< Core::State > Scine::Qmmm::QmmmCalculator::getState ( ) const
final

Implements Core::StateHandableObject::getState().

Returns
std::shared_ptr<Core::State> The current state
std::unique_ptr< Utils::AtomCollection > Scine::Qmmm::QmmmCalculator::getStructure ( ) const
override

Gets the molecular structure as a const Utils::AtomCollection&.

Returns
a const Utils::AtomCollection&.
void Scine::Qmmm::QmmmCalculator::loadState ( std::shared_ptr< Core::State )
final

Implements Core::StateHandableObject::loadState().

Parameters
stateThe new state.
void Scine::Qmmm::QmmmCalculator::modifyPositions ( Utils::PositionCollection  newPositions)
override

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

Parameters
newPositionsThe new positions to be assigned to the underlying Utils::AtomCollection.
std::string Scine::Qmmm::QmmmCalculator::name ( ) const
override

Getter for the name of the Calculator.

Returns
Returns the name of the Calculator.
Utils::Results & Scine::Qmmm::QmmmCalculator::results ( )
override

Accessor for the saved instance of Utils::Results.

Returns
Utils::Results& The results of the previous calculation.
const Utils::Results & Scine::Qmmm::QmmmCalculator::results ( ) const
override

Constant accessor for the Utils::Results.

Returns
const Utils::Results& The results of the previous calculation.
void Scine::Qmmm::QmmmCalculator::setRequiredProperties ( const Utils::PropertyList requiredProperties)
override

Sets the properties to calculate.

Parameters
requiredPropertiesA Utils::PropertyList, a sequence of bits that represent the properties that must be calculated.
void Scine::Qmmm::QmmmCalculator::setStructure ( const Utils::AtomCollection structure)
override

Changes the molecular structure to calculate.

Parameters
structureA new Utils::AtomCollection to save.
Utils::Settings & Scine::Qmmm::QmmmCalculator::settings ( )
override

Accessor for the settings.

Returns
Utils::Settings& The settings.
const Utils::Settings & Scine::Qmmm::QmmmCalculator::settings ( ) const
override

Constant accessor for the settings.

Returns
const Utils::Settings& The settings.
bool Scine::Qmmm::QmmmCalculator::supportsMethodFamily ( const std::string &  methodFamily) const
override

Whether the calculator supports a method family.

Parameters
methodFamilyIdentifier for the method family.
Returns
Whether the calculator supports a method family.

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