#include <AdjacencyMatrixVessel.h>

Public Member Functions | |
| AdjacencyMatrixVessel (const vesselbase::VesselOptions &) | |
| Constructor. | |
| virtual void | activateIndices (ActionWithVessel *) |
| Activate indexes (this is used at end of chain rule). | |
| void | addActionThatUses (ActionWithVessel *actionThatUses) |
| Add an action that uses this data. | |
| bool | applyForce (std::vector< double > &) override |
| Forces on vectors should always be applied elsewhere. | |
| void | calculate (const unsigned ¤t, MultiValue &myvals, std::vector< double > &buffer, std::vector< unsigned > &der_index) const override |
| This stores the data when not using lowmem. | |
| void | checkRead () |
| Check that readin was fine. | |
| std::string | description () override |
| Return a description of the vessel contents. | |
| void | finish (const std::vector< double > &buffer) override |
| Final step in gathering data. | |
| double | getCutoffForConnection () const |
| Get the cutoff that we are using for connections. | |
| ActionWithVessel * | getDataUser (const unsigned &) |
| Get one of the ith data user. | |
| std::string | getLabel () const |
| Return the label. | |
| AdjacencyMatrixBase * | getMatrixAction () |
| Get the underlying adjacency matrix action object. | |
| void | getMatrixIndices (const unsigned &code, unsigned &i, unsigned &j) const |
| std::string | getName () const |
| Return the name. | |
| Vector | getNodePosition (const unsigned &taskIndex) const |
| unsigned | getNumberOfColumns () const |
| Get the number of columns. | |
| unsigned | getNumberOfComponents () const |
| Return the number of components in the vector. | |
| unsigned | getNumberOfDataUsers () const |
| Get the number of data users. | |
| unsigned | getNumberOfDerivatives (const unsigned &) |
| Get the number of derivatives for the ith value. | |
| unsigned | getNumberOfRows () const |
| Get the number of rows. | |
| virtual unsigned | getNumberOfStoredValues () const |
| Get the number of values that have been stored. | |
| unsigned | getSizeOfDerivativeList () const |
| Get the size of the derivative list. | |
| unsigned | getStoreIndex (const unsigned &) const |
| Get the index to store a particular index inside. | |
| unsigned | getStoreIndexFromMatrixIndices (const unsigned &ielem, const unsigned &jelem) const |
| Get the index that a particular element is stored in from the matrix indices. | |
| MultiValue & | getTemporyMultiValue (const unsigned &ind) |
| Return a tempory multi value - we do this so as to avoid vector resizing. | |
| unsigned | getTrueIndex (const unsigned &) const |
| Get the true index of a quantity from the index it is stored in. | |
| bool | isSymmetric () const |
| Is the matrix symmetric. | |
| bool | matrixElementIsActive (const unsigned &ielem, const unsigned &jelem) const |
| Is an element of the matrix currently active. | |
| bool | nodesAreConnected (const unsigned &iatom, const unsigned &jatom) const |
| Are these two nodes connected. | |
| virtual void | prepare () |
| Do something before the loop. | |
| void | recalculateStoredQuantity (const unsigned &myelm, MultiValue &myvals) |
| Recalculate one of the base quantities. | |
| void | resize () override |
| Do all resizing of data. | |
| void | resizeTemporyMultiValues (const unsigned &nvals) |
| Set the number of tempory multivalues we need. | |
| void | retrieveAdjacencyLists (std::vector< unsigned > &nneigh, Matrix< unsigned > &adj_list) |
| Get the neighbour list based on the adjacency matrix. | |
| void | retrieveDerivatives (const unsigned &myelem, const bool &normed, MultiValue &myvals) |
| Get the derivatives for one of the components in the vector. | |
| void | retrieveEdgeList (unsigned &nedge, std::vector< std::pair< unsigned, unsigned > > &edge_list) |
| Retrieve the list of edges in the adjacency matrix/graph. | |
| void | retrieveMatrix (DynamicList< unsigned > &myactive_elements, Matrix< double > &mymatrix) |
| Get the adjacency matrix. | |
| void | retrieveSequentialValue (const unsigned &myelem, const bool &normed, std::vector< double > &values) const |
| Get the values of all the components in the vector. | |
| void | retrieveValueWithIndex (const unsigned &myelem, const bool &normed, std::vector< double > &values) const |
| double | retrieveWeightWithIndex (const unsigned &myelem) const |
| void | setActiveValsAndDerivatives (const std::vector< unsigned > &der_index) |
| Set the active values. | |
| virtual void | setBufferStart (unsigned &start) |
| Set the start of the buffer. | |
| void | setHardCutoffOnWeight (const double &mytol) |
| Set a hard cutoff on the weight of an element. | |
| bool | storedValueIsActive (const unsigned &iatom) const |
| Is a particular stored value active at the present time. | |
| virtual MultiValue & | transformDerivatives (const unsigned ¤t, MultiValue &myvals, MultiValue &bvals) |
| This is replaced in bridges so we can transform the derivatives. | |
| bool | undirectedGraph () const |
| Can we think of the matrix as an undirected graph. | |
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. | |
Protected Member Functions | |
| void | completeSetup (const unsigned &, const unsigned &) |
| Finish the setup of the storage object by setting how much data has to be stored. | |
| void | error (const std::string &errmsg) |
| Report an error. | |
| ActionWithVessel * | getAction () const |
| Return a pointer to the action we are working in. | |
| std::string | getAllInput () |
| This returns the whole input line (it is used for less_than/more_than/between). | |
| double | getLocalDerivative (const unsigned &ibuf) |
| Get the ibuf'th local derivative value. | |
| double | getNLTolerance () const |
| Return the value of the neighbor list tolerance. | |
| unsigned | getNumberOfDerivativeSpacesPerComponent () const |
| Return value of nspace. | |
| int | getNumericalLabel () const |
| Return the numerical label. | |
| unsigned | getSizeOfBuffer () const |
| Return the size of the buffer. | |
| double | getTolerance () const |
| Return the value of the tolerance. | |
| template<class T> | |
| void | parse (const std::string &key, T &t) |
| Parse something from the input. | |
| void | parseFlag (const std::string &key, bool &t) |
| Parse one keyword as boolean flag. | |
| template<class T> | |
| void | parseVector (const std::string &key, std::vector< T > &t) |
| Parse one keyword as std::vector. | |
| void | resizeBuffer (const unsigned &n) |
| Set the size of the data buffer. | |
| void | setLocalDerivative (const unsigned &ibuf, const double &val) |
| Set the ibuf'th local derivative value. | |
| void | storeDerivatives (const unsigned &, MultiValue &myvals, std::vector< double > &, std::vector< unsigned > &) const |
| This stores the data we get from the calculation. | |
| void | storeValues (const unsigned &, MultiValue &, std::vector< double > &) const |
| Retrieve the values from the underlying ActionWithVessel. | |
| bool | usingLowMem () |
| Are we using low mem option. | |
| bool | weightHasDerivatives () |
| Is the weight differentiable. | |
Protected Attributes | |
| unsigned | bufstart |
| The start of this Vessel's buffer in buffer in the underlying ActionWithVessel. | |
Private Attributes | |
| ActionWithVessel * | action |
| The action that this vessel is created within. | |
| std::vector< unsigned > | active_der |
| The currently active values. | |
| unsigned | bufsize |
| The number of elements in this vessel's buffered data. | |
| bool | finished_read |
| This just checks we have done checkRead. | |
| AdjacencyMatrixBase * | function |
| Pointer to underlying action. | |
| bool | hasderiv |
| Do the quantities being stored in here need derivatives. | |
| bool | hbonds |
| const PLMD::Keywords & | keywords |
| The keywords. | |
| std::vector< std::string > | line |
| Directive line. | |
| std::vector< double > | local_buffer |
| The buffer. | |
| unsigned | max_lowmem_stash |
| What is the maximum number of vectors we are going to have to store when using lowmem option. | |
| std::vector< MultiValue > | my_tmp_vals |
| std::string | mylabel |
| The label for the vessel for referencing. | |
| std::string | myname |
| The keyword for the vessel in the input file. | |
| std::size_t | nspace |
| The amount of data per vector element. | |
| const int | numlab |
| The numerical label for this object. | |
| bool | symmetric |
| Is the matrix symmetric and are we calculating hbonds. | |
| unsigned | tmp_index |
| We create a vector of tempory MultiValues here so as to avoid lots of vector resizing. | |
| std::vector< ActionWithVessel * > | userActions |
| The actions that are going to use the stored data. | |
| std::size_t | vecsize |
| The size of the vector we are computing. | |
Friends | |
| class | ActionWithInputMatrix |
| class | AdjacencyMatrixBase |
|
explicit |
Constructor.
|
inlinevirtualinherited |
Activate indexes (this is used at end of chain rule).
|
inherited |
Add an action that uses this data.
|
inlineoverridevirtualinherited |
Forces on vectors should always be applied elsewhere.
Implements PLMD::vesselbase::Vessel.
Reimplemented in PLMD::mapping::TrigonometricPathVessel.
|
overridevirtualinherited |
This stores the data when not using lowmem.
Implements PLMD::vesselbase::Vessel.
|
inherited |
Check that readin was fine.
|
protectedinherited |
Finish the setup of the storage object by setting how much data has to be stored.
|
inlineoverridevirtualinherited |
Return a description of the vessel contents.
Implements PLMD::vesselbase::Vessel.
Reimplemented in PLMD::mapping::TrigonometricPathVessel.
|
protectedinherited |
Report an error.
|
overridevirtualinherited |
Final step in gathering data.
Implements PLMD::vesselbase::Vessel.
Reimplemented in PLMD::mapping::TrigonometricPathVessel.
|
inlineprotectedinherited |
Return a pointer to the action we are working in.
|
protectedinherited |
This returns the whole input line (it is used for less_than/more_than/between).
| double PLMD::adjmat::AdjacencyMatrixVessel::getCutoffForConnection | ( | ) | const |
Get the cutoff that we are using for connections.
|
inlineinherited |
Get one of the ith data user.
|
inherited |
Return the label.
|
protectedinherited |
Get the ibuf'th local derivative value.
| AdjacencyMatrixBase * PLMD::adjmat::AdjacencyMatrixVessel::getMatrixAction | ( | ) |
Get the underlying adjacency matrix action object.
| void PLMD::adjmat::AdjacencyMatrixVessel::getMatrixIndices | ( | const unsigned & | code, |
| unsigned & | i, | ||
| unsigned & | j ) const |
|
inherited |
Return the name.
|
inlineprotectedinherited |
Return the value of the neighbor list tolerance.
| Vector PLMD::adjmat::AdjacencyMatrixVessel::getNodePosition | ( | const unsigned & | taskIndex | ) | const |
| unsigned PLMD::adjmat::AdjacencyMatrixVessel::getNumberOfColumns | ( | ) | const |
Get the number of columns.
|
inlineinherited |
Return the number of components in the vector.
|
inlineinherited |
Get the number of data users.
|
inherited |
Get the number of derivatives for the ith value.
|
inlineprotectedinherited |
Return value of nspace.
| unsigned PLMD::adjmat::AdjacencyMatrixVessel::getNumberOfRows | ( | ) | const |
Get the number of rows.
|
inlinevirtualinherited |
Get the number of values that have been stored.
|
inlineprotectedinherited |
Return the numerical label.
|
inlineprotectedinherited |
Return the size of the buffer.
|
inlineinherited |
Get the size of the derivative list.
|
inlineinherited |
Get the index to store a particular index inside.
| unsigned PLMD::adjmat::AdjacencyMatrixVessel::getStoreIndexFromMatrixIndices | ( | const unsigned & | ielem, |
| const unsigned & | jelem ) const |
Get the index that a particular element is stored in from the matrix indices.
|
inherited |
Return a tempory multi value - we do this so as to avoid vector resizing.
|
inlineprotectedinherited |
Return the value of the tolerance.
|
inlineinherited |
Get the true index of a quantity from the index it is stored in.
| bool PLMD::adjmat::AdjacencyMatrixVessel::isSymmetric | ( | ) | const |
Is the matrix symmetric.
| bool PLMD::adjmat::AdjacencyMatrixVessel::matrixElementIsActive | ( | const unsigned & | ielem, |
| const unsigned & | jelem ) const |
Is an element of the matrix currently active.
| bool PLMD::adjmat::AdjacencyMatrixVessel::nodesAreConnected | ( | const unsigned & | iatom, |
| const unsigned & | jatom ) const |
Are these two nodes connected.
|
protectedinherited |
Parse something from the input.
|
protectedinherited |
Parse one keyword as boolean flag.
|
protectedinherited |
Parse one keyword as std::vector.
|
inlinevirtualinherited |
Do something before the loop.
Reimplemented in PLMD::mapping::SpathVessel, and PLMD::vesselbase::BridgeVessel.
|
inlineinherited |
Recalculate one of the base quantities.
|
static |
|
overridevirtualinherited |
Do all resizing of data.
Implements PLMD::vesselbase::Vessel.
Reimplemented in PLMD::mapping::TrigonometricPathVessel.
|
inlineprotectedinherited |
Set the size of the data buffer.
|
inherited |
Set the number of tempory multivalues we need.
| void PLMD::adjmat::AdjacencyMatrixVessel::retrieveAdjacencyLists | ( | std::vector< unsigned > & | nneigh, |
| Matrix< unsigned > & | adj_list ) |
Get the neighbour list based on the adjacency matrix.
|
inherited |
Get the derivatives for one of the components in the vector.
| void PLMD::adjmat::AdjacencyMatrixVessel::retrieveEdgeList | ( | unsigned & | nedge, |
| std::vector< std::pair< unsigned, unsigned > > & | edge_list ) |
Retrieve the list of edges in the adjacency matrix/graph.
| void PLMD::adjmat::AdjacencyMatrixVessel::retrieveMatrix | ( | DynamicList< unsigned > & | myactive_elements, |
| Matrix< double > & | mymatrix ) |
Get the adjacency matrix.
|
inherited |
Get the values of all the components in the vector.
|
inherited |
|
inherited |
|
inherited |
Set the active values.
|
inlinevirtualinherited |
Set the start of the buffer.
Reimplemented in PLMD::vesselbase::BridgeVessel.
|
inherited |
Set a hard cutoff on the weight of an element.
|
protectedinherited |
Set the ibuf'th local derivative value.
|
protectedinherited |
This stores the data we get from the calculation.
|
inlineinherited |
Is a particular stored value active at the present time.
|
protectedinherited |
Retrieve the values from the underlying ActionWithVessel.
|
inlinevirtualinherited |
This is replaced in bridges so we can transform the derivatives.
Reimplemented in PLMD::vesselbase::BridgeVessel.
|
staticinherited |
Convert the name to the label of the component.
| bool PLMD::adjmat::AdjacencyMatrixVessel::undirectedGraph | ( | ) | const |
Can we think of the matrix as an undirected graph.
|
inlineprotectedinherited |
Are we using low mem option.
|
inlineprotectedinherited |
Is the weight differentiable.
|
friend |
|
friend |
|
privateinherited |
The action that this vessel is created within.
|
privateinherited |
The currently active values.
The active derivative elements
|
privateinherited |
The number of elements in this vessel's buffered data.
|
protectedinherited |
The start of this Vessel's buffer in buffer in the underlying ActionWithVessel.
|
privateinherited |
This just checks we have done checkRead.
|
private |
Pointer to underlying action.
|
privateinherited |
Do the quantities being stored in here need derivatives.
|
private |
|
privateinherited |
The keywords.
|
privateinherited |
Directive line.
This line is progressively erased during vessel construction so as to check if all the present keywords are correct.
|
privateinherited |
The buffer.
|
privateinherited |
What is the maximum number of vectors we are going to have to store when using lowmem option.
|
privateinherited |
|
privateinherited |
The label for the vessel for referencing.
|
privateinherited |
The keyword for the vessel in the input file.
|
privateinherited |
The amount of data per vector element.
|
privateinherited |
The numerical label for this object.
|
private |
Is the matrix symmetric and are we calculating hbonds.
|
privateinherited |
We create a vector of tempory MultiValues here so as to avoid lots of vector resizing.
|
privateinherited |
The actions that are going to use the stored data.
|
privateinherited |
The size of the vector we are computing.
Hosted by GitHub
|
1.17.0
|