Skip to content

Commit 151ca66

Browse files
fix docstrings for v0.7
1 parent 2211dd3 commit 151ca66

File tree

3 files changed

+93
-75
lines changed

3 files changed

+93
-75
lines changed

src/ode/brusselator_prob.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function init_brusselator_2d(xyd)
5050
end
5151
xyd_brusselator = linspace(0,1,32)
5252

53-
"""
53+
doc"""
5454
2D Brusselator
5555
5656
```math
@@ -128,7 +128,7 @@ function init_brusselator_1d(N)
128128
u
129129
end
130130

131-
"""
131+
doc"""
132132
1D Brusselator
133133
134134
```math

src/ode/pollution_prob.jl

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,3 @@
1-
"""
2-
[Pollution Problem](http://nbviewer.jupyter.org/github/JuliaDiffEq/DiffEqBenchmarks.jl/blob/master/StiffODE/Pollution.ipynb) (Stiff)
3-
4-
This IVP is a stiff system of 20 non-linear Ordinary Differential Equations. It is in the form of ``\\frac{dy}{dt}=f(y), \\quad y(0)=y0,`` with
5-
6-
```math
7-
y \\in ℝ^20, \\quad 0 ≤ t ≤ 60
8-
```
9-
10-
where ``f`` is defined by
11-
12-
```math
13-
f(y) = \\begin{pmatrix}
14-
-\\sum_{j∈\{1,10,14,23,24\}} r_j + \\sum_{j∈\{2,3,9,11,12,22,25\}} r_j \\\\
15-
-r_2 - r_3 - r_9 - r_12 + r_1 + r_{21} \\\\
16-
-r_{15} + r_1 + r_{17} + r_{19} + r_{22} \\\\
17-
-r_2 - r_{16} - r_{17} - r_{23} + r_{15} \\\\
18-
-r_3 + 2r_4 + r_6 + r_7 + r_{13} + r_{20} \\\\
19-
-r_6 - r_8 - r_{14} - r_{20} + r_3 + 2r_{18} \\\\
20-
-r_4 - r_5 - r_6 + r_{13} \\\\
21-
r_4 + r_5 + r_6 + r_7 \\\\
22-
-r_7 - r_8 \\\\
23-
-r_{12} + r_7 + r_9 \\\\
24-
-r_9 - r_{10} + r_8 + r_{11} \\\\
25-
r_9 \\\\
26-
-r_{11} + r_{10} \\\\
27-
-r_{13} + r_{12} \\\\
28-
r_{14} \\\\
29-
-r_{18} - r_{19} + r_{16} \\\\
30-
-r_{20} \\\\
31-
r_{20} \\\\
32-
-r{21} - r_{22} - r_{24} + r_{23} + r_{25} \\\\
33-
-r_{25} + r_{24}
34-
\\end{pmatrix}
35-
```
36-
37-
with the initial condition of
38-
39-
```math
40-
y0 = (0, 0.2, 0, 0.04, 0, 0, 0.1, 0.3, 0.01, 0, 0, 0, 0 ,0, 0, 0, 0.007, 0, 0, 0)^T
41-
```
42-
43-
https://archimede.dm.uniba.it/~testset/report/pollu.pdf
44-
"""
451
const k1=.35e0
462
const k2=.266e2
473
const k3=.123e5
@@ -231,4 +187,49 @@ u0[7] = 0.1
231187
u0[8] = 0.3
232188
u0[9] = 0.01
233189
u0[17] = 0.007
190+
191+
doc"""
192+
[Pollution Problem](http://nbviewer.jupyter.org/github/JuliaDiffEq/DiffEqBenchmarks.jl/blob/master/StiffODE/Pollution.ipynb) (Stiff)
193+
194+
This IVP is a stiff system of 20 non-linear Ordinary Differential Equations. It is in the form of ``\\frac{dy}{dt}=f(y), \\quad y(0)=y0,`` with
195+
196+
```math
197+
y \\in ℝ^20, \\quad 0 ≤ t ≤ 60
198+
```
199+
200+
where ``f`` is defined by
201+
202+
```math
203+
f(y) = \\begin{pmatrix}
204+
-\\sum_{j∈\{1,10,14,23,24\}} r_j + \\sum_{j∈\{2,3,9,11,12,22,25\}} r_j \\\\
205+
-r_2 - r_3 - r_9 - r_12 + r_1 + r_{21} \\\\
206+
-r_{15} + r_1 + r_{17} + r_{19} + r_{22} \\\\
207+
-r_2 - r_{16} - r_{17} - r_{23} + r_{15} \\\\
208+
-r_3 + 2r_4 + r_6 + r_7 + r_{13} + r_{20} \\\\
209+
-r_6 - r_8 - r_{14} - r_{20} + r_3 + 2r_{18} \\\\
210+
-r_4 - r_5 - r_6 + r_{13} \\\\
211+
r_4 + r_5 + r_6 + r_7 \\\\
212+
-r_7 - r_8 \\\\
213+
-r_{12} + r_7 + r_9 \\\\
214+
-r_9 - r_{10} + r_8 + r_{11} \\\\
215+
r_9 \\\\
216+
-r_{11} + r_{10} \\\\
217+
-r_{13} + r_{12} \\\\
218+
r_{14} \\\\
219+
-r_{18} - r_{19} + r_{16} \\\\
220+
-r_{20} \\\\
221+
r_{20} \\\\
222+
-r{21} - r_{22} - r_{24} + r_{23} + r_{25} \\\\
223+
-r_{25} + r_{24}
224+
\\end{pmatrix}
225+
```
226+
227+
with the initial condition of
228+
229+
```math
230+
y0 = (0, 0.2, 0, 0.04, 0, 0, 0.1, 0.3, 0.01, 0, 0, 0, 0 ,0, 0, 0, 0.007, 0, 0, 0)^T
231+
```
232+
233+
https://archimede.dm.uniba.it/~testset/report/pollu.pdf
234+
"""
234235
prob_ode_pollution = ODEProblem(pollution,u0,(0.0,60.0))

