Source code for eon.prstatelist


""" The statelist module. """

import logging
logger = logging.getLogger('statelist')

from eon import prstate
from eon import statelist


[docs] class PRStateList(statelist.StateList): """ The StateList class. Serves as an interface to State objects and StateList metadata. """ def __init__(self, initial_state = None): statelist.StateList.__init__(self, prstate.PRState, initial_state)
[docs] def register_process(self, reactant_number, product_number, process_id): # Get the reactant and product state objects. reactant = self.get_state(reactant_number) product = self.get_state(product_number) reactant.load_process_table() product.load_process_table() # Make the reactant process point to the product state number. reactant.procs[process_id]["product"] = product_number reactant.save_process_table() product.set_energy(reactant.procs[process_id]["product_energy"]) # Update the reactant state to point at the new state id. reactant.procs[process_id]['product'] = product_number reactant.save_process_table()