jht5225/Briggs-Rauscher-DENSE-Model
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
The Briggs-Rauscher reaction is an oscillating reaction that has an overall reaction that takes iodate ions, malonic acid, and hydrogen peroxide and turns them into iodomalonic acid, oxygen gas, and water. This reaction can be broken down into two main sub-reactions, the first of which creates hypoiodous acid and the second consumes the hypoiodous acid to create the iodomalonic acid. This first reaction can be broken down further into a radical and non-radical function, and it is these that provide the oscillating color effect. When radical process is being used, there is a low concentration of iodide ions, and when the non-radical process is being used, there is a high concentration of iodide ions. For further reference, see https://www.youtube.com/watch?v=SCoLMfplVWs. These iodide ions are what causes the color to oscillate between nearly black/blue, and a clear liquid. So to model this color change, we only needed to worry about the amount of iodide ions and hypoiodous acid present in the system. In our specie_list.hpp file, we have HIO (hypoiodous acid), and I (iodide ions). In our reaction_list.hpp file, we have four main reactions: radical, non-radical, and two decay functions. These two decay functions are needed because we are needing to synthesize an initial concentration of the HIO and I, so we needed a function to counteract the growth of both concentrations and provide for more noticable oscillations. The constants in our reaction_deltas.hpp file were chosen to simulate the actual reaction equations. The model_impl.hpp file contains the functions used to determine a reactions current reaction rate. The hio_decay function is set to scale up the amount of HIO decay when there is a higher concentration of HIO, and visa-versa. The i_decay function is set up to do the same for the concentration of I in the system. The radical reaction is set at a constant rate, while the non-radical reaction is set to scale up with the concentrations of both I and HIO. This will make the non-radical reaction the dominant reaction when there is a higher concentration of I and HIO, and the non-radical reaction to dominant when there is not. Note: this simulation was first run without the aid of a parameter search method, so the parameters in param_sets.csv were chosen by hand. We ran our simulation with the following command and flag parameters: $ ./simulation -p ./param_sets.csv -c 100 -w 100 -t 10 -u 1.0 -s 0.1 -e "output.csv" The simulation results can be seen in output.csv, which is a file created in the model directory. Note that as the concentration of HIO increases, the concentration of I decreases (and visa-versa). Even though this is a rough model for the color changes during the Briggs-Rauscher reaction, it can be successfully implemented using the DENSE simulation framework.