This repository contains all codes used in the paper "An Oscillating Reaction Network with an exact closed form solution in the time domain". The plots for the paper can be generated using the scriptscripts/mk_plots. The underlying data for these plots can be generated using scripts/mk_data. See "Using the repository" for the setup to run these scripts.
The following instructions work for MACOS and LINUX. Windows requires a slight variation on these instructions as described here.
The packages used are in requirements.txt. To create a virtual environment osc with the required packages, navigate to the top level folder of the repository (which should be Oscillations unless you have changed it) and do the following:
python3 -m venv oscsource osc/bin/activatepip install --upgrade pippip install -r requirements.txtdeactivate
To run codes, navigate the top level folder and:
source osc/bin/activate- run a python script
deactivate
The following modules are in src/Oscillations.
-
solver.pyimplements a symbolic solution to the system of differential equations. The step of the solution that calculates the particular solution is computationally intensive and so it is only performed if the flagIS_CHECKis set toTrue. -
designer.pyimplements thedesignOscillatoralgorithm. -
evaluator.pycalculates the metrics for design errors: feasibility design error, amplitude design error, and phase design error.
-
Unit tests are in
tests -
github actionsare used to provide continuous integration