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

#include <HistogramOnGrid.h>

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

Public Member Functions

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

Static Public Member Functions

static void registerKeywords (Keywords &keys)
 
static std::string transformName (const std::string &name)
 Convert the name to the label of the component. More...
 

Public Attributes

double von_misses_concentration
 
double von_misses_norm
 

Protected Member Functions

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

Protected Attributes

std::vector< bool > active
 Which grid points are we actively accumulating. More...
 
std::vector< std::string > arg_names
 The names of the various columns in the grid file. More...
 
unsigned bufstart
 The start of this Vessel's buffer in buffer in the underlying ActionWithVessel. More...
 
unsigned dimension
 The dimensionality of the grid. More...
 
bool discrete
 
std::vector< double > dx
 The spacing between grid points. More...
 
std::vector< double > forces
 Forces acting on grid elements. More...
 
bool noderiv
 Do we have derivatives. 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_max
 
std::vector< std::string > str_min
 The minimum and maximum in the grid stored as strings. More...
 
bool wasforced
 Is forced. More...
 

Private Types

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

Private Attributes

ActionWithVesselaction
 The action that this vessel is created within. More...
 
bool addOneKernelAtATime
 
std::vector< double > bandwidths
 
bool bounds_set
 Have the minimum and maximum for the grid been set. More...
 
unsigned bufsize
 The number of elements in this vessel's buffered data. More...
 
double cube_units
 Units for Gaussian Cube file. More...
 
unsigned currentGridPoint
 The grid point that was requested last by getGridPointCoordinates. More...
 
std::vector< double > data
 The data that is being averaged. More...
 
double fib_increment
 
std::vector< std::vector< unsigned > > fib_nlist
 
double fib_offset
 Fib increment here is equal to 2*pi*(INVERSE GOLDEN RATIO) More...
 
double fib_shift
 
std::vector< double > finalForces
 The forces that will be output at the end of the calculation. More...
 
bool finished_read
 This just checks we have done checkRead. More...
 
bool foundprint
 This flag is used to check if the user has created a valid input. More...
 
double golden
 
enum PLMD::gridtools::GridVessel:: { ... }  gtype
 The way that grid points are constructed. More...
 
double igolden
 
std::string kerneltype
 
const PLMD::Keywordskeywords
 The keywords. More...
 
std::vector< std::string > line
 Directive line. More...
 
double log_golden2
 
std::vector< double > max
 
std::vector< double > min
 The minimum and maximum of the grid stored as doubles. 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...
 
std::vector< unsigned > nbin
 The number of bins in each grid direction. More...
 
unsigned neigh_tot
 
std::vector< unsigned > nneigh
 
unsigned npoints
 The number of points in the grid. More...
 
const int numlab
 The numerical label for this object. More...
 
double root5
 Stuff for fibonacci grids. More...
 
std::vector< unsigned > stride
 The numerical distance between adjacent grid points. More...
 
bool unormalised
 Are we outputting unormalised data. More...
 
bool wascleared
 The grid was recently cleared and bounds can be set. More...
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
privateinherited

The way that grid points are constructed.

Enumerator
flat 
fibonacci 

Constructor & Destructor Documentation

◆ HistogramOnGrid()

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

Member Function Documentation

◆ accumulate()

void PLMD::gridtools::HistogramOnGrid::accumulate ( const unsigned &  ipoint,
const double &  weight,
const double &  dens,
const std::vector< double > &  der,
std::vector< double > &  buffer 
) const
virtual

Reimplemented in PLMD::gridtools::AverageOnGrid.

◆ accumulateForce()

void PLMD::gridtools::HistogramOnGrid::accumulateForce ( const unsigned &  ipoint,
const double &  weight,
const std::vector< double > &  der,
std::vector< double > &  intforce 
) const
virtual

Reimplemented in PLMD::gridtools::AverageOnGrid.

◆ activateThesePoints()

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

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.

◆ addOneKernelEachTimeOnly()

void PLMD::gridtools::HistogramOnGrid::addOneKernelEachTimeOnly ( )
inline

◆ addToGridElement()

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

Add data to an element of the grid.

◆ applyForce()

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

And retrieve the forces.

Implements PLMD::vesselbase::Vessel.

◆ calculate()

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

Copy data from the action into the grid.

Reimplemented from PLMD::gridtools::GridVessel.

◆ 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
inherited

Convert an index into indices.