src/sde_premade_problems.jl

Lines changed: 46 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
f = (u,p,t) -> 1.01u
44
σ = (u,p,t) -> 0.87u
55
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = u0.*exp.(0.63155t+0.87W)
6-
"""
6+
7+
doc"""
78
```math
89
du_t = βudt + αudW_t
910
```
@@ -32,7 +33,7 @@ end
3233
end
3334
end
3435
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = u0.*exp.(0.63155*t+0.87*W)
35-
"""
36+
doc"""
3637
8 linear SDEs (as a 4x2 matrix):
3738
3839
```math
@@ -62,7 +63,7 @@ prob_sde_2Dlinear_stratonovich = SDEProblem(f,σ,ones(4,2)/2,(0.0,1.0))
6263
f = (u,p,t) -> -.25*u*(1-u^2)
6364
σ = (u,p,t) -> .5*(1-u^2)
6465
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = ((1+u0).*exp.(W)+u0-1)./((1+u0).*exp.(W)+1-u0)
65-
"""
66+
doc"""
6667
```math
6768
du_t = \\frac{1}{4}u(1-u^2)dt + \\frac{1}{2}(1-u^2)dW_t
6869
```
@@ -78,7 +79,7 @@ prob_sde_cubic = SDEProblem(f,σ,1/2,(0.0,1.0))
7879
f = (u,p,t) -> -0.01*sin.(u).*cos.(u).^3
7980
σ = (u,p,t) -> 0.1*cos.(u).^2
8081
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = atan.(0.1*W + tan.(u0))
81-
"""
82+
doc"""
8283
```math
8384
du_t = -\\frac{1}{100}\sin(u)\cos^3(u)dt + \\frac{1}{10}\cos^{2}(u_t) dW_t
8485
```
@@ -96,7 +97,7 @@ f = (u,p,t) -> p[2]./sqrt.(1+t) - u./(2*(1+t))
9697
p = (0.1,0.05)
9798
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = u0./sqrt.(1+t) + p[2]*(t+p[1]*W)./sqrt.(1+t)
9899

99-
"""
100+
doc"""
100101
Additive noise problem
101102
102103
```math
@@ -126,7 +127,7 @@ end
126127
end
127128
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = u0./sqrt(1+t) + sde_wave_βvec.*(t+sde_wave_αvec.*W)./sqrt(1+t)
128129

