Loading...
Searching...
No Matches
PLMD::sasa::Colvar Class Reference

This is the abstract base class to use for implementing new collective variables, within it there is information as to how to go about implementing a new CV. More...

#include <Colvar.h>

Inheritance diagram for PLMD::sasa::Colvar:

Public Member Functions

 Colvar (const ActionOptions &)
 ~Colvar ()
bool checkIsEnergy ()
unsigned getNumberOfDerivatives () override

Static Public Member Functions

static void registerKeywords (Keywords &keys)

Protected Member Functions

void apply () override
 Apply an Action.
const TensorgetBoxDerivatives () const
const double & getForce () const
void requestAtoms (const std::vector< AtomNumber > &a)
void setAtomsDerivatives (int, const Vector &)
void setAtomsDerivatives (Value *, int, const Vector &)
void setBoxDerivatives (const Tensor &)
void setBoxDerivatives (Value *, const Tensor &)
void setBoxDerivativesNoPbc ()
 Set box derivatives automatically.
void setBoxDerivativesNoPbc (Value *)

Protected Attributes

bool isEnergy
bool isExtraCV

Detailed Description

This is the abstract base class to use for implementing new collective variables, within it there is information as to how to go about implementing a new CV.

Constructor & Destructor Documentation

◆ Colvar()

PLMD::Colvar::Colvar ( const ActionOptions & ao)
explicit

◆ ~Colvar()

Member Function Documentation

◆ apply()

void PLMD::Colvar::apply ( )
overrideprotectedvirtual

Apply an Action.

This method is called one time per step. The set of all Actions is applied in backward order.

Implements PLMD::Action.

◆ checkIsEnergy()

bool PLMD::Colvar::checkIsEnergy ( )
inline

◆ getBoxDerivatives()

const Tensor & PLMD::Colvar::getBoxDerivatives ( ) const
protected

◆ getForce()

const double & PLMD::Colvar::getForce ( ) const
protected

◆ getNumberOfDerivatives()

unsigned PLMD::Colvar::getNumberOfDerivatives ( )
inlineoverridevirtual

Implements PLMD::ActionWithValue.

◆ registerKeywords()

◆ requestAtoms()

void PLMD::Colvar::requestAtoms ( const std::vector< AtomNumber > & a)
protected

◆ setAtomsDerivatives() [1/2]

void PLMD::Colvar::setAtomsDerivatives ( int i,
const Vector & d )
inlineprotected

◆ setAtomsDerivatives() [2/2]

void PLMD::Colvar::setAtomsDerivatives ( Value * v,
int i,
const Vector & d )
inlineprotected

◆ setBoxDerivatives() [1/2]

void PLMD::Colvar::setBoxDerivatives ( const Tensor & d)
inlineprotected

◆ setBoxDerivatives() [2/2]

void PLMD::Colvar::setBoxDerivatives ( Value * v,
const Tensor & d )
inlineprotected

◆ setBoxDerivativesNoPbc() [1/2]

void PLMD::Colvar::setBoxDerivativesNoPbc ( )
inlineprotected

Set box derivatives automatically.

It should be called after the setAtomsDerivatives has been used for all single atoms.

Warning
It only works for collective variable NOT using PBCs!

◆ setBoxDerivativesNoPbc() [2/2]

Member Data Documentation

◆ isEnergy

bool PLMD::Colvar::isEnergy
protected

◆ isExtraCV

bool PLMD::Colvar::isExtraCV
protected

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