This is the abstract base class to use for implementing new methods for analyzing the trajectory, within it there is information as to how to go about implementing a new analysis method. More...
#include <Analysis.h>
Public Types | |
typedef std::set< Action * > | Dependencies |
typedef std::set< FILE * > ::iterator | files_iterator |
Public Member Functions | |
Analysis (const ActionOptions &) | |
~Analysis () | |
void | prepare () |
Prepare an Action for calculation This can be used by Action if they need some special preparation before calculation. More... | |
void | calculate () |
Calculate an Action. More... | |
void | update () |
Update. More... | |
void | accumulate () |
virtual void | performAnalysis ()=0 |
void | apply () |
Apply an Action. More... | |
void | runFinalJobs () |
RunFinalJobs This method is called once at the very end of the calculation. More... | |
void | runAnalysis () |
bool | onStep () const |
Check if the action is active on this step. More... | |
void | addDependency (Action *) |
Specify that this Action depends on another one. More... | |
void | clearDependencies () |
Clear the dependence list for this Action. More... | |
long int | getStep () const |
Return the present timestep. More... | |
double | getTime () const |
Return the present time. More... | |
double | getTimeStep () const |
Return the timestep. More... | |
template<class T > | |
void | parse (const std::string &key, T &t) |
Parse one keyword as generic type. More... | |
template<class T > | |
bool | parseNumbered (const std::string &key, const int no, T &t) |
Parse one numbered keyword as generic type. More... | |
template<class T > | |
void | parseVector (const std::string &key, std::vector< T > &t) |
Parse one keyword as std::vector. More... | |
template<class T > | |
bool | parseNumberedVector (const std::string &key, const int no, std::vector< T > &t) |
Parse a vector with a number. More... | |
void | parseFlag (const std::string &key, bool &t) |
Parse one keyword as boolean flag. More... | |
void | error (const std::string &msg) const |
Crash calculation and print documentation. More... | |
void | warning (const std::string &msg) |
Issue a warning. More... | |
void | exit (int c=0) |
Exit with error code c. More... | |
void | checkRead () |
Check if Action was properly read. More... | |
virtual void | lockRequests () |
virtual void | unlockRequests () |
void | fflush () |
Tell to the Action to flush open files. More... | |
virtual std::string | getDocumentation () const |
const std::string & | getLabel () const |
Returns the label. More... | |
const std::string & | getName () const |
Returns the name. More... | |
virtual void | activate () |
Set action to active. More... | |
virtual void | setOption (const std::string &s) |
virtual void | clearOptions () |
virtual void | deactivate () |
Set action to inactive. More... | |
bool | isActive () const |
Check if action is active. More... | |
bool | isOptionOn (const std::string &s) const |
Check if an option is on. More... | |
const Dependencies & | getDependencies () const |
Return dependencies. More... | |
virtual bool | checkNumericalDerivatives () const |
Check if numerical derivatives should be performed. More... | |
virtual bool | checkNeedsGradients () const |
Check if the action needs gradient. More... | |
virtual void | calculateNumericalDerivatives (ActionWithValue *a=NULL) |
Perform calculation using numerical derivatives N.B. More... | |
FILE * | fopen (const char *path, const char *mode) |
Opens a file. More... | |
int | fclose (FILE *fp) |
Closes a file opened with Action::fclose(). More... | |
void | calculateFromPDB (const PDB &) |
Calculate the action given a pdb file as input. More... | |
virtual void | readAtomsFromPDB (const PDB &) |
This is overwritten in ActionAtomistic so that we can read the atoms from the pdb input file rather than taking them from the MD code. More... | |
bool | getExchangeStep () const |
Check if we are on an exchange step. More... | |
std::string | cite (const std::string &s) |
Cite a paper see PlumedMain::cite. More... | |
double | getProjection (unsigned i, unsigned j) const |
Get the scalar product between the gradients of two variables. More... | |
double | getArgument (const unsigned n) const |
Returns the value of an argument. More... | |
Value * | getPntrToArgument (const unsigned n) |
Return a pointer to specific argument. More... | |
double | difference (int, double, double) const |
Takes the difference taking into account pbc for arg i. More... | |
double | bringBackInPbc (int i, double d1) const |
Takes one value and brings it back into the pbc of argument i. More... | |
void | parseArgumentList (const std::string &key, std::vector< Value * > &args) |
Parse a list of arguments. More... | |
void | requestArguments (const std::vector< Value * > &arg) |
Setup the dependencies. More... | |
void | addForcesOnArguments (const std::vector< double > &forces) |
Add forces to arguments (used in apply) More... | |
virtual void | calculateNumericalDerivatives (ActionWithValue *a=NULL) |
Calculate the numerical derivatives N.B. More... | |
void | lockRequests () |
void | unlockRequests () |
void | interpretArgumentList (const std::vector< std::string > &c, std::vector< Value * > &arg) |
Convert a list of argument names into a list of pointers to the values. More... | |
Static Public Member Functions | |
static void | registerKeywords (Keywords &keys) |
Public Attributes | |
PlumedMain & | plumed |
Reference to main plumed object. More... | |
Log & | log |
Reference to the log stream. More... | |
std::set< FILE * > | files |
Communicator & | comm |
Communicator & | multi_sim_comm |
const Keywords & | keywords |
Protected Member Functions | |
void | parseOutputFile (const std::string &key, std::string &filename) |
This is used to read in output file names for analysis methods. More... | |
unsigned | getNumberOfArguments () const |
Return the number of arguments (this overwrites the one in ActionWithArguments) More... | |
unsigned | getNumberOfDataPoints () const |
Return the number of data points. More... | |
void | getDataPoint (const unsigned &idata, std::vector< double > &point, double &weight) const |
Retrieve the ith point. More... | |
bool | getPeriodicityInformation (const unsigned &i, std::string &dmin, std::string &dmax) |
Returns true if argument i is periodic together with the domain. More... | |
double | getNormalization () const |
Return the normalization constant. More... | |
bool | usingMemory () const |
Are we analyzing each data block separately (if we are not this also returns the old normalization ) More... | |
void | finalizeWeights (const bool &ignore_weights) |
Convert the stored log weights to proper weights. More... | |
std::vector< Value * > | getArguments () |
Overwrite ActionWithArguments getArguments() so that we don't return the bias. More... | |
std::string | getOutputFormat () const |
Return the format to use for numbers in output files. More... | |
int | getStride () const |
void | expandArgKeywordInPDB (PDB &pdb) |
This changes the arg keyword in the pdb file. More... | |
Private Member Functions | |
void | readDataFromFile (const std::string &filename) |
Read in data from a file. More... | |
double | retrieveNorm () const |
This retrieves the value of norm from the analysis action. More... | |
Private Attributes | |
bool | single_run |
Are we running only once for the whole trajectory. More... | |
bool | nomemory |
Are we treating each block of data separately. More... | |
bool | write_chq |
Are we writing a checkpoint file. More... | |
bool | reusing_data |
Are we reusing data stored by another analysis action. More... | |
bool | ignore_reweight |
If we are reusing data are we ignoring the reweighting in that data. More... | |
Analysis * | mydatastash |
The Analysis action that we are reusing data from. More... | |
unsigned | freq |
The frequency with which we are performing analysis. More... | |
unsigned | ndata |
Number of data point we need to run analysis. More... | |
double | simtemp |
The temperature at which we are running the calculation. More... | |
double | rtemp |
The temperature at which we want the histogram. More... | |
bool | needeng |
Do we need the energy (are we reweighting at a different temperature) More... | |
std::vector< Value * > | biases |
The biases we are using in reweighting and the args we store them separately. More... | |
unsigned | idata |
The piece of data we are inserting. More... | |
std::vector< double > | args |
Tempory vector to store values of arguments. More... | |
std::vector< std::vector < double > > | data |
The data we are going to analyze. More... | |
std::vector< double > | logweights |
The weights of all the data points. More... | |
std::vector< double > | weights |
bool | firstAnalysisDone |
Have we analyzed the data for the first time. More... | |
double | norm |
The value of the old normalization constant. More... | |
double | old_norm |
std::string | ofmt |
The format to use in output files. More... | |
OFile | rfile |
The checkpoint file. More... | |
This is the abstract base class to use for implementing new methods for analyzing the trajectory, within it there is information as to how to go about implementing a new analysis method.
Definition at line 40 of file Analysis.h.
|
inherited |
|
inherited |
PLMD::analysis::Analysis::Analysis | ( | const ActionOptions & | ao | ) |
Definition at line 75 of file Analysis.cpp.
PLMD::analysis::Analysis::~Analysis | ( | ) |
Definition at line 253 of file Analysis.cpp.
void PLMD::analysis::Analysis::accumulate | ( | ) |
Definition at line 215 of file Analysis.cpp.
|
virtualinherited |
Set action to active.
Definition at line 127 of file Action.cpp.
|
inherited |
Specify that this Action depends on another one.
Definition at line 123 of file Action.cpp.
|
inherited |
Add forces to arguments (used in apply)
Definition at line 276 of file ActionWithArguments.cpp.
|
inlinevirtual |
Apply an Action.
This method is called one time per step. The set of all Actions is applied in backward order.
Implements PLMD::Action.
Definition at line 125 of file Analysis.h.
|
inlineinherited |
Takes one value and brings it back into the pbc of argument i.
Definition at line 108 of file ActionWithArguments.h.
|
virtual |
Calculate an Action.
This method is called one or more times per step. The set of all Actions is calculated in forward order.
Implements PLMD::Action.
Definition at line 211 of file Analysis.cpp.
|
inherited |
Calculate the action given a pdb file as input.
This is used to initialize things like distance from a point in CV map space given a pdb as an input file
Definition at line 205 of file Action.cpp.
|
virtualinherited |
Calculate the numerical derivatives N.B.
only pass an ActionWithValue to this routine if you know exactly what you are doing. The default will be correct for the vast majority of cases
Reimplemented from PLMD::Action.
Definition at line 242 of file ActionWithArguments.cpp.
|
virtualinherited |
Perform calculation using numerical derivatives N.B.
only pass an ActionWithValue to this routine if you know exactly what you are doing.
Reimplemented in PLMD::ActionAtomistic, PLMD::multicolvar::ActionVolume, PLMD::ActionWithArguments, and PLMD::multicolvar::MultiColvarFunction.
Definition at line 187 of file Action.cpp.
|
inlinevirtualinherited |
Check if the action needs gradient.
Reimplemented in PLMD::bias::MetaD, and PLMD::generic::DumpProjections.
|
inlinevirtualinherited |
Check if numerical derivatives should be performed.
Reimplemented in PLMD::ActionWithValue.
|
inherited |
Check if Action was properly read.
This checks if Action::line is empty. It must be called after a final Action has been initialized
Definition at line 161 of file Action.cpp.
|
inherited |
Cite a paper see PlumedMain::cite.
Definition at line 221 of file Action.cpp.
|
inherited |
Clear the dependence list for this Action.
Definition at line 153 of file Action.cpp.
|
virtualinherited |
Definition at line 147 of file Action.cpp.
|
inlinevirtualinherited |
|
inlineinherited |
Takes the difference taking into account pbc for arg i.
Definition at line 103 of file ActionWithArguments.h.
|
inherited |
Crash calculation and print documentation.
Definition at line 195 of file Action.cpp.
|
inherited |
Exit with error code c.
Definition at line 183 of file Action.cpp.
|
protectedinherited |
This changes the arg keyword in the pdb file.
Definition at line 193 of file ActionWithArguments.cpp.
|
inherited |
Closes a file opened with Action::fclose().
Definition at line 93 of file Action.cpp.
|
inherited |
Tell to the Action to flush open files.
Definition at line 98 of file Action.cpp.
|
protected |
Convert the stored log weights to proper weights.
Definition at line 257 of file Analysis.cpp.
|
inherited |
Opens a file.
This is similar to plain fopen, but with some extra functionality.
Definition at line 83 of file Action.cpp.
|
inlineinherited |
Returns the value of an argument.
Definition at line 93 of file ActionWithArguments.h.
|
inlineprotected |
Overwrite ActionWithArguments getArguments() so that we don't return the bias.
Definition at line 172 of file Analysis.h.
|
inlineprotected |
Retrieve the ith point.
Definition at line 141 of file Analysis.h.
|
inlineinherited |
|
virtualinherited |
Definition at line 157 of file Action.cpp.
|
inherited |
Check if we are on an exchange step.
Definition at line 217 of file Action.cpp.
|
inlineinherited |
|
inlineinherited |
|
protected |
Return the normalization constant.
Definition at line 324 of file Analysis.cpp.
|
inlineprotected |
Return the number of arguments (this overwrites the one in ActionWithArguments)
Definition at line 161 of file Analysis.h.
|
inlineprotected |
Return the number of data points.
Definition at line 131 of file Analysis.h.
|
inlineprotected |
Return the format to use for numbers in output files.
Definition at line 179 of file Analysis.h.
|
protected |
Returns true if argument i is periodic together with the domain.
Definition at line 337 of file Analysis.cpp.
|
inlineinherited |
Return a pointer to specific argument.
Definition at line 88 of file ActionWithArguments.h.
|
inherited |
Get the scalar product between the gradients of two variables.
Definition at line 268 of file ActionWithArguments.cpp.
|
inherited |
Return the present timestep.
Definition at line 169 of file Action.cpp.
|
protectedinherited |
Definition at line 42 of file ActionPilot.cpp.
|
inherited |
Return the present time.
Definition at line 173 of file Action.cpp.
|
inherited |
Return the timestep.
Definition at line 177 of file Action.cpp.
|
inherited |
Convert a list of argument names into a list of pointers to the values.
Definition at line 44 of file ActionWithArguments.cpp.
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
Reimplemented from PLMD::Action.
Definition at line 113 of file ActionWithArguments.h.
|
inlinevirtualinherited |
Reimplemented in PLMD::ActionAtomistic, and PLMD::ActionWithArguments.
|
inherited |
Check if the action is active on this step.
Definition at line 38 of file ActionPilot.cpp.
|
inherited |
|
inherited |
Parse a list of arguments.
Definition at line 40 of file ActionWithArguments.cpp.
|
inherited |
Parse one keyword as boolean flag.
Definition at line 104 of file Action.cpp.
|
inherited |
|
inherited |
|
protected |
This is used to read in output file names for analysis methods.
When this method is used and the calculation is not restarted old analysis files are backed up.
Definition at line 198 of file Analysis.cpp.
|
inherited |
|
pure virtual |
Implemented in PLMD::analysis::Histogram.
|
virtual |
Prepare an Action for calculation This can be used by Action if they need some special preparation before calculation.
Typical case is for collective variables which would like to change their list of requested atoms. By default (if not overridden) does nothing.
Reimplemented from PLMD::Action.
Definition at line 207 of file Analysis.cpp.
|
inlinevirtualinherited |
This is overwritten in ActionAtomistic so that we can read the atoms from the pdb input file rather than taking them from the MD code.
Reimplemented in PLMD::ActionAtomistic.
|
private |
Read in data from a file.
Definition at line 176 of file Analysis.cpp.
|
static |
Definition at line 55 of file Analysis.cpp.
|
inherited |
Setup the dependencies.
Definition at line 206 of file ActionWithArguments.cpp.
|
inlineprivate |
This retrieves the value of norm from the analysis action.
It is only used to transfer data from one analysis action to another. You should never need to use it. If you think you need it you probably need getNormalization()
Definition at line 167 of file Analysis.h.
void PLMD::analysis::Analysis::runAnalysis | ( | ) |
Definition at line 296 of file Analysis.cpp.
|
virtual |
RunFinalJobs This method is called once at the very end of the calculation.
The set of all Actions in run for the final time in forward order.
Reimplemented from PLMD::Action.
Definition at line 343 of file Analysis.cpp.
|
virtualinherited |
Definition at line 141 of file Action.cpp.
|
inlinevirtualinherited |
Reimplemented from PLMD::Action.
Definition at line 118 of file ActionWithArguments.h.
|
inlinevirtualinherited |
Reimplemented in PLMD::ActionAtomistic, and PLMD::ActionWithArguments.
|
virtual |
Update.
This method is called one time per step. The set of all Actions is updated in forward order.
Reimplemented from PLMD::Action.
Definition at line 329 of file Analysis.cpp.
|
inlineprotected |
Are we analyzing each data block separately (if we are not this also returns the old normalization )
Definition at line 152 of file Analysis.h.
|
inherited |
Issue a warning.
Definition at line 201 of file Action.cpp.
|
private |
Tempory vector to store values of arguments.
Definition at line 72 of file Analysis.h.
|
private |
The biases we are using in reweighting and the args we store them separately.
Definition at line 68 of file Analysis.h.
|
inherited |
|
private |
The data we are going to analyze.
Definition at line 74 of file Analysis.h.
|
private |
Have we analyzed the data for the first time.
Definition at line 78 of file Analysis.h.
|
private |
The frequency with which we are performing analysis.
Definition at line 58 of file Analysis.h.
|
private |
The piece of data we are inserting.
Definition at line 70 of file Analysis.h.
|
private |
If we are reusing data are we ignoring the reweighting in that data.
Definition at line 54 of file Analysis.h.
|
inherited |
|
private |
The weights of all the data points.
Definition at line 76 of file Analysis.h.
|
inherited |
|
private |
The Analysis action that we are reusing data from.
Definition at line 56 of file Analysis.h.
|
private |
Number of data point we need to run analysis.
Definition at line 60 of file Analysis.h.
|
private |
Do we need the energy (are we reweighting at a different temperature)
Definition at line 66 of file Analysis.h.
|
private |
Are we treating each block of data separately.
Definition at line 48 of file Analysis.h.
|
private |
The value of the old normalization constant.
Definition at line 80 of file Analysis.h.
|
private |
The format to use in output files.
Definition at line 82 of file Analysis.h.
|
private |
Definition at line 80 of file Analysis.h.
|
inherited |
|
private |
Are we reusing data stored by another analysis action.
Definition at line 52 of file Analysis.h.
|
private |
The checkpoint file.
Definition at line 84 of file Analysis.h.
|
private |
The temperature at which we want the histogram.
Definition at line 64 of file Analysis.h.
|
private |
The temperature at which we are running the calculation.
Definition at line 62 of file Analysis.h.
|
private |
Are we running only once for the whole trajectory.
Definition at line 46 of file Analysis.h.
|
private |
Definition at line 76 of file Analysis.h.
|
private |
Are we writing a checkpoint file.
Definition at line 50 of file Analysis.h.
Hosted by GitHub
![]() |
![]() |