129-
"""
130+
doc"""
130131
A multiple dimension extension of `additiveSDEExample`
131132
132133
"""
@@ -143,7 +144,7 @@ end σ ρ β
143144
du[i] = 3.0 #Additive
144145
end
145146
end
146-
"""
147+
doc"""
147148
Lorenz Attractor with additive noise
148149
149150
```math
@@ -162,7 +163,7 @@ prob_sde_lorenz = SDEProblem(f,σ,ones(3),(0.0,10.0),(10.0,28.0,2.66))
162163
f = (u,p,t) -> (1/3)*u^(1/3) + 6*u^(2/3)
163164
σ = (u,p,t) -> u^(2/3)
164165
(ff::typeof(f))(::Type{Val{:analytic}},u0,p,t,W) = (2t + 1 + W/3)^3
165-
"""
166+
doc"""
166167
Runge–Kutta methods for numerical solution of stochastic differential equations
167168
Tocino and Ardanuy
168169
"""
@@ -316,8 +317,26 @@ function oval2ModelExample(;largeFluctuations=false,useBigs=false,noiseLevel=1)
316317
SDEProblem(f,σ,u0,(0.0,500.0))
317318
end
318319

320+
stiff_quad_f_ito(u,p,t) = -(p[1]+(p[2]^2)*u)*(1-u^2)
321+
stiff_quad_f_strat(u,p,t) = -p[1]*(1-u^2)
322+
stiff_quad_g(u,p,t) = p[2]*(1-u^2)
319323

320-
"""
324+
function stiff_quad_f_ito(::Type{Val{:analytic}},u0,p,t,W)
325+
α = p[1]
326+
β = p[2]
327+
exp_tmp = exp(-2*α*t+2*β*W)
328+
tmp = 1 + u0
329+
(tmp*exp_tmp + u0 - 1)/(tmp*exp_tmp - u0 + 1)
330+
end
331+
function stiff_quad_f_strat(::Type{Val{:analytic}},u0,p,t,W)
332+
α = p[1]
333+
β = p[2]
334+
exp_tmp = exp(-2*α*t+2*β*W)
335+
tmp = 1 + u0
336+
(tmp*exp_tmp + u0 - 1)/(tmp*exp_tmp - u0 + 1)
337+
end
338+
339+
doc"""
321340
The composite Euler method for stiff stochastic
322341
differential equations
323342
@@ -334,31 +353,28 @@ Stiffness of Euler is determined by α+β²<1
334353
Higher α or β is stiff, with α being deterministic stiffness and
335354
β being noise stiffness (and grows by square).
336355
"""
337-
function generate_stiff_quad(α,β;ito=true)
338-
if ito
339-
f = function (u,p,t)
340-
-+^2)*u)*(1-u^2)
341-
end
342-
else
343-
f = function (u,p,t)
344-
-α*(1-u^2)
345-
end
346-
end
356+
prob_sde_stiffquadito = SDEProblem(stiff_quad_f_ito,stiff_quad_g,0.5,(0.0,3.0),(1.0,1.0))
347357

348-
function g(u,p,t)
349-
β*(1-u^2)
350-
end
358+
doc"""
359+
The composite Euler method for stiff stochastic
360+
differential equations
351361
352-
function (::typeof(f))(::Type{Val{:analytic}},u0,p,t,W)
353-
exp_tmp = exp(-2*α*t+2*β*W)
354-
tmp = 1 + u0
355-
(tmp*exp_tmp + u0 - 1)/(tmp*exp_tmp - u0 + 1)
356-
end
362+
Kevin Burrage, Tianhai Tian
357363
358-
SDEProblem(f,g,0.5,(0.0,3.0))
359-
end
364+
And
365+
366+
S-ROCK: CHEBYSHEV METHODS FOR STIFF STOCHASTIC
367+
DIFFERENTIAL EQUATIONS
360368
369+
ASSYR ABDULLE AND STEPHANE CIRILLI
370+
371+
Stiffness of Euler is determined by α+β²<1
372+
Higher α or β is stiff, with α being deterministic stiffness and
373+
β being noise stiffness (and grows by square).
361374
"""
375+
prob_sde_stiffquadstrat = SDEProblem(stiff_quad_f_strat,stiff_quad_g,0.5,(0.0,3.0),(1.0,1.0))
376+
377+
doc"""
362378
Stochastic Heat Equation with scalar multiplicative noise
363379
364380
S-ROCK: CHEBYSHEV METHODS FOR STIFF STOCHASTIC
@@ -432,6 +448,7 @@ network = @reaction_network rnType begin
432448
p10, SP2 --> 0
433449
end p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
434450
p = (0.01,3.0,3.0,4.5,2.,15.,20.0,0.005,0.01,0.05)
451+
435452
"""
436453
An oscillatory chemical reaction system
437454
"""

0 commit comments

Comments
 (0)