ell::LT_Funnels Class Reference
#include <LT_Funnels.hh>
Detailed Description
An instance of this class represents the funnel partitioning of an energy landscape. It follows the definitions by (Klemm et al., 2008) and is based on the minimal escape route of minima.A funnel partitioning is a labeled directed graph where nodes are minima. Each edge (m1->m2) within the graph represents a saddle S where (m2 < m1) and S is the lowest known direct saddle between the two minima. Thus the saddle is expected to represent the lowest escape route out of minima m1. By that the landscape might contain several independent funnels and thus might be a not fully connected graph. Each node has AT MOST one outgoing edge.
Each connected component in the graph is named a 'funnel' or 'folding funnel' which is governed by the lowest minimum in the funnel. This node has no outgoing edges.
Definition at line 23 of file LT_Funnels.hh.
Public Member Functions | |
virtual const size_t | addMin (const State *const m) |
virtual bool | addSaddle (const State *const m_i, const State *const m_j, const State *const s) |
virtual bool | addSaddle (const size_t i, const size_t j, const State *const s) |
virtual void | clear () |
virtual double | getDistance (const LandscapeTopology *const lt) const |
virtual const State *const | getMFEState () const |
virtual const State *const | getMin (size_t i) const |
virtual const size_t | getMinCount () const |
virtual const size_t | getMinIndex (const State *const m) const |
virtual bool | isSorted () const |
LT_Funnels () | |
virtual std::pair< int, std::string > | read (std::istream &in, const State *const templateState) |
virtual void | sort () |
virtual void | write (std::ostream &out, const bool writeGraph=false) const |
virtual | ~LT_Funnels () |
Data Structures | |
class | Node |
Constructor & Destructor Documentation
ell::LT_Funnels::LT_Funnels | ( | ) |
Definition at line 6 of file LT_Funnels.cc.
ell::LT_Funnels::~LT_Funnels | ( | ) | [virtual] |
Definition at line 10 of file LT_Funnels.cc.
Member Function Documentation
const size_t ell::LT_Funnels::addMin | ( | const State *const | m | ) | [virtual] |
Adds an UNKNOWN minimum to the topology. NOTE : this operation should NOT change the indices of already existing minima in the topology ! FURTHER : the minimum is not checked if it is already known
- Parameters:
-
m the minimum to add
- Returns:
- the index of the minimum in the landscape
bool ell::LT_Funnels::addSaddle | ( | const State *const | m_i, | |
const State *const | m_j, | |||
const State *const | s | |||
) | [virtual] |
Sets the saddle if (a) no saddle exists or (b) the old saddle is higher than the new one. NOTE: only a DIRECTED edge is checked from the higher to the lower minimum according to the State::less operator.
- Parameters:
-
m_i the first minimum to connect m_j the second minimum to connect s the State representating the saddle point
- Returns:
- whether or not the data structure has been changed
bool ell::LT_Funnels::addSaddle | ( | const size_t | i, | |
const size_t | j, | |||
const State *const | s | |||
) | [virtual] |
Sets the saddle if (a) no saddle exists or (b) the old saddle is higher than the new one. NOTE: only a DIRECTED edge is checked from the higher to the lower minimum according to the State::less operator.
- Parameters:
-
i index of the first minimum to connect j index of the second minimum to connect s the State representating the saddle point
- Returns:
- whether or not the data structure has been changed
void ell::LT_Funnels::clear | ( | ) | [virtual] |
Clears the data structure and removes all stored information to be filled again afterwards.
double ell::LT_Funnels::getDistance | ( | const LandscapeTopology *const | lt | ) | const [virtual] |
Calculates the relative 'distance' between landscape topologies. On the LandscapeTopology level it is done on the minima only. For each minimum m present in only one of the two LTs a value of MISSING_MINIMUM_PENALTY*(e^(-energy(m)/BOLTZMANN_KT)) is summed. The resulting sum is normalized by the number of (unique) minima in both topologies.
- Parameters:
-
lt the landscape topology to calculate the distance to
- Returns:
- the distance
const State *const ell::LT_Funnels::getMFEState | ( | ) | const [virtual] |
Access to the global minimum of the landscape with minimal energy.
- Returns:
- the minimum with smallest energy (and smallest string representation for tiebreaking)
const State *const ell::LT_Funnels::getMin | ( | size_t | i | ) | const [virtual] |
Access to a minimum.
- Parameters:
-
i index of the minimum to access
- Returns:
- the State with the specified minimum index
const size_t ell::LT_Funnels::getMinCount | ( | ) | const [virtual] |
Access to the number of stored minima.
- Returns:
- the number of minima
const size_t ell::LT_Funnels::getMinIndex | ( | const State *const | m | ) | const [virtual] |
Access to the minimum index.
- Parameters:
-
m the minimum of that the index should be accessed
- Returns:
- the index of the minimum, or INVALID_INDEX if 'm' is no known minimum
bool ell::LT_Funnels::isSorted | ( | ) | const [virtual] |
Check if the minima of the landscape are sorted ascendingly by their energy (mfe minimum gets index 0). If energy is equal they are sorted by their string representation.
std::pair< int, std::string > ell::LT_Funnels::read | ( | std::istream & | in, | |
const State *const | templateState | |||
) | [virtual] |
Fills the landscape topology from stream.
- Parameters:
-
in the input stream to read from. templateState the State template to create new State objects via its 'fromString' function
- Returns:
- an error encoding and an error string : 0 = no error occured, read was successfull -1 = landscape topology type not supported -2 = state description differs from the given one -3 = other read errors
void ell::LT_Funnels::sort | ( | ) | [virtual] |
Sorts the minima ascending by their energy (mfe minimum gets index 0). If energy is equal they are sorted by their string representation.
void ell::LT_Funnels::write | ( | std::ostream & | out, | |
const bool | writeGraph = false | |||
) | const [virtual] |
Writes the current landscape topology to stream.
- Parameters:
-
out the output stream to write to. writeGraph whether or not the output should contain a graph representation of the topology in graphviz DOT format
The documentation for this class was generated from the following files:
- src/ell/LT_Funnels.hh
- src/ell/LT_Funnels.cc