Generated on Tue Dec 16 13:34:50 2008 for ell-3.0.0 by doxygen 1.5.1

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: