Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
PLMD::vesselbase::Vessel Class Referenceabstract

#include <Vessel.h>

Inheritance diagram for PLMD::vesselbase::Vessel:
Inheritance graph
[legend]

Public Member Functions

 Vessel (const VesselOptions &da)
 The constructor. More...
 
virtual ~Vessel ()
 Virtual destructor needed for proper inheritance. More...
 
std::string getName () const
 Return the name. More...
 
std::string getLabel () const
 Return the label. More...
 
void checkRead ()
 Check that readin was fine. More...
 
virtual std::string description ()=0
 Return a description of the vessel contents. More...
 
virtual void setBufferStart (unsigned &start)
 Set the start of the buffer. More...
 
virtual void prepare ()
 Do something before the loop. More...
 
virtual MultiValuetransformDerivatives (const unsigned &current, MultiValue &myvals, MultiValue &bvals)
 This is replaced in bridges so we can transform the derivatives. More...
 
virtual bool calculate (const unsigned &current, MultiValue &myvals, std::vector< double > &buffer, std::vector< unsigned > &der_list) const =0
 Calculate the part of the vessel that is done in the loop. More...
 
virtual void finish (const std::vector< double > &)=0
 Complete the calculation once the loop is finished. More...
 
virtual void resize ()=0
 Reset the size of the buffers. More...
 
virtual bool applyForce (std::vector< double > &forces)=0
 Retrieve the forces on the quantities in the vessel. More...
 

Static Public Member Functions

static void registerKeywords (Keywords &keys)
 Reserve any keywords for this particular vessel. More...
 
static std::string transformName (const std::string &name)
 Convert the name to the label of the component. More...
 

Public Attributes

Loglog
 Reference to the log on which to output details. More...
 

Protected Member Functions

int getNumericalLabel () const
 Return the numerical label. More...
 
void error (const std::string &errmsg)
 Report an error. More...
 
template<class T >
void parse (const std::string &key, T &t)
 Parse something from the input. More...
 
template<class T >
void parseVector (const std::string &key, std::vector< T > &t)
 Parse one keyword as std::vector. More...
 
void parseFlag (const std::string &key, bool &t)
 Parse one keyword as boolean flag. More...
 
std::string getAllInput ()
 This returns the whole input line (it is used for less_than/more_than/between) More...
 
ActionWithVesselgetAction () const
 Return a pointer to the action we are working in. More...
 
double getTolerance () const
 Return the value of the tolerance. More...
 
double getNLTolerance () const
 Return the value of the neighbor list tolerance. More...
 
void resizeBuffer (const unsigned &n)
 Set the size of the data buffer. More...
 

Protected Attributes

unsigned bufstart
 The start of this Vessel's buffer in buffer in the underlying ActionWithVessel. More...
 
Communicatorcomm
 A copy of the communicator. More...
 

Private Attributes

std::string myname
 The keyword for the vessel in the input file. More...
 
std::string mylabel
 The label for the vessel for referencing. More...
 
const int numlab
 The numerical label for this object. More...
 
ActionWithVesselaction
 The action that this vessel is created within. More...
 
unsigned bufsize
 The number of elements in this vessel's buffered data. More...
 
std::vector< std::string > line
 Directive line. More...
 
const PLMD::Keywordskeywords
 The keywords. More...
 
bool finished_read
 This just checks we have done checkRead. More...
 

Friends

class ActionWithVessel
 

Constructor & Destructor Documentation

PLMD::vesselbase::Vessel::Vessel ( const VesselOptions da)
explicit

The constructor.

virtual PLMD::vesselbase::Vessel::~Vessel ( )
inlinevirtual

Virtual destructor needed for proper inheritance.

Member Function Documentation

virtual bool PLMD::vesselbase::Vessel::applyForce ( std::vector< double > &  forces)
pure virtual
virtual bool PLMD::vesselbase::Vessel::calculate ( const unsigned &  current,
MultiValue myvals,
std::vector< double > &  buffer,
std::vector< unsigned > &  der_list 
) const
pure virtual
void PLMD::vesselbase::Vessel::checkRead ( )

