Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Types | Private Attributes | Friends | List of all members
PLMD::gridtools::GridVessel Class Reference

#include <GridVessel.h>

Inheritance diagram for PLMD::gridtools::GridVessel:
Inheritance graph
[legend]

Public Member Functions

 GridVessel (const vesselbase::VesselOptions &)
 Constructor. More...
 
void setNoDerivatives ()
 Remove the derivatives. More...
 
std::string getType () const
 Get the type of grid we are using. More...
 
virtual void setBounds (const std::vector< std::string > &smin, const std::vector< std::string > &smax, const std::vector< unsigned > &nbins, const std::vector< double > &spacing)
 Set the minimum and maximum of the grid. More...
 
virtual double getFibonacciCutoff () const
 Get the cutoff to use for the Fibonacci spheres. More...
 
void setupFibonacciGrid (const unsigned &np)
 Setup the grid if it is a fibonacci grid on the surface of a sphere. More...
 
std::string description ()
 Get a description of the grid to output to the log. More...
 
void convertIndexToIndices (const unsigned &index, const std::vector< unsigned > &nnbin, std::vector< unsigned > &indices) const
 Convert an index into indices. More...
 
unsigned getIndex (const std::vector< unsigned > &indices) const
 Flatten the grid and get the grid index for a point. More...
 
void getIndices (const unsigned &index, std::vector< unsigned > &indices) const
 Get the indices fof a point. More...
 
void getIndices (const std::vector< double > &point, std::vector< unsigned > &indices) const
 Get the indices of a particular point. More...
 
void setGridElement (const unsigned &, const unsigned &, const double &)
 Operations on one of the elements of grid point i. More...
 
void addToGridElement (const unsigned &ipoint, const unsigned &jelement, const double &value)
 Add data to an element of the grid. More...
 
double getGridElement (const std::vector< unsigned > &, const unsigned &) const
 Operations on one of the elements of grid point specified by vector. More...
 
void setGridElement (const std::vector< unsigned > &, const unsigned &, const double &)
 
virtual void resize ()
 Set the size of the buffer equal to nper*npoints. More...
 
unsigned getNumberOfPoints () const
 Get the number of points in the grid. More...
 
void getGridPointCoordinates (const unsigned &, std::vector< double > &) const
 Get the coordinates for a point in the grid. More...
 
void getGridPointCoordinates (const unsigned &, std::vector< unsigned > &, std::vector< double > &) const
 
unsigned getDimension () const
 Get the dimensionality of the function. More...
 
virtual unsigned getNumberOfComponents () const
 Get the number of components in the vector stored on each grid point. More...
 
bool isPeriodic (const unsigned &i) const
 Is the grid periodic in the ith direction. More...
 
unsigned getNumberOfQuantities () const
 Get the number of quantities we have stored at each grid point. More...
 
std::vector< unsigned > getNbin () const
 Get the number of grid points for each dimension. More...
 
std::string getComponentName (const unsigned &i) const
 Get the name of the ith component. More...
 
std::vector< std::string > getMin () const
 Get the vector containing the minimum value of the grid in each dimension. More...
 
std::vector< std::string > getMax () const
 Get the vector containing the maximum value of the grid in each dimension. More...
 
virtual unsigned getNumberOfBufferPoints () const
 Get the number of points needed in the buffer. More...
 
const std::vector< unsigned > & getStride () const
 Get the stride (the distance between the grid points of an index) More...
 
double getCellVolume () const
 Return the volume of one of the grid cells. More...
 
virtual double getGridElement (const unsigned &, const unsigned &) const
 Get the value of the ith grid element. More...
 
void getNeighbors (const std::vector< double > &pp, const std::vector< unsigned > &nneigh, unsigned &num_neighbours, std::vector< unsigned > &neighbors) const
 Get the set of points neighouring a particular location in space. More...
 
