Public Member Functions | Static Public Member Functions | 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...
 
virtual bool applyForce (std::vector< double > &forces)=0
 Retrieve the forces on the quantities in the vessel. More...
 
virtual void 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...
 
void checkRead ()
 Check that readin was fine. More...
 
virtual std::string description ()=0
 Return a description of the vessel contents. More...
 
virtual void finish (const std::vector< double > &)=0
 Complete the calculation once the loop is finished. More...
 
std::string getLabel () const
 Return the label. More...
 
std::string getName () const
 Return the name. More...
 
virtual void prepare ()
 Do something before the loop. More...
 
virtual void resize ()=0
 Reset the size of the buffers. More...
 
virtual void setBufferStart (unsigned &start)
 Set the start of the buffer. More...
 
virtual MultiValuetransformDerivatives (const unsigned &current, MultiValue &myvals, MultiValue &bvals)
 This is replaced in bridges so we can transform the derivatives. 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...
 

Protected Member Functions

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

Private Attributes

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

Friends

class ActionWithVessel
 

Constructor & Destructor Documentation

◆ Vessel()

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

The constructor.

◆ ~Vessel()

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

Virtual destructor needed for proper inheritance.

Member Function Documentation

◆ applyForce()

virtual bool PLMD::vesselbase::Vessel::applyForce ( std::vector< double > &  forces)
pure virtual

◆ calculate()

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

◆ checkRead()

void PLMD::vesselbase::Vessel::checkRead ( )

Check that readin was fine.

◆ description()

virtual std::string PLMD::vesselbase::Vessel::description ( )
pure virtual

◆ error()

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

Report an error.

◆ finish()

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

◆ getAction()

ActionWithVessel * PLMD::vesselbase::Vessel::getAction ( ) const
inlineprotected

Return a pointer to the action we are working in.

◆ getAllInput()

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

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

◆ getLabel()

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

Return the label.

◆ getName()

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

Return the name.

◆ getNLTolerance()

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

Return the value of the neighbor list tolerance.

◆ getNumericalLabel()

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

Return the numerical label.

◆ getSizeOfBuffer()

unsigned PLMD::vesselbase::Vessel::getSizeOfBuffer ( ) const
inlineprotected

Return the size of the buffer.

◆ getTolerance()

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

Return the value of the tolerance.

◆ parse()

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

Parse something from the input.

◆ parseFlag()

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

Parse one keyword as boolean flag.

◆ parseVector()

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

Parse one keyword as std::vector.

◆ prepare()

virtual void PLMD::vesselbase::Vessel::prepare ( )
inlinevirtual

Do something before the loop.

Reimplemented in PLMD::vesselbase::BridgeVessel, and PLMD::mapping::SpathVessel.

◆ registerKeywords()

void PLMD::vesselbase::Vessel::registerKeywords ( Keywords keys)
static

Reserve any keywords for this particular vessel.

◆ resize()

virtual void PLMD::vesselbase::Vessel::resize ( )
pure virtual

◆ resizeBuffer()

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

Set the size of the data buffer.

◆ setBufferStart()

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

Set the start of the buffer.

Reimplemented in PLMD::vesselbase::BridgeVessel.

◆ transformDerivatives()

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.

◆ transformName()

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

◆ ActionWithVessel

friend class ActionWithVessel
friend

Member Data Documentation

◆ action

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

The action that this vessel is created within.

◆ bufsize

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

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

◆ bufstart

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

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

◆ finished_read

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

This just checks we have done checkRead.

◆ keywords

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

The keywords.

◆ line

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.

◆ mylabel

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

The label for the vessel for referencing.

◆ myname

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

The keyword for the vessel in the input file.

◆ numlab

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

The numerical label for this object.


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