Check that readin was fine.

virtual std::string PLMD::vesselbase::Vessel::description ( )
pure virtual
void PLMD::vesselbase::Vessel::error ( const std::string &  errmsg)
protected

Report an error.

virtual void PLMD::vesselbase::Vessel::finish ( const std::vector< double > &  )
pure virtual
ActionWithVessel * PLMD::vesselbase::Vessel::getAction ( ) const
inlineprotected

Return a pointer to the action we are working in.

std::string PLMD::vesselbase::Vessel::getAllInput ( )
protected

This returns the whole input line (it is used for less_than/more_than/between)

std::string PLMD::vesselbase::Vessel::getLabel ( ) const

Return the label.

std::string PLMD::vesselbase::Vessel::getName ( ) const

Return the name.

double PLMD::vesselbase::Vessel::getNLTolerance ( ) const
inlineprotected

Return the value of the neighbor list tolerance.

int PLMD::vesselbase::Vessel::getNumericalLabel ( ) const
inlineprotected

Return the numerical label.

double PLMD::vesselbase::Vessel::getTolerance ( ) const
inlineprotected

Return the value of the tolerance.

template<class T >
void PLMD::vesselbase::Vessel::parse ( const std::string &  key,
T &  t 
)
protected

Parse something from the input.

void PLMD::vesselbase::Vessel::parseFlag ( const std::string &  key,
bool &  t 
)
protected

Parse one keyword as boolean flag.

template<class T >
void PLMD::vesselbase::Vessel::parseVector ( const std::string &  key,
std::vector< T > &  t 
)
protected

Parse one keyword as std::vector.

virtual void PLMD::vesselbase::Vessel::prepare ( )
inlinevirtual
void PLMD::vesselbase::Vessel::registerKeywords ( Keywords keys)
static

Reserve any keywords for this particular vessel.

virtual void PLMD::vesselbase::Vessel::resize ( )
pure virtual
void PLMD::vesselbase::Vessel::resizeBuffer ( const unsigned &  n)
inlineprotected

Set the size of the data buffer.

void PLMD::vesselbase::Vessel::setBufferStart ( unsigned &  start)
inlinevirtual

Set the start of the buffer.

Reimplemented in PLMD::vesselbase::BridgeVessel, and PLMD::multicolvar::AdjacencyMatrixVessel.

MultiValue & PLMD::vesselbase::Vessel::transformDerivatives ( const unsigned &  current,
MultiValue myvals,
MultiValue bvals 
)
inlinevirtual

This is replaced in bridges so we can transform the derivatives.

Reimplemented in PLMD::vesselbase::BridgeVessel.

std::string PLMD::vesselbase::Vessel::transformName ( const std::string &  name)
static

Convert the name to the label of the component.

Friends And Related Function Documentation

friend class ActionWithVessel
friend

Member Data Documentation

ActionWithVessel* PLMD::vesselbase::Vessel::action
private

The action that this vessel is created within.

unsigned PLMD::vesselbase::Vessel::bufsize
private

The number of elements in this vessel's buffered data.

unsigned PLMD::vesselbase::Vessel::bufstart
protected

The start of this Vessel's buffer in buffer in the underlying ActionWithVessel.

Communicator& PLMD::vesselbase::Vessel::comm
protected

A copy of the communicator.

bool PLMD::vesselbase::Vessel::finished_read
private

This just checks we have done checkRead.

const PLMD::Keywords& PLMD::vesselbase::Vessel::keywords
private

The keywords.

std::vector<std::string> PLMD::vesselbase::Vessel::line
private

Directive line.

This line is progressively erased during vessel construction so as to check if all the present keywords are correct.

Log& PLMD::vesselbase::Vessel::log

Reference to the log on which to output details.

std::string PLMD::vesselbase::Vessel::mylabel
private

The label for the vessel for referencing.

std::string PLMD::vesselbase::Vessel::myname
private

The keyword for the vessel in the input file.

const int PLMD::vesselbase::Vessel::numlab
private

The numerical label for this object.


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