void getNeighbors (const std::vector< unsigned > &indices, const std::vector< unsigned > &nneigh, unsigned &num_neighbors, std::vector< unsigned > &neighbors) const
 Get the neighbors for a set of indices of a point. More...
 
void getSplineNeighbors (const unsigned &mybox, std::vector< unsigned > &mysneigh) const
 Get the points neighboring a particular spline point. More...
 
const std::vector< double > & getGridSpacing () const
 Get the spacing between grid points. More...
 
double getGridExtent (const unsigned &i) const
 Get the extent of the grid in one of the axis. More...
 
virtual void calculate (const unsigned &current, MultiValue &myvals, std::vector< double > &buffer, std::vector< unsigned > &der_list) const
 Copy data from the action into the grid. More...
 
virtual void finish (const std::vector< double > &buffer)
 Finish the calculation. More...
 
void setCubeUnits (const double &units)
 This ensures that Gaussian cube fies are in correct units. More...
 
double getCubeUnits () const
 This ensures that Gaussian cube files are in correct units. More...
 
std::string getInputString () const
 Return a string containing the input to the grid so we can clone it. More...
 
bool noDerivatives () const
 Does this have derivatives. More...
 
double getValueAndDerivatives (const std::vector< double > &x, const unsigned &ind, std::vector< double > &der) const
 Get the value and derivatives at a particular location using spline interpolation. More...
 
void activateThesePoints (const std::vector< bool > &to_activate)
 Deactivate all the grid points. More...
 
bool inactive (const unsigned &ip) const
 Is this point active. More...
 
virtual void getFinalForces (const std::vector< double > &buffer, std::vector< double > &finalForces)
 This retrieves the final force. More...
 
void setForce (const std::vector< double > &inforces)
 Apply the forces. More...
 
bool wasForced () const
 Was a force added to the grid. More...
 
bool applyForce (std::vector< double > &fforces)
 And retrieve the forces. More...
 
bool wasreset () const
 Was the grid cleared on the last step. More...
 
virtual void clear ()
 Clear all the data stored on the grid. More...
 
virtual void reset ()
 Reset the grid so that it is cleared at start of next time it is calculated. More...
 
void setNorm (const double &snorm)
 Functions for dealing with normalisation constant. More...
 
double getNorm () const
 
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 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...
 

Static Public Member Functions

static void registerKeywords (Keywords &keys)
 keywords 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

unsigned getIndex (const std::vector< double > &p) const
 Convert a point in space the the correspoinding grid point. More...
 
unsigned getFibonacciIndex (const std::vector< double > &p) const
 Get the index of the closest point on the fibonacci sphere. More...
 
void getFlatGridCoordinates (const unsigned &ipoint, std::vector< unsigned > &tindices, std::vector< double > &x) const
 Get the flat grid coordinates. More...
 
void getFibonacciCoordinates (const unsigned &ipoint, std::vector< double > &x) const
 Get the coordinates on the Fibonacci grid. More...
 
void setDataSize (const unsigned &size)
 Set the size of the data vector. More...
 
void setDataElement (const unsigned &myelem, const double &value)
 Set an element of the data array. More...
 
void addDataElement (const unsigned &myelem, const double &value)
 Add some value to an element of the data array. More...
 
double getDataElement (const unsigned &myelem) const
 Get the value of one of the data element. More...
 
bool noAverage () const
 Are we averaging the data. More...
 
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...
 
unsigned getSizeOfBuffer () const
 Return the size of the buffer. More...
 
void resizeBuffer (const unsigned &n)
 Set the size of the data buffer. More...
 

Protected Attributes

bool wasforced
 Is forced. More...
 
std::vector< double > forces
 Forces acting on grid elements. More...
 
bool noderiv
 Do we have derivatives. More...
 
std::vector< std::string > arg_names
 The names of the various columns in the grid file. More...
 
unsigned nper
 The number of pieces of information we are storing for each point in the grid. More...
 
std::vector< bool > pbc
 Is this direction periodic. More...
 
