pele.rates._ngt_cpp#

Module source

# distutils: language = C++ # cython: language_level=3str

class pele.rates._ngt_cpp.BaseNGT

Source

cdef class BaseNGT(object):

class to apply the graph reduction method for finding transition rates between two groups of nodes

Parameters:
rate_constantsdict

a dictionary of rates. the keys are tuples of nodes (u,v), the values are the rate constants from u to v.

A, Biterables

Groups of nodes specifying the reactant and product groups. The rates returned will be the rate from A to B and vice versa.

weightsdict

Dictionary with nodes as keys and weights as values. The weights are the equilibrium occupation probabilities of the nodes in A and B. They are used to do the weighted mean for the final average over inverse mean first passage times.

Notes

This follows the new graph transformation procedure (NGT) described by David Wales, J. Chem. Phys., 2009 http://dx.doi.org/10.1063/1.3133782

The rate, k_AB computed by this calculation (returned by self.get_final_rates) is the inverse mean first passage time averaged over the states in A

BaseNGT.compute_rates()

Source

def compute_rates(self):

compute the rates from A->B and B->A

BaseNGT.compute_rates_and_committors()

Source

def compute_rates_and_committors(self):

compute the rates from A->B and B->A and the committors for all the intermediates

This is much slower than compute_rates. Only use this function if you want the committors

BaseNGT.get_rate_AB()

Source

def get_rate_AB(self):

return the rate from A->B

BaseNGT.get_rate_BA()

Source

def get_rate_BA(self):

return the rate from B->A

BaseNGT.get_rate_AB_SS()

Source

def get_rate_AB_SS(self):

return the steady state rate from A->B

BaseNGT.get_rate_BA_SS()

Source

def get_rate_BA_SS(self):

return the steady state rate from B->A

BaseNGT.get_committors()

Source

def get_committors(self):

return a dictionary of the committor probabilities