File GaussianCalculator.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
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
namespace
ExternalQC
-
class
GaussianCalculator
: public Scine::Utils::CloneInterface<GaussianCalculator, Core::Calculator> Public Functions
-
GaussianCalculator
() Default Constructor.
-
~GaussianCalculator
() Default Destructor.
-
GaussianCalculator
(const GaussianCalculator &rhs) Copy Constructor.
-
void
setStructure
(const Utils::AtomCollection &structure) Changes the molecular structure to calculate.
- Parameters
structure
: A new Utils::AtomCollection to save.
-
std::unique_ptr<Utils::AtomCollection>
getStructure
() const Gets the molecular structure as a std::unique_ptr<Utils::AtomCollection>.
- Return
std::unique_ptr<Utils::AtomCollection>
-
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, a sequence of bits that represent the properties that must be calculated.
-
PropertyList
getRequiredProperties
() const Getter for the properties to calculate.
-
Utils::PropertyList
possibleProperties
() const Returns the list of the possible properties to calculate analytically.
By some method analytical hessian calculation is not possible. In this case the hessian calculation is done seminumerically.
-
const Utils::Results &
calculate
(std::string description) The main function running calculations (dummy).
- Return
Utils::Result Return the result of the calculation. The object contains the properties that were given as requirement by the Calculator::setRequiredProperties function.
- Parameters
description
: The calculation description.
-
std::string
name
() const Getter for the name of the Calculator.
- Return
Returns the name of the Calculator.
-
Utils::Settings &
settings
() Accessor for the settings.
- Return
Utils::Settings& The settings.
-
const Utils::Settings &
settings
() const Constant accessor for the settings.
- Return
const Utils::Settings& The settings.
-
std::shared_ptr<Core::State>
getState
() const Implements Core::StateHandableObject::getState().
Note: Not implemented, will throw an exception.
- Return
std::shared_ptr<Core::State> The current state
Implements Core::StateHandableObject::loadState().
Note: Not implemented, will throw an exception.
- Parameters
state
: The new state.
-
Utils::Results &
results
() Accessor for the saved instance of Utils::Results.
- Return
Utils::Results& The results of the previous calculation.
-
const Utils::Results &
results
() const Constant accessor for the Utils::Results.
- Return
const Utils::Results& The results of the previous calculation.
-
std::string
getFileNameBase
() const Getter for the file name base string.
-
std::string
getCalculationDirectory
() const Getter for the calculation directory.
-
bool
supportsMethodFamily
(const std::string &methodFamily) const Whether the calculator supports a method family.
- Return
whether the calculator supports a method family
- Parameters
methodFamily
: identifier for the method family
Public Static Attributes
-
constexpr const char *
model
= "GAUSSIAN"¶
Private Functions
-
bool
binaryIsValid
()¶
-
void
applySettings
()¶
-
std::string
createNameForCalculationDirectory
() const¶
Private Members
-
std::string
baseWorkingDirectory_
¶
-
std::string
calculationDirectory_
¶
-
std::string
fileNameBase_
¶
-
std::string
gaussianExecutable_
= ""¶
-
AtomCollection
atoms_
¶
-
Utils::PropertyList
requiredProperties_
¶
-
bool
binaryHasBeenChecked_
= false¶
-
-
class
-
namespace
-
namespace