std::vector< std::string > str_min
 The minimum and maximum in the grid stored as strings. More...
 
std::vector< std::string > str_max
 
std::vector< double > dx
 The spacing between grid points. More...
 
unsigned dimension
 The dimensionality of the grid. More...
 
std::vector< bool > active
 Which grid points are we actively accumulating. More...
 
unsigned bufstart
 The start of this Vessel's buffer in buffer in the underlying ActionWithVessel. More...
 
Communicatorcomm
 A copy of the communicator. More...
 

Private Types

enum  { flat, fibonacci }
 The way that grid points are constructed. More...
 

Private Attributes

enum PLMD::gridtools::GridVessel:: { ... }  gtype
 The way that grid points are constructed. More...
 
bool bounds_set
 Have the minimum and maximum for the grid been set. More...
 
unsigned npoints
 The number of points in the grid. More...
 
double root5
 Stuff for fibonacci grids. More...
 
double golden
 
double igolden
 
double log_golden2
 
double fib_offset
 Fib increment here is equal to 2*pi*(INVERSE GOLDEN RATIO) More...
 
double fib_increment
 
double fib_shift
 
std::vector< std::vector< unsigned > > fib_nlist
 
double cube_units
 Units for Gaussian Cube file. More...
 
bool foundprint
 This flag is used to check if the user has created a valid input. More...
 
std::vector< double > min
 The minimum and maximum of the grid stored as doubles. More...
 
std::vector< double > max
 
std::vector< unsigned > stride
 The numerical distance between adjacent grid points. More...
 
std::vector< unsigned > nbin
 The number of bins in each grid direction. More...
 
unsigned currentGridPoint
 The grid point that was requested last by getGridPointCoordinates. More...
 
std::vector< double > finalForces
 The forces that will be output at the end of the calculation. More...
 

Friends

class ActionWithInputGrid
 
class DumpGrid
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

The way that grid points are constructed.

Enumerator
flat 
fibonacci 

Constructor & Destructor Documentation

◆ GridVessel()

PLMD::gridtools::GridVessel::GridVessel ( const vesselbase::VesselOptions da)
explicit

Constructor.

Member Function Documentation

◆ activateThesePoints()

void PLMD::gridtools::GridVessel::activateThesePoints ( const std::vector< bool > &  to_activate)

Deactivate all the grid points.

◆ addDataElement()

void PLMD::vesselbase::AveragingVessel::addDataElement ( const unsigned &  myelem,
const double &  value 
)
inlineprotectedinherited

Add some value to an element of the data array.

◆ addToGridElement()

void PLMD::gridtools::GridVessel::addToGridElement ( const unsigned &  ipoint,
const unsigned &  jelement,
const double &  value 
)

Add data to an element of the grid.

◆ applyForce()

bool PLMD::gridtools::GridVessel::applyForce ( std::vector< double > &  fforces)
virtual

And retrieve the forces.

Reimplemented from PLMD::vesselbase::AveragingVessel.

◆ calculate()

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

Copy data from the action into the grid.

Implements PLMD::vesselbase::Vessel.

Reimplemented in PLMD::gridtools::HistogramOnGrid.

◆ checkRead()

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

Check that readin was fine.

◆ clear()

void PLMD::vesselbase::AveragingVessel::clear ( )
virtualinherited

Clear all the data stored on the grid.

◆ convertIndexToIndices()

void PLMD::gridtools::GridVessel::convertIndexToIndices ( const unsigned &  index,
const std::vector< unsigned > &  nnbin,
std::vector< unsigned > &  indices 
) const

Convert an index into indices.

◆ description()

std::string PLMD::gridtools::GridVessel::description ( )
virtual

Get a description of the grid to output to the log.

Implements PLMD::vesselbase::Vessel.

◆ error()

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

Report an error.

◆ finish()

void PLMD::gridtools::GridVessel::finish ( const std::vector< double > &  buffer)
virtual

