Exact Stochastic Simulation of the Oregonator
The Gillespie-Algorithm
Marco Bussolera, Christoph Appel
Nonequilibrium Statistical Physics 21.03.2016
University of Augsburg
1
Introduction
2
Mathematical Basis
3
Stochastic Simulation Algorithm
4
Results for the Oregonator
Introduction
Introduction
Two different approaches to calculate the time behaviour of a spatially homogeneous chemical system.
Deterministic approach: continuous time evolution for reaction-rate equations
→
set of coupled ordinary differential equations
Stochastic approach: discrete time evolution as random-walk governed by a single equation
→
Master-equation (mathematically complicated)
→
Exact Stochastic Simulation Algorithm (SSA) by Gillespie
Mathematical Basis
Description of the system
spatially homogeneous chemical system with fixed Volume V
N chemical species with X
imolecules (i = 1, 2, . . . , N)
M chemical reaction channels R
µwith µ = 1, 2, . . . , M
thermal but no chemical equilibrium
Mathematical Basis
Stochastic formulation of chemical kinetics
Average probability that a combination of reactant molecules of R
µwill react in the infinitesimal time interval (t, t +
dt)= c
µdtProbability that a reaction R
µoccurs in (t, t +
dt)= [number of distinct R
µmolecular combinations]
·c
µdt≡
h
µc
µdt≡
a
µdtMathematical Basis
Reaction Probability Density Function
Probability that, given the state (X
1, . . . , X
N) at time t, the next reaction will occur in the time interval (t + τ, t + τ +
dτ), and will be an R
µreaction
= P (τ, µ)
dτ= P
0(τ )
·a
µdτP
0(τ ) is the probability that no reaction occurs in (t, t + τ )
P
0(τ +
dτ) = P
0(τ )
·"
1
−M
X
ν=1
a
νdτ#
resulting in
P
0(τ ) =
exp −M
X
ν=1
a
ντ
!
≡exp
(−a
0τ )
Stochastic Simulation Algorithm
Stochastic Simulation Algorithm (1)
Randomly generate a pair (τ, µ) according to the probability density function P (τ, µ)
Therefore generate a random pair (r
1, r
2) between 0 and 1 and assign:
τ = 1
a
0·ln
1
r
1
µ−1
X
ν=1
a
ν< r
2a
0 ≤µ
X
ν=1
a
νStochastic Simulation Algorithm
Stochastic Simulation Algorithm (2)
Step 0:
Input of population numbers X
iand reaction constants c
µStep 1:
- Calculate h
1, . . . , h
Mfor current state - Calculate a
1= h
1c
1, . . . , a
M= h
Mc
M- Calculate a
0=
M
P
ν=1
a
νStep 2:
Generate a random pair (r
1, r
2) and calculate (τ, µ)
Step 3:- Increase t by τ
- Update population numbers according to R
µ Return to step 1Stochastic Simulation Algorithm
The Oregonator (1)
Chemical reactions:
X1
+
Y2 −→c1 Y1 Y1+
Y2 −→c2 Z1 X2+
Y1 −→c32Y
1+
Y32Y
1 −→c4 Z2 X3+
Y3 −→c5 Y2Stochastic Simulation Algorithm
The Oregonator (2)
Reaction constants:
c
1X
1= ρ
1s/Y
2sc
2= ρ
2s/ (Y
1sY
2s) c
3X
2= (ρ
1s+ ρ
2s) /Y
1sc
4= 2ρ
1s/Y
1s2
c
5X
3= (ρ
1s+ ρ
2s) /Y
3sWith the parameters:
ρ
1s ≡c
1X
1Y
2sρ
2s ≡c
2Y
1sY
2sResults for the Oregonator
Results: Oscillations, molecule numbers vs. time
0 2500 5000 7500 10000
0 1 2 3 4 5 6
numbersofmolecules
time (s)
Y1 Y2 Y3
0 2500 5000 7500 10000
1 1.5 2 2.5 3
numbersofmolecules
time (s)
Y1 Y2 Y3
Figure:These plots show Y1(t),Y2(t) andY3(t). The initial values are equal to the steady-state values: Y1s =Y1i = 500, Y2s =Y2i = 1000, Y3s =Y3i = 2000, with the reaction rates: ρ1s = 2000 andρ2s = 50000. The simulation was done
× 5
Results for the Oregonator
Results: 3D-plot
0 2.5·103 5·103 7.5·103 1·104
Y2
0 2.5·103
5·103 7.5·103
1·104
0 Y1 2·103 4·103 6·103 8·103 1·104
Y3
Figure:3D plot of the population numbersY1,Y2andY3
Results for the Oregonator
Results: 2D-projections of the trajectory
0 2000 4000 6000 8000 10000
0 2000 4000
numberofY2molecules
0 2000 4000 6000 8000 10000
0 2000 4000
numberofY3molecules
0 2000 4000 6000 8000 10000
0 2000 4000 6000
numberofY3molecules
Results for the Oregonator
Results: 3D-plot for different initial values
0 2.5·103 5·103 7.5·103 1·104
Y1
0 2·103 4·103 6·103 8·103 1·104
Y3
0 2·103
4·103 6·103
8·103 1·104 Y2
• Y1i= 500, Y2i= 1000,Y3i= 2000
• Y1i= 100, Y2i= 500, Y3i= 3000
• Y1i= 1000,Y2i= 1000,Y3i= 1000
• Y1i= 1000,Y2i= 10, Y3i= 10
Figure:3D plot of the number of molecule of the species Y1,Y2andY3for four simulations with different initial values
Results for the Oregonator
Results: Closing the system to X
1-molecules
0 2500 5000 7500 10000
0 2 4 6 8
numbersofmolecules
time (s)
Y1 Y2 Y3 X1
Figure:This plot shows the behaviour of the system when the number of X1
Results for the Oregonator
Results: Closing the system to X
2-molecules
0 2500 5000 7500 10000
0 2 4 6 8
0 25000 50000 75000 100000
numbersofmoleculesY1,Y2,Y3
time (s)
numbersofmoleculesX2
Y1 Y2 Y3 X2
Figure:This plot shows the behaviour of the system when X2is not kept
constant, starting with an initial value ofX2= 105. In this case the amplitude of the oscillation decreases for decreasingX2.
Results for the Oregonator
Results: Varying the reaction rates (1)
0 2500 5000 7500 10000
0 1 2 3 4 5 6
numbersofmolecules
time (s)
Y1 Y2 Y3
0 1000 2000 3000 4000 5000
Y2
0 1000 2000 3000 4000 5000
Y1 0
2·103 4·103 6·103 8·103 1·104
Y3
Figure:Results after changing the reaction rates from ρ1s = 2000 and ρ2s = 50000 toρ1s = 2000 and ρ2s = 20000. The amplitude of the oscillation decreases by decreasingρ2.
Results for the Oregonator
Results: Varying the reaction rates (2)
0 2500 5000 7500 10000
0 1 2 3 4 5 6
numbersofmolecules
time (s)
Y1 Y2 Y3
0 1000 2000 3000 4000 5000
Y2
0 1000 2000 3000 4000 5000
Y1 0
2·103 4·103 6·103 8·103 1·104
Y3
Figure:Results after changing the reaction rates to ρ1s = 4000 andρ2s = 20000.
The amplitude of the oscillation further decreases by increasing ρ1s.
Results for the Oregonator
Results: Varying the reaction rates (3)
0 2500 5000 7500 10000
0 1 2 3 4 5 6
numbersofmolecules
time (s)
Y1 Y2 Y3
0 1000 2000 3000 4000 5000
Y2
0 1000 2000 3000 4000 5000
Y1 0
2·103 4·103 6·103 8·103 1·104
Y3
Figure:Results after changing the reaction rates to ρ1s = 5000 andρ2s = 5000.
By increasingρ1s and decreasingρ2s even further no oscillation occurs anymore and the molecule population numbers only fluctuate around a constant value.
Results for the Oregonator
Results: Varying the number of molecules
0 1·104 2·104 3·104
4 6 8 10 12
numbersofmolecules
time (s)
Y1 Y2 Y3
0 5·103 1·104 1.5·104 2·104 2.5·104
Y2
0 5·103 1·104 1.5·104 2·104 Y1 0
1·104 2·104 3·104 4·104
Y3
Figure:Results after increasing the steady state population levels by a factor of four: Y1s = 2000, Y2s = 4000, Y3s = 8000,with reaction ratesρ1s = 2000 and ρ2s = 50000. This leads to a decrease in the relative size of the stochastic fluctuations in the time-dependent oscillations. The “spreading” of the limit cycle path is not reduced.