#include <Grid.h>
Public Member Functions | |
virtual void | clear () |
clear grid More... | |
Grid (const std::string &funcl, std::vector< Value * > args, const std::vector< std::string > &gmin, const std::vector< std::string > &gmax, const std::vector< unsigned > &nbin, bool dospline, bool usederiv, bool doclear=true) | |
this constructor here is Value-aware More... | |
Grid (const std::string &funcl, const std::vector< std::string > &names, const std::vector< std::string > &gmin, const std::vector< std::string > &gmax, const std::vector< unsigned > &nbin, bool dospline, bool usederiv, bool doclear, const std::vector< bool > &isperiodic, const std::vector< std::string > &pmin, const std::vector< std::string > &pmax) | |
this constructor here is not Value-aware More... | |
void | Init (const std::string &funcl, const std::vector< std::string > &names, const std::vector< std::string > &gmin, const std::vector< std::string > &gmax, const std::vector< unsigned > &nbin, bool dospline, bool usederiv, bool doclear, const std::vector< bool > &isperiodic, const std::vector< std::string > &pmin, const std::vector< std::string > &pmax) |
this is the real initializator More... | |
std::vector< std::string > | getMin () const |
get lower boundary More... | |
std::vector< std::string > | getMax () const |
get upper boundary More... | |
std::vector< double > | getDx () const |
get bin size More... | |
double | getBinVolume () const |
get bin volume More... | |
std::vector< unsigned > | getNbin () const |
get number of bins More... | |
std::vector< bool > | getIsPeriodic () const |
get if periodic More... | |
unsigned | getDimension () const |
get grid dimension More... | |
std::vector< std::string > | getArgNames () const |
get argument names of this grid More... | |
std::vector< unsigned > | getIndices (unsigned index) const |
methods to handle grid indices More... | |
std::vector< unsigned > | getIndices (const std::vector< double > &x) const |
unsigned | getIndex (const std::vector< unsigned > &indices) const |
unsigned | getIndex (const std::vector< double > &x) const |
std::vector< double > | getPoint (unsigned index) const |
std::vector< double > | getPoint (const std::vector< unsigned > &indices) const |
std::vector< double > | getPoint (const std::vector< double > &x) const |
void | getPoint (unsigned index, std::vector< double > &point) const |
faster versions relying on preallocated vectors More... | |
void | getPoint (const std::vector< unsigned > &indices, std::vector< double > &point) const |
void | getPoint (const std::vector< double > &x, std::vector< double > &point) const |
std::vector< unsigned > | getNeighbors (unsigned index, const std::vector< unsigned > &neigh) const |
get neighbors More... | |
std::vector< unsigned > | getNeighbors (const std::vector< unsigned > &indices, const std::vector< unsigned > &neigh) const |
std::vector< unsigned > | getNeighbors (const std::vector< double > &x, const std::vector< unsigned > &neigh) const |
void | writeHeader (OFile &file) |
write header for grid file More... | |
virtual unsigned | getSize () const |
get grid size More... | |
virtual double | getValue (unsigned index) const |
get grid value More... | |
virtual double | getValue (const std::vector< unsigned > &indices) const |
virtual double | getValue (const std::vector< double > &x) const |
virtual double | getMinValue () const |
get minimum value More... | |
virtual double | getMaxValue () const |
get maximum value More... | |
virtual double | getValueAndDerivatives (unsigned index, std::vector< double > &der) const |
get grid value and derivatives More... | |
virtual double | getValueAndDerivatives (const std::vector< unsigned > &indices, std::vector< double > &der) const |
virtual double | getValueAndDerivatives (const std::vector< double > &x, std::vector< double > &der) const |
virtual void | setValue (unsigned index, double value) |
set grid value More... | |
virtual void | setValue (const std::vector< unsigned > &indices, double value) |
virtual void | setValueAndDerivatives (unsigned index, double value, std::vector< double > &der) |
set grid value and derivatives More... | |
virtual void | setValueAndDerivatives (const std::vector< unsigned > &indices, double value, std::vector< double > &der) |
virtual void | addValue (unsigned index, double value) |
add to grid value More... | |
virtual void | addValue (const std::vector< unsigned > &indices, double value) |
virtual void | addValueAndDerivatives (unsigned index, double value, std::vector< double > &der) |
add to grid value and derivatives More... | |
virtual void | addValueAndDerivatives (const std::vector< unsigned > &indices, double value, std::vector< double > &der) |
virtual void | scaleAllValuesAndDerivatives (const double &scalef) |
Scale all grid values and derivatives by a constant factor. More... | |
virtual void | logAllValuesAndDerivatives (const double &scalef) |
Takes the scalef times the logarithm of all grid values and derivatives. More... | |
virtual void | setMinToZero () |
Set the minimum value of the grid to zero and translates accordingly. More... | |
virtual void | applyFunctionAllValuesAndDerivatives (double(*func)(double val), double(*funcder)(double valder)) |
apply function: takes pointer to function that accepts a double and apply More... | |
void | addKernel (const KernelFunctions &kernel) |
add a kernel function to the grid More... | |
virtual void | writeToFile (OFile &) |
dump grid on file More... | |
virtual | ~Grid () |
Grid | project (const std::vector< std::string > &proj, WeightBase *ptr2obj) |
project a high dimensional grid onto a low dimensional one: this should be changed at some time to enable many types of weighting More... | |
void | projectOnLowDimension (double &val, std::vector< int > &varHigh, WeightBase *ptr2obj) |
void | setOutputFmt (std::string ss) |
set output format More... | |
Static Public Member Functions | |
static Grid * | create (const std::string &, std::vector< Value * >, IFile &, bool, bool, bool) |
read grid from file More... | |
static Grid * | create (const std::string &, std::vector< Value * >, IFile &, const std::vector< std::string > &, const std::vector< std::string > &, const std::vector< unsigned > &, bool, bool, bool) |
read grid from file and check boundaries are what is expected from input More... | |
Protected Member Functions | |
std::vector< unsigned > | getSplineNeighbors (const std::vector< unsigned > &indices) const |
get "neighbors" for spline More... | |
Protected Attributes | |
std::string | funcname |
std::vector< std::string > | argnames |
std::vector< std::string > | str_min_ |
std::vector< std::string > | str_max_ |
std::vector< double > | min_ |
std::vector< double > | max_ |
std::vector< double > | dx_ |
std::vector< unsigned > | nbin_ |
std::vector< bool > | pbc_ |
unsigned | maxsize_ |
unsigned | dimension_ |
bool | dospline_ |
bool | usederiv_ |
std::string | fmt_ |
Private Attributes | |
std::vector< double > | grid_ |
std::vector< std::vector < double > > | der_ |
PLMD::Grid::Grid | ( | const std::string & | funcl, |
std::vector< Value * > | args, | ||
const std::vector< std::string > & | gmin, | ||
const std::vector< std::string > & | gmax, | ||
const std::vector< unsigned > & | nbin, | ||
bool | dospline, | ||
bool | usederiv, | ||
bool | doclear = true |
||
) |
this constructor here is Value-aware
PLMD::Grid::Grid | ( | const std::string & | funcl, |
const std::vector< std::string > & | names, | ||
const std::vector< std::string > & | gmin, | ||
const std::vector< std::string > & | gmax, | ||
const std::vector< unsigned > & | nbin, | ||
bool | dospline, | ||
bool | usederiv, | ||
bool | doclear, | ||
const std::vector< bool > & | isperiodic, | ||
const std::vector< std::string > & | pmin, | ||
const std::vector< std::string > & | pmax | ||
) |
this constructor here is not Value-aware
|
inlinevirtual |
void PLMD::Grid::addKernel | ( | const KernelFunctions & | kernel | ) |
add a kernel function to the grid
|
virtual |
add to grid value
Reimplemented in PLMD::SparseGrid.
|
virtual |
|
virtual |
add to grid value and derivatives
Reimplemented in PLMD::SparseGrid.
|
virtual |
|
virtual |
apply function: takes pointer to function that accepts a double and apply
|
virtual |
clear grid
Reimplemented in PLMD::SparseGrid.
|
static |
read grid from file
|
static |
read grid from file and check boundaries are what is expected from input
vector< string > PLMD::Grid::getArgNames | ( | ) | const |
get argument names of this grid
double PLMD::Grid::getBinVolume | ( | ) | const |
get bin volume
unsigned PLMD::Grid::getDimension | ( | ) | const |
get grid dimension
vector< double > PLMD::Grid::getDx | ( | ) | const |
get bin size
unsigned PLMD::Grid::getIndex | ( | const std::vector< unsigned > & | indices | ) | const |
unsigned PLMD::Grid::getIndex | ( | const std::vector< double > & | x | ) | const |
vector< unsigned > PLMD::Grid::getIndices | ( | unsigned | index | ) | const |
methods to handle grid indices
vector< unsigned > PLMD::Grid::getIndices | ( | const std::vector< double > & | x | ) | const |
vector< bool > PLMD::Grid::getIsPeriodic | ( | ) | const |
get if periodic
vector< std::string > PLMD::Grid::getMax | ( | ) | const |
get upper boundary
|
virtual |
get maximum value
vector< std::string > PLMD::Grid::getMin | ( | ) | const |
get lower boundary
|
virtual |
get minimum value
vector< unsigned > PLMD::Grid::getNbin | ( | ) | const |
get number of bins
vector< unsigned > PLMD::Grid::getNeighbors | ( | unsigned | index, |
const std::vector< unsigned > & | neigh | ||
) | const |
get neighbors
vector< unsigned > PLMD::Grid::getNeighbors | ( | const std::vector< unsigned > & | indices, |
const std::vector< unsigned > & | neigh | ||
) | const |
vector< unsigned > PLMD::Grid::getNeighbors | ( | const std::vector< double > & | x, |
const std::vector< unsigned > & | neigh | ||
) | const |
vector< double > PLMD::Grid::getPoint | ( | unsigned | index | ) | const |
vector< double > PLMD::Grid::getPoint | ( | const std::vector< unsigned > & | indices | ) | const |
vector< double > PLMD::Grid::getPoint | ( | const std::vector< double > & | x | ) | const |
void PLMD::Grid::getPoint | ( | unsigned | index, |
std::vector< double > & | point | ||
) | const |
faster versions relying on preallocated vectors
void PLMD::Grid::getPoint | ( | const std::vector< unsigned > & | indices, |
std::vector< double > & | point | ||
) | const |
void PLMD::Grid::getPoint | ( | const std::vector< double > & | x, |
std::vector< double > & | point | ||
) | const |
|
virtual |
get grid size
Reimplemented in PLMD::SparseGrid.
|
protected |
get "neighbors" for spline
|
virtual |
get grid value
Reimplemented in PLMD::SparseGrid.
|
virtual |
|
virtual |
|
virtual |
get grid value and derivatives
Reimplemented in PLMD::SparseGrid.
|
virtual |
|
virtual |
void PLMD::Grid::Init | ( | const std::string & | funcl, |
const std::vector< std::string > & | names, | ||
const std::vector< std::string > & | gmin, | ||
const std::vector< std::string > & | gmax, | ||
const std::vector< unsigned > & | nbin, | ||
bool | dospline, | ||
bool | usederiv, | ||
bool | doclear, | ||
const std::vector< bool > & | isperiodic, | ||
const std::vector< std::string > & | pmin, | ||
const std::vector< std::string > & | pmax | ||
) |
this is the real initializator
|
virtual |
Takes the scalef times the logarithm of all grid values and derivatives.
Grid PLMD::Grid::project | ( | const std::vector< std::string > & | proj, |
WeightBase * | ptr2obj | ||
) |
project a high dimensional grid onto a low dimensional one: this should be changed at some time to enable many types of weighting
void PLMD::Grid::projectOnLowDimension | ( | double & | val, |
std::vector< int > & | varHigh, | ||
WeightBase * | ptr2obj | ||
) |
|
virtual |
Scale all grid values and derivatives by a constant factor.
|
virtual |
Set the minimum value of the grid to zero and translates accordingly.
|
inline |
set output format
|
virtual |
set grid value
Reimplemented in PLMD::SparseGrid.
|
virtual |
|
virtual |
set grid value and derivatives
Reimplemented in PLMD::SparseGrid.
|
virtual |
void PLMD::Grid::writeHeader | ( | OFile & | file | ) |
write header for grid file
|
virtual |
dump grid on file
Reimplemented in PLMD::SparseGrid.
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Hosted by GitHub | 1.8.7 |