◆ description()

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

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::HistogramOnGrid::finish ( const std::vector< double > &  buffer)
overridevirtual

Finish the calculation.

Reimplemented from PLMD::gridtools::GridVessel.

◆ 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
inlineinherited

Return the volume of one of the grid cells.

◆ getComponentName()

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

Get the name of the ith component.

◆ getCubeUnits()

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

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
inlineinherited

Get the dimensionality of the function.

◆ getFibonacciCoordinates()

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

Get the coordinates on the Fibonacci grid.

◆ getFibonacciCutoff()

double PLMD::gridtools::HistogramOnGrid::getFibonacciCutoff ( ) const
overridevirtual

Get the cutoff to use for the Fibonacci spheres.

Reimplemented from PLMD::gridtools::GridVessel.

◆ getFibonacciIndex()

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

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

◆ getFinalForces()

void PLMD::gridtools::HistogramOnGrid::getFinalForces ( const std::vector< double > &  buffer,
std::vector< double > &  finalForces 
)
overridevirtual

This retrieves the final force.

Reimplemented from PLMD::gridtools::GridVessel.

◆ getFlatGridCoordinates()

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

Get the flat grid coordinates.

◆ getGridElement() [1/2]

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

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
virtualinherited

Get the value of the ith grid element.

Reimplemented in PLMD::gridtools::AverageOnGrid.

◆ getGridExtent()

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

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
inherited

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
inherited

◆ getGridSpacing()

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

Get the spacing between grid points.

◆ getIndex() [1/2]

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

Convert a point in space the the correspoinding grid point.

◆ getIndex() [2/2]

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

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

◆ getIndices() [1/2]

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

Get the indices of a particular point.

◆ getIndices() [2/2]

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

Get the indices fof a point.

◆ getInputString()

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

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

◆ getKernelAndNeighbors()

std::unique_ptr< KernelFunctions > PLMD::gridtools::HistogramOnGrid::getKernelAndNeighbors ( std::vector< double > &  point,
unsigned &  num_neigh,
std::vector< unsigned > &  neighbors 
) const

◆ getLabel()

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

Return the label.

◆ getMax()

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

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

◆ getMin()

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

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
inherited

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
inherited

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
inherited

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::HistogramOnGrid::getNumberOfBufferPoints ( ) const
inlineoverridevirtual

Get the number of points needed in the buffer.

Reimplemented from PLMD::gridtools::GridVessel.

◆ getNumberOfComponents()

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

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
inlineinherited

Get the number of points in the grid.

◆ getNumberOfQuantities()

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

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,
unsigned &  nneighbors,
std::vector< unsigned > &  mysneigh 
) const
inherited

Get the points neighboring a particular spline point.

◆ getStride()

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

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
inlineinherited

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
inherited

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

◆ getVectorOfValues()

std::vector< std::unique_ptr< Value > > PLMD::gridtools::HistogramOnGrid::getVectorOfValues ( ) const

◆ inactive()

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

Is this point active.

◆ isPeriodic()

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

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
inlineinherited

Does this have derivatives.

◆ noDiscreteKernels()

bool PLMD::gridtools::HistogramOnGrid::noDiscreteKernels ( ) const

◆ 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::HistogramOnGrid::registerKeywords ( Keywords keys)
static

◆ 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 ( )
overridevirtualinherited

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::HistogramOnGrid::setBounds ( const std::vector< std::string > &  smin,
const std::vector< std::string > &  smax,
const std::vector< unsigned > &  nbins,
const std::vector< double > &  spacing 
)
overridevirtual

Set the minimum and maximum of the grid.

Reimplemented from PLMD::gridtools::GridVessel.

◆ 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)
inherited

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

Apply the forces.

◆ setGridElement() [1/2]

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

◆ setGridElement() [2/2]

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

Operations on one of the elements of grid point i.

◆ setNoDerivatives()

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

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

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

◆ setValueAndDerivatives()

void PLMD::gridtools::GridVessel::setValueAndDerivatives ( const unsigned &  ipoint,
const unsigned &  jelement,
const double &  value,
const std::vector< double > &  der 
)
inherited

Set the values and derivatives of a particular element.

◆ 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
inherited

Was a force added to the grid.

◆ wasreset()

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

Was the grid cleared on the last step.

Member Data Documentation

◆ action

ActionWithVessel* PLMD::vesselbase::Vessel::action
privateinherited

The action that this vessel is created within.

