You are here

Model entry

Modelling chemical reactions: CO2 + H2O → Sugar and O2 - Model catalogue -

Search Simulistics Model catalogue Listed by keyword Listed by ID Listed by title Listed by date added

Modelling chemical reactions: CO2 + H2O → Sugar and O2

Model : chemical1
Simile version : 3.1+
Date added : 2003-06-20
Keywords : Chemical reactions ; Basic System Dynamics ;


On the face of it, System Dynamics should be a good notation for modelling chemical reactions: chemical reactions are continuous processes involving amounts of substances, and System Dynamics is suitable for modelling continuous processes involvinga mounts of substances.

However, the box-and-arrow notation of System Dynamics has a different meaning than a box-and-arrow notation for chemical reactions. In the former, two compartments connected by a flow should be expressed in the same units (e.g. kilograms of carbon). In the latter, the diagram shows the combination/conversion of substances.

One way of handling this is to have a separate compartment for each substance (element or compound), with each compartment having a flow in from the source/sink and a flow out to the source/sink. The flows involved in a particular reaction are then all controlled by a single rate variable, with each flow being expresesed in terms of the appropriate number of atoms or molecules that participate in the reaction.

This example illustrates the approach, for the case of carbon dioxide and water giving sugar and oxygen (6CO2+6H2OC6H 12O6 + 6O2)


Model file

Click on the icon to download the model file. (You will need Simile to examine and run the model. A free evaluation version is available from the products page.)

Some browsers may attempt to display the model file, rather than open it in Simile; in this case, use the browser back button to return to this page, and use the context menu (invoked by right-clicking on the link) to save the target file to disk.




   CO2:     initial value = 100
   H2O:     initial value = 100
   C6H12O6: initial value = 0
   O2:      initial value = 0

   CO2_used    = 6*rate
   H2O_used    = 6*rate
   sugar_made  = rate
   O2_made     = 6*rate
   from_atmos  = 0

   rate        = 0.01*CO2*2*(temperature/10)