From a3f3ae62709018094679bcf1161787f3cd2b9416 Mon Sep 17 00:00:00 2001
From: Dhruva Gowda Storz <dhruvastorz@gmail.com>
Date: Sat, 20 Jan 2018 10:35:11 +0530
Subject: [PATCH] Improved Bistables and Oscillators section on solvers using
 harshas write up in cookbook

---
 docs/source/user/py/tutorials/ChemicalBistables.rst | 13 +++++++++++--
 .../user/py/tutorials/ChemicalOscillators.rst       | 10 ++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/docs/source/user/py/tutorials/ChemicalBistables.rst b/docs/source/user/py/tutorials/ChemicalBistables.rst
index 6ac360cb..b4a449ab 100644
--- a/docs/source/user/py/tutorials/ChemicalBistables.rst
+++ b/docs/source/user/py/tutorials/ChemicalBistables.rst
@@ -21,9 +21,18 @@ In chemical bistable models that use solvers, there are optional arguments that
 
     python filename.py [gsl | gssa | ee]
 
-Where ``gsl`` is Gnu Scientific Library's deterministic solver, ``gssa`` stands for Gillespie stochastic simulation algorithm, and ``ee`` is the exponential euler algorithm.
+Where:
 
-All the following examples can be run with either of the three solvers, which in some cases produces a different outcome. However, simply running the file without the optional argument will by default use the ``gsl`` solver. These ``gsl`` outputs are the ones shown below. 
+ - gsl: This is the Runge-Kutta-Fehlberg implementation from the GNU Scientific Library (GSL). It is a fifth order variable timestep explicit method. Works well for most reaction systems except if they have very stiff reactions.
+ - gssl: Optimized Gillespie stochastic systems algorithm, custom implementation. This uses variable timesteps internally. Note that it slows down with increasing numbers of molecules in each pool. It also slows down, but not so badly, if the number of reactions goes up.
+ - Exponential Euler:This methods computes the solution of partial and ordinary differential equations.
+
+All the following examples can be run with either of the three solvers, each of which has different advantages and disadvantages and each of which might produce a slightly different outcome. 
+
+Simply running the file without the optional argument will by default use the ``gsl`` solver. These ``gsl`` outputs are the ones shown below. 
+
+|
+|
 
 Simple Bistables
 ================
diff --git a/docs/source/user/py/tutorials/ChemicalOscillators.rst b/docs/source/user/py/tutorials/ChemicalOscillators.rst
index c356ab6a..2fb8c5ab 100644
--- a/docs/source/user/py/tutorials/ChemicalOscillators.rst
+++ b/docs/source/user/py/tutorials/ChemicalOscillators.rst
@@ -23,9 +23,15 @@ In chemical models that use solvers, there are optional arguments that allow you
 
     python filename.py [gsl | gssa | ee]
 
-Where ``gsl`` is Gnu Scientific Library's deterministic solver, ``gssa`` stands for Gillespie stochastic simulation algorithm, and ``ee`` is the exponential euler algorithm.
+Where:
 
-All the following examples can be run with either of the three solvers, which in some cases produces a different outcome. However, simply running the file without the optional argument will by default use the ``gsl`` solver. These ``gsl`` outputs are the ones shown below. 
+ - gsl: This is the Runge-Kutta-Fehlberg implementation from the GNU Scientific Library (GSL). It is a fifth order variable timestep explicit method. Works well for most reaction systems except if they have very stiff reactions.
+ - gssl: Optimized Gillespie stochastic systems algorithm, custom implementation. This uses variable timesteps internally. Note that it slows down with increasing numbers of molecules in each pool. It also slows down, but not so badly, if the number of reactions goes up.
+ - Exponential Euler:This methods computes the solution of partial and ordinary differential equations.
+
+All the following examples can be run with either of the three solvers, each of which has different advantages and disadvantages and each of which might produce a slightly different outcome. 
+
+Simply running the file without the optional argument will by default use the ``gsl`` solver. These ``gsl`` outputs are the ones shown below. 
 
 |
 |
-- 
GitLab