◆ active

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

Which grid points are we actively accumulating.

◆ addOneKernelAtATime

bool PLMD::gridtools::HistogramOnGrid::addOneKernelAtATime
private

◆ arg_names

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

The names of the various columns in the grid file.

◆ bandwidths

std::vector<double> PLMD::gridtools::HistogramOnGrid::bandwidths
private

◆ bounds_set

bool PLMD::gridtools::GridVessel::bounds_set
privateinherited

Have the minimum and maximum for the grid been set.

◆ bufsize

unsigned PLMD::vesselbase::Vessel::bufsize
privateinherited

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

◆ bufstart

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

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

◆ cube_units

double PLMD::gridtools::GridVessel::cube_units
privateinherited

Units for Gaussian Cube file.

◆ currentGridPoint

unsigned PLMD::gridtools::GridVessel::currentGridPoint
privateinherited

The grid point that was requested last by getGridPointCoordinates.

◆ data

std::vector<double> PLMD::vesselbase::AveragingVessel::data
privateinherited

The data that is being averaged.

◆ dimension

unsigned PLMD::gridtools::GridVessel::dimension
protectedinherited

The dimensionality of the grid.

◆ discrete

bool PLMD::gridtools::HistogramOnGrid::discrete
protected

◆ dx

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

The spacing between grid points.

◆ fib_increment

double PLMD::gridtools::GridVessel::fib_increment
privateinherited

◆ fib_nlist

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

◆ fib_offset

double PLMD::gridtools::GridVessel::fib_offset
privateinherited

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

◆ fib_shift

double PLMD::gridtools::GridVessel::fib_shift
privateinherited

◆ finalForces

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

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

◆ finished_read

bool PLMD::vesselbase::Vessel::finished_read
privateinherited

This just checks we have done checkRead.

◆ forces

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

Forces acting on grid elements.

◆ foundprint

bool PLMD::gridtools::GridVessel::foundprint
privateinherited

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

◆ golden

double PLMD::gridtools::GridVessel::golden
privateinherited

◆ gtype

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

The way that grid points are constructed.

◆ igolden

double PLMD::gridtools::GridVessel::igolden
privateinherited

◆ kerneltype

std::string PLMD::gridtools::HistogramOnGrid::kerneltype
private

◆ keywords

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

The keywords.

◆ line

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

Directive line.

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

◆ log_golden2

double PLMD::gridtools::GridVessel::log_golden2
privateinherited

◆ max

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

◆ min

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

The minimum and maximum of the grid stored as doubles.

◆ mylabel

std::string PLMD::vesselbase::Vessel::mylabel
privateinherited

The label for the vessel for referencing.

◆ myname

std::string PLMD::vesselbase::Vessel::myname
privateinherited

The keyword for the vessel in the input file.

◆ nbin

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

The number of bins in each grid direction.

◆ neigh_tot

unsigned PLMD::gridtools::HistogramOnGrid::neigh_tot
private

◆ nneigh

std::vector<unsigned> PLMD::gridtools::HistogramOnGrid::nneigh
private

◆ noderiv

bool PLMD::gridtools::GridVessel::noderiv
protectedinherited

Do we have derivatives.

◆ nper

unsigned PLMD::gridtools::GridVessel::nper
protectedinherited

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

◆ npoints

unsigned PLMD::gridtools::GridVessel::npoints
privateinherited

The number of points in the grid.

◆ numlab

const int PLMD::vesselbase::Vessel::numlab
privateinherited

The numerical label for this object.

◆ pbc

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

Is this direction periodic.

◆ root5

double PLMD::gridtools::GridVessel::root5
privateinherited

Stuff for fibonacci grids.

◆ str_max

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

◆ str_min

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

The minimum and maximum in the grid stored as strings.

◆ stride

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

The numerical distance between adjacent grid points.

◆ unormalised

bool PLMD::vesselbase::AveragingVessel::unormalised
privateinherited

Are we outputting unormalised data.

◆ von_misses_concentration

double PLMD::gridtools::HistogramOnGrid::von_misses_concentration

◆ von_misses_norm

double PLMD::gridtools::HistogramOnGrid::von_misses_norm

◆ wascleared

bool PLMD::vesselbase::AveragingVessel::wascleared
privateinherited

The grid was recently cleared and bounds can be set.

◆ wasforced

bool PLMD::gridtools::GridVessel::wasforced
protectedinherited

Is forced.


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