Finish the calculation.

Reimplemented from PLMD::vesselbase::AveragingVessel.

Reimplemented in PLMD::gridtools::HistogramOnGrid.

◆ getAction()

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

Return a pointer to the action we are working in.

◆ getAllInput()

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

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

◆ getCellVolume()

double PLMD::gridtools::GridVessel::getCellVolume ( ) const
inline

Return the volume of one of the grid cells.

◆ getComponentName()

std::string PLMD::gridtools::GridVessel::getComponentName ( const unsigned &  i) const
inline

Get the name of the ith component.

◆ getCubeUnits()

double PLMD::gridtools::GridVessel::getCubeUnits ( ) const

This ensures that Gaussian cube files are in correct units.

◆ getDataElement()

double PLMD::vesselbase::AveragingVessel::getDataElement ( const unsigned &  myelem) const
inlineprotectedinherited

Get the value of one of the data element.

◆ getDimension()

unsigned PLMD::gridtools::GridVessel::getDimension ( ) const
inline

Get the dimensionality of the function.

◆ getFibonacciCoordinates()

void PLMD::gridtools::GridVessel::getFibonacciCoordinates ( const unsigned &  ipoint,
std::vector< double > &  x 
) const
protected

Get the coordinates on the Fibonacci grid.

◆ getFibonacciCutoff()

double PLMD::gridtools::GridVessel::getFibonacciCutoff ( ) const
inlinevirtual

Get the cutoff to use for the Fibonacci spheres.

Reimplemented in PLMD::gridtools::HistogramOnGrid.

◆ getFibonacciIndex()

unsigned PLMD::gridtools::GridVessel::getFibonacciIndex ( const std::vector< double > &  p) const
protected

Get the index of the closest point on the fibonacci sphere.

◆ getFinalForces()

virtual void PLMD::gridtools::GridVessel::getFinalForces ( const std::vector< double > &  buffer,
std::vector< double > &  finalForces 
)
inlinevirtual

This retrieves the final force.

Reimplemented in PLMD::gridtools::HistogramOnGrid, and PLMD::gridtools::AverageOnGrid.

◆ getFlatGridCoordinates()

void PLMD::gridtools::GridVessel::getFlatGridCoordinates ( const unsigned &  ipoint,
std::vector< unsigned > &  tindices,
std::vector< double > &  x 
) const
protected

Get the flat grid coordinates.

◆ getGridElement() [1/2]

double PLMD::gridtools::GridVessel::getGridElement ( const std::vector< unsigned > &  indices,
const unsigned &  jelement 
) const

Operations on one of the elements of grid point specified by vector.

◆ getGridElement() [2/2]

double PLMD::gridtools::GridVessel::getGridElement ( const unsigned &  ipoint,
const unsigned &  jelement 
) const
virtual

Get the value of the ith grid element.

Reimplemented in PLMD::gridtools::AverageOnGrid.

◆ getGridExtent()

double PLMD::gridtools::GridVessel::getGridExtent ( const unsigned &  i) const
inline

Get the extent of the grid in one of the axis.

◆ getGridPointCoordinates() [1/2]

void PLMD::gridtools::GridVessel::getGridPointCoordinates ( const unsigned &  ipoint,
std::vector< double > &  x 
) const

Get the coordinates for a point in the grid.

◆ getGridPointCoordinates() [2/2]

void PLMD::gridtools::GridVessel::getGridPointCoordinates ( const unsigned &  ipoint,
std::vector< unsigned > &  tindices,
std::vector< double > &  x 
) const

◆ getGridSpacing()

const std::vector< double > & PLMD::gridtools::GridVessel::getGridSpacing ( ) const
inline

Get the spacing between grid points.

◆ getIndex() [1/2]

unsigned PLMD::gridtools::GridVessel::getIndex ( const std::vector< double > &  p) const
protected

Convert a point in space the the correspoinding grid point.

◆ getIndex() [2/2]

