Modules: Reactor
Module Purpose
The SimSoup Reactor module determines which Interaction Types can
occur, and the rates at which they occur. It adds and removes
Molecules of the various types according to the rates at which they
are produced and consumed. As such, the Reactor module produces the
dynamic behaviour that results from the rules of chemistry defined
by the Chemical Network and Molecular Structure modules.
Class Diagrams
The diagrams below shows the classes that form the Reactor
module. The first diagram shows the data relationships between
classes (there are no inheritance relationships). The second diagram
shows the dependencies between classes.
Data View
The class diagram below shows the SimSoup Reactor Subsystem Data and
data relationships

Dependency View
The diagram below shows the dependencies between classes in the
Reactor module, and with classes in other modules.

Class Descriptions
The classes that are included in the Chemistry module, and their
definitions, are as follows:-
- Molecule
- A Molecule that exists in the Reactor. Molecules can be
consumed or produced by interactions taking place in the Reactor
according to the rules of the Interaction Types defined in the
Chemical Network sub-system.
- Reactor
- Identifies, the following items that are present in the
simulation at each timestep:
- Realised Molecule Types whose Molecule Types have
ever been realised
- Realised Molecule Types whose Molecule Types
are currently realised
- Realisable Interaction Types
- Realised Interaction Types
The Reactor object provides a point of integration for other
objects in the Reactor, and also provides a number of module
level operations. The Reactor is a singleton object; only one
can exist in SimSoup at any time.
- 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.
- Realised Interaction Type
- Identifier for an Interaction Type has occurred Reactor.
- 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, it remains present
even if all of the Molecules of the Molecule Type have been
removed.
Explanation of Class Relationships
The records, records data for and is recorded
by relationships between Indexed Series and Realised Molecule
Type, Reactor and Realised Interaction Type support the time series
recording of Reactor module information using Indexed Series
objects.
The has occurred in relationship between Realised Molecule
Type and Reactor indicates that at least one Molecule of the
particular type has previously existed or currently
exists in the Reactor
The is currently actualised relationship between Realised
Molecule Type and Reactor indicates that at least one Molecule of
the particular type currently exists in the Reactor
The has occurred in relationship between
Realised Interaction Type and Reactor indicates that at least one
Interaction of the type has occurred during the current simulation
run.
The can occur in relationship between Realisable
Interaction Type and Reactor indicates that there are sufficient
reactant Molecules of the appropriate types in the Reactor to enable
at least one interaction of the type to take place.
The Realised Molecule Type is type of realised Molecule
relationship is self explanatory.
Similarly, the Realised Molecule Type is reactant for
Realisable Interaction Type is self explanatory.
In the two indicates current or previous realisation of
relationships, the Realised Molecule Type and Realised Interaction
Type identify the corresponding objects in the Chemical Network that
have been realised.
The Molecule is an instance of relationship is self explanatory.
The Realisable Interaction Type indicates currently
realisable Interaction Type relatioship is self explanatory.