File Results.h

A file containing definitions of the results.

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
class PropertyNotPresentException : public exception
#include <Results.h>

Exception thrown if a property is requested and it is not stored.

Public Functions

const char *what() const
class Results
#include <Results.h>

Class for the properties obtained in a single-point calculation.

To obtain the properties:

  • ”get” methods return references to the results (also allows simple copy)

  • ”take” methods move the results (which will not be present in Results afterwards).

Implementation note:

  • New voices can be added to the Result. Minimally a set, a get and a has method must be present.

  • Use pImpl idiom to hide boost::optional dependency

Public Functions

Results()
~Results()
Results(Results &&rhs)
Results &operator=(Results &&rhs)
Results(const Results &rhs)
Results &operator=(const Results &rhs)
bool hasDescription() const
void setDescription(std::string description)
const std::string &getDescription() const
bool hasEnergy() const
void setEnergy(double e)
double getEnergy() const
bool hasGradients() const
void setGradients(GradientCollection gradients)
const GradientCollection &getGradients() const
GradientCollection takeGradients()
bool hasHessian() const
void setHessian(HessianMatrix hessian)
const HessianMatrix &getHessian() const
HessianMatrix takeHessian()
bool hasDipole() const
void setDipole(Dipole dipole)
const Dipole &getDipole() const
bool hasDipoleGradient() const
void setDipoleGradient(DipoleGradient dipoleGradient)
const DipoleGradient &getDipoleGradient() const
DipoleGradient takeDipoleGradient()
bool hasAODipoleMatrix() const
void setAODipoleMatrix(DipoleMatrix dipole)
const DipoleMatrix &getAODipoleMatrix() const
DipoleMatrix takeAODipoleMatrix()
bool hasMODipoleMatrix() const
void setMODipoleMatrix(DipoleMatrix dipole)
const DipoleMatrix &getMODipoleMatrix() const
DipoleMatrix takeMODipoleMatrix()
bool hasOneElectronMatrix() const
void setOneElectronMatrix(Eigen::MatrixXd oneElectronMatrix)
const Eigen::MatrixXd &getOneElectronMatrix() const
Eigen::MatrixXd takeOneElectronMatrix()
bool hasTwoElectronMatrix() const
void setTwoElectronMatrix(SpinAdaptedMatrix oneElectronMatrix)
const SpinAdaptedMatrix &getTwoElectronMatrix() const
SpinAdaptedMatrix takeTwoElectronMatrix()
bool hasBondOrders() const
void setBondOrders(BondOrderCollection)
const BondOrderCollection &getBondOrders() const
BondOrderCollection takeBondOrders()

Private Members

std::unique_ptr<Impl> pImpl_