unsigned PLMD::gridtools::GridVessel::getIndex ( const std::vector< unsigned > &  indices) const

Flatten the grid and get the grid index for a point.

◆ getIndices() [1/2]

void PLMD::gridtools::GridVessel::getIndices ( const unsigned &  index,
std::vector< unsigned > &  indices 
) const

Get the indices fof a point.

◆ getIndices() [2/2]

void PLMD::gridtools::GridVessel::getIndices ( const std::vector< double > &  point,
std::vector< unsigned > &  indices 
) const

Get the indices of a particular point.

◆ getInputString()

std::string PLMD::gridtools::GridVessel::getInputString ( ) const

Return a string containing the input to the grid so we can clone it.

◆ getLabel()

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

Return the label.

◆ getMax()

std::vector< std::string > PLMD::gridtools::GridVessel::getMax ( ) const

Get the vector containing the maximum value of the grid in each dimension.

◆ getMin()

std::vector< std::string > PLMD::gridtools::GridVessel::getMin ( ) const

Get the vector containing the minimum value of the grid in each dimension.

◆ getName()

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

Return the name.

◆ getNbin()

std::vector< unsigned > PLMD::gridtools::GridVessel::getNbin ( ) const

Get the number of grid points for each dimension.

◆ getNeighbors() [1/2]

void PLMD::gridtools::GridVessel::getNeighbors ( const std::vector< double > &  pp,
const std::vector< unsigned > &  nneigh,
unsigned &  num_neighbours,
std::vector< unsigned > &  neighbors 
) const

Get the set of points neighouring a particular location in space.

◆ getNeighbors() [2/2]

void PLMD::gridtools::GridVessel::getNeighbors ( const std::vector< unsigned > &  indices,
const std::vector< unsigned > &  nneigh,
unsigned &  num_neighbors,
std::vector< unsigned > &  neighbors 
) const

Get the neighbors for a set of indices of a point.

◆ getNLTolerance()

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

Return the value of the neighbor list tolerance.

◆ getNorm()

double PLMD::vesselbase::AveragingVessel::getNorm ( ) const
inlineinherited

◆ getNumberOfBufferPoints()

unsigned PLMD::gridtools::GridVessel::getNumberOfBufferPoints ( ) const
inlinevirtual

Get the number of points needed in the buffer.

Reimplemented in PLMD::gridtools::HistogramOnGrid.

◆ getNumberOfComponents()

unsigned PLMD::gridtools::GridVessel::getNumberOfComponents ( ) const
inlinevirtual

Get the number of components in the vector stored on each grid point.

Reimplemented in PLMD::gridtools::AverageOnGrid.

◆ getNumberOfPoints()

unsigned PLMD::gridtools::GridVessel::getNumberOfPoints ( ) const
inline

Get the number of points in the grid.

◆ getNumberOfQuantities()

unsigned PLMD::gridtools::GridVessel::getNumberOfQuantities ( ) const
inline

Get the number of quantities we have stored at each grid point.

◆ getNumericalLabel()

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

Return the numerical label.

◆ getSizeOfBuffer()

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

Return the size of the buffer.

◆ getSplineNeighbors()

void PLMD::gridtools::GridVessel::getSplineNeighbors ( const unsigned &  mybox,
std::vector< unsigned > &  mysneigh 
) const

Get the points neighboring a particular spline point.

◆ getStride()

const std::vector< unsigned > & PLMD::gridtools::GridVessel::getStride ( ) const
inline

Get the stride (the distance between the grid points of an index)

◆ getTolerance()

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

Return the value of the tolerance.

◆ getType()

std::string PLMD::gridtools::GridVessel::getType ( ) const
inline

Get the type of grid we are using.

◆ getValueAndDerivatives()

double PLMD::gridtools::GridVessel::getValueAndDerivatives ( const std::vector< double > &  x,
const unsigned &  ind,
std::vector< double > &  der 
) const

