SimSoup: Design

Reactor Sub-system

The SimSoup Reactor sub-system determines which Interaction_Types can occur, and the rates at which they occur. It adds and removes Molecules of the various Molecule_Types according to the rates at which they are produced and consumed. As such, the SimSoup Reactor sub-system produces the dynamic behaviour that results from the rules of chemistry defined by the Chemistry Subsystem.

Class Diagram

The class diagram below shows the classes that form the SimSoup Reactor Subsystem


Class Descriptions

The classes that are included in the Chemistry sub-system, and their definitions, are as follows:-

Reactor: Identifies the Realised_Molecule_Types and Realisable_Interaction_Types that are present in the simulation at each timestep.

Realised_Molecule_Type: Identifier for a Molecule_Type that is (or has been) realised as a Molecule in the Reactor. Once a particular Realised_Molecule_Type has existed in the Reactor sub-system, it remains present even if all of the Molecules of the Molecule_Type have been removed.

Molecule: A Molecule is an item that can exist in the Reactor sub-system. Molecules can be consumed or produced by interactions taking place in the Reactor according to the rules of the Interaction_Types defined in the Chemistry sub-system.

Realisable_Interaction_Type: Identifier for an Interaction_Type that is currently realisable in the Reactor. An Interaction_Type is realisable if its reactant Molecule_Types are present in the Reactor in sufficient numbers for at least one interaction to take place.