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 osc
source osc/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
deactivate
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.py
implements 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_CHECK
is set toTrue
. -
designer.py
implements thedesignOscillator
algorithm. -
evaluator.py
calculates the metrics for design errors: feasibility design error, amplitude design error, and phase design error.
-
Unit tests are in
tests
-
github actions
are used to provide continuous integration