All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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...
 
void zero ()
 Set all the buffer elements to zero. More...
 
void addToBufferElement (const unsigned &i, const double &val)
 Add something to the ith element in the buffer. More...
 
virtual std::string description ()=0
 Return a description of the vessel contents. More...
 
virtual void prepare ()
 Do something before the loop. More...
 
virtual bool calculate ()=0
 Calculate the part of the vessel that is done in the loop. More...
 
virtual void finish ()=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 ()
 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...
 
void setBufferElement (const unsigned &i, const double &val)
 Set the value of the ith element in the buffer. More...
 
double getBufferElement (const unsigned &i) const
 Get the value in the ith element of the buffer. More...
 

Protected Attributes

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 bufstart
 The start of this Vessel's buffer in buffer in the underlying ActionWithVessel. 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)

The constructor.

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

Virtual destructor needed for proper inheritance.

Member Function Documentation

void PLMD::vesselbase::Vessel::addToBufferElement ( const unsigned &  i,
const double &  val 
)
inline

Add something to the ith element in the buffer.

virtual bool PLMD::vesselbase::Vessel::applyForce ( std::vector< double > &  forces)
pure virtual
virtual bool PLMD::vesselbase::Vessel::calculate ( )
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 ( )
pure virtual
ActionWithVessel * PLMD::vesselbase::Vessel::getAction ( )
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)

double PLMD::vesselbase::Vessel::getBufferElement ( const unsigned &  i) const
inlineprotected

Get the value in the ith element of the buffer.

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::setBufferElement ( const unsigned &  i,
const double &  val 
)
inlineprotected

Set the value of the ith element in the buffer.

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

Convert the name to the label of the component.

void PLMD::vesselbase::Vessel::zero ( )
inline

Set all the buffer elements to zero.

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
private

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: