#include <Vessel.h>
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 MultiValue & | transformDerivatives (const unsigned ¤t, MultiValue &myvals, MultiValue &bvals) |
This is replaced in bridges so we can transform the derivatives. More... | |
virtual bool | calculate (const unsigned ¤t, 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 | |
Log & | log |
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... | |
ActionWithVessel * | getAction () 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... | |
Communicator & | comm |
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... | |
ActionWithVessel * | action |
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::Keywords & | keywords |
The keywords. More... | |
bool | finished_read |
This just checks we have done checkRead. More... | |
Friends | |
class | ActionWithVessel |
|
explicit |
The constructor.
|
inlinevirtual |
Virtual destructor needed for proper inheritance.
|
pure virtual |
Retrieve the forces on the quantities in the vessel.
Implemented in PLMD::vesselbase::StoreDataVessel, PLMD::vesselbase::BridgeVessel, PLMD::vesselbase::ValueVessel, PLMD::vesselbase::Moments, and PLMD::vesselbase::ShortcutVessel.
|
pure virtual |
Calculate the part of the vessel that is done in the loop.
Implemented in PLMD::vesselbase::StoreDataVessel, PLMD::vesselbase::BridgeVessel, PLMD::vesselbase::FunctionVessel, PLMD::multicolvar::AdjacencyMatrixVessel, PLMD::crystallisation::GradientVessel, PLMD::vesselbase::OrderingVessel, PLMD::vesselbase::ShortcutVessel, PLMD::crystallization::VectorMean, PLMD::crystallization::VectorSum, and PLMD::mapping::SpathVessel.
void PLMD::vesselbase::Vessel::checkRead | ( | ) |
Check that readin was fine.
|
pure virtual |
Return a description of the vessel contents.
Implemented in PLMD::vesselbase::StoreDataVessel, PLMD::vesselbase::BridgeVessel, PLMD::vesselbase::ValueVessel, PLMD::vesselbase::Moments, and PLMD::vesselbase::ShortcutVessel.
|
protected |
Report an error.
|
pure virtual |
Complete the calculation once the loop is finished.
Implemented in PLMD::vesselbase::StoreDataVessel, PLMD::vesselbase::BridgeVessel, PLMD::vesselbase::FunctionVessel, PLMD::multicolvar::AdjacencyMatrixVessel, PLMD::crystallisation::GradientVessel, PLMD::vesselbase::Moments, PLMD::vesselbase::OrderingVessel, PLMD::vesselbase::ShortcutVessel, PLMD::crystallization::VectorMean, and PLMD::crystallization::VectorSum.
|
inlineprotected |
Return a pointer to the action we are working in.
|
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.
|
inlineprotected |
Return the value of the neighbor list tolerance.
|
inlineprotected |
Return the numerical label.
|
inlineprotected |
Return the value of the tolerance.
|
protected |
Parse something from the input.
|
protected |
Parse one keyword as boolean flag.
|
protected |
Parse one keyword as std::vector.
|
inlinevirtual |
Do something before the loop.
Reimplemented in PLMD::vesselbase::BridgeVessel, PLMD::multicolvar::AdjacencyMatrixVessel, and PLMD::mapping::SpathVessel.
|
static |
Reserve any keywords for this particular vessel.
|
pure virtual |
Reset the size of the buffers.
Implemented in PLMD::vesselbase::StoreDataVessel, PLMD::vesselbase::FunctionVessel, PLMD::vesselbase::BridgeVessel, PLMD::crystallisation::GradientVessel, PLMD::vesselbase::Moments, PLMD::vesselbase::OrderingVessel, PLMD::vesselbase::ShortcutVessel, PLMD::crystallization::VectorMean, and PLMD::crystallization::VectorSum.
|
inlineprotected |
Set the size of the data buffer.
|
inlinevirtual |
Set the start of the buffer.
Reimplemented in PLMD::vesselbase::BridgeVessel, and PLMD::multicolvar::AdjacencyMatrixVessel.
|
inlinevirtual |
This is replaced in bridges so we can transform the derivatives.
Reimplemented in PLMD::vesselbase::BridgeVessel.
|
static |
Convert the name to the label of the component.
|
friend |
|
private |
The action that this vessel is created within.
|
private |
The number of elements in this vessel's buffered data.
|
protected |
The start of this Vessel's buffer in buffer in the underlying ActionWithVessel.
|
protected |
A copy of the communicator.
|
private |
This just checks we have done checkRead.
|
private |
The keywords.
|
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.
|
private |
The label for the vessel for referencing.
|
private |
The keyword for the vessel in the input file.
|
private |
The numerical label for this object.
Hosted by GitHub | 1.8.10 |