Get the value and derivatives at a particular location using spline interpolation.

◆ inactive()

bool PLMD::gridtools::GridVessel::inactive ( const unsigned &  ip) const
inline

Is this point active.

◆ isPeriodic()

bool PLMD::gridtools::GridVessel::isPeriodic ( const unsigned &  i) const
inline

Is the grid periodic in the ith direction.

◆ noAverage()

bool PLMD::vesselbase::AveragingVessel::noAverage ( ) const
inlineprotectedinherited

Are we averaging the data.

◆ noDerivatives()

bool PLMD::gridtools::GridVessel::noDerivatives ( ) const
inline

Does this have derivatives.

◆ parse()

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

Parse something from the input.

◆ parseFlag()

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

Parse one keyword as boolean flag.

◆ parseVector()

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

Parse one keyword as std::vector.

◆ prepare()

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

Do something before the loop.

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

◆ registerKeywords()

void PLMD::gridtools::GridVessel::registerKeywords ( Keywords keys)
static

keywords

◆ reset()

void PLMD::vesselbase::AveragingVessel::reset ( )
virtualinherited

Reset the grid so that it is cleared at start of next time it is calculated.

◆ resize()

void PLMD::gridtools::GridVessel::resize ( )
virtual

Set the size of the buffer equal to nper*npoints.

Implements PLMD::vesselbase::Vessel.

◆ resizeBuffer()

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

Set the size of the data buffer.

◆ setBounds()

void PLMD::gridtools::GridVessel::setBounds ( const std::vector< std::string > &  smin,
const std::vector< std::string > &  smax,
const std::vector< unsigned > &  nbins,
const std::vector< double > &  spacing 
)
virtual

Set the minimum and maximum of the grid.

Reimplemented in PLMD::gridtools::HistogramOnGrid.

◆ setBufferStart()

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

Set the start of the buffer.

Reimplemented in PLMD::vesselbase::BridgeVessel.

◆ setCubeUnits()

void PLMD::gridtools::GridVessel::setCubeUnits ( const double &  units)

This ensures that Gaussian cube fies are in correct units.

◆ setDataElement()

void PLMD::vesselbase::AveragingVessel::setDataElement ( const unsigned &  myelem,
const double &  value 
)
inlineprotectedinherited

Set an element of the data array.

◆ setDataSize()

void PLMD::vesselbase::AveragingVessel::setDataSize ( const unsigned &  size)
protectedinherited

Set the size of the data vector.

◆ setForce()

void PLMD::gridtools::GridVessel::setForce ( const std::vector< double > &  inforces)

Apply the forces.

◆ setGridElement() [1/2]

void PLMD::gridtools::GridVessel::setGridElement ( const unsigned &  ipoint,
const unsigned &  jelement,
const double &  value 
)

Operations on one of the elements of grid point i.

◆ setGridElement() [2/2]

void PLMD::gridtools::GridVessel::setGridElement ( const std::vector< unsigned > &  indices,
const unsigned &  jelement,
const double &  value 
)

◆ setNoDerivatives()

void PLMD::gridtools::GridVessel::setNoDerivatives ( )

Remove the derivatives.

◆ setNorm()

void PLMD::vesselbase::AveragingVessel::setNorm ( const double &  snorm)
inlineinherited

Functions for dealing with normalisation constant.

◆ setupFibonacciGrid()

void PLMD::gridtools::GridVessel::setupFibonacciGrid ( const unsigned &  np)

Setup the grid if it is a fibonacci grid on the surface of a sphere.

◆ transformDerivatives()

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

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)
staticinherited

Convert the name to the label of the component.

◆ wasForced()

bool PLMD::gridtools::GridVessel::wasForced ( ) const

Was a force added to the grid.

◆ wasreset()

bool PLMD::vesselbase::AveragingVessel::wasreset ( ) const
inherited

Was the grid cleared on the last step.

Friends And Related Function Documentation

◆ ActionWithInputGrid

friend class ActionWithInputGrid
friend

◆ DumpGrid

friend class DumpGrid
friend

Member Data Documentation

◆ active

std::vector<bool> PLMD::gridtools::GridVessel::active
protected

Which grid points are we actively accumulating.

◆ arg_names

std::vector<std::string> PLMD::gridtools::GridVessel::arg_names
protected

The names of the various columns in the grid file.

◆ bounds_set

bool PLMD::gridtools::GridVessel::bounds_set
private

Have the minimum and maximum for the grid been set.

◆ bufstart

unsigned PLMD::vesselbase::Vessel::bufstart
protectedinherited

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

◆ comm

Communicator& PLMD::vesselbase::Vessel::comm
protectedinherited

A copy of the communicator.

◆ cube_units

double PLMD::gridtools::GridVessel::cube_units
private

Units for Gaussian Cube file.

◆ currentGridPoint

unsigned PLMD::gridtools::GridVessel::currentGridPoint
private

The grid point that was requested last by getGridPointCoordinates.

◆ dimension

unsigned PLMD::gridtools::GridVessel::dimension
protected

The dimensionality of the grid.

◆ dx

std::vector<double> PLMD::gridtools::GridVessel::dx
protected

The spacing between grid points.

◆ fib_increment

double PLMD::gridtools::GridVessel::fib_increment
private

◆ fib_nlist

std::vector<std::vector<unsigned> > PLMD::gridtools::GridVessel::fib_nlist
private

◆ fib_offset

double PLMD::gridtools::GridVessel::fib_offset
private

Fib increment here is equal to 2*pi*(INVERSE GOLDEN RATIO)

◆ fib_shift

double PLMD::gridtools::GridVessel::fib_shift
private

◆ finalForces

std::vector<double> PLMD::gridtools::GridVessel::finalForces
private

The forces that will be output at the end of the calculation.

◆ forces

std::vector<double> PLMD::gridtools::GridVessel::forces
protected

Forces acting on grid elements.

◆ foundprint

bool PLMD::gridtools::GridVessel::foundprint
private

This flag is used to check if the user has created a valid input.

◆ golden

double PLMD::gridtools::GridVessel::golden
private

◆ gtype

enum { ... } PLMD::gridtools::GridVessel::gtype

The way that grid points are constructed.

◆ igolden

double PLMD::gridtools::GridVessel::igolden
private

◆ log

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

Reference to the log on which to output details.

◆ log_golden2

double PLMD::gridtools::GridVessel::log_golden2
private

◆ max

std::vector<double> PLMD::gridtools::GridVessel::max
private

◆ min

std::vector<double> PLMD::gridtools::GridVessel::min
private

The minimum and maximum of the grid stored as doubles.

◆ nbin

std::vector<unsigned> PLMD::gridtools::GridVessel::nbin
private

The number of bins in each grid direction.

◆ noderiv

bool PLMD::gridtools::GridVessel::noderiv
protected

Do we have derivatives.

◆ nper

unsigned PLMD::gridtools::GridVessel::nper
protected

The number of pieces of information we are storing for each point in the grid.

◆ npoints

unsigned PLMD::gridtools::GridVessel::npoints
private

The number of points in the grid.

◆ pbc

std::vector<bool> PLMD::gridtools::GridVessel::pbc
protected

Is this direction periodic.

◆ root5

double PLMD::gridtools::GridVessel::root5
private

Stuff for fibonacci grids.

◆ str_max

std::vector<std::string> PLMD::gridtools::GridVessel::str_max
protected

◆ str_min

std::vector<std::string> PLMD::gridtools::GridVessel::str_min
protected

The minimum and maximum in the grid stored as strings.

◆ stride

std::vector<unsigned> PLMD::gridtools::GridVessel::stride
private

The numerical distance between adjacent grid points.

◆ wasforced

bool PLMD::gridtools::GridVessel::wasforced
protected

Is forced.


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