Skip to content

Commit 4f3685b

Browse files
new jac/Wfact interface
1 parent 684c456 commit 4f3685b

File tree

1 file changed

+6
-13
lines changed

1 file changed

+6
-13
lines changed

src/ode/ode_simple_nonlinear_prob.jl

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ prob_ode_fitzhughnagumo = ODEProblem(fitz,[1.0;1.0],(0.0,1.0),(0.7,0.8,1/12.5,0.
5151
eqs = [D(x) ~ μ*((1-x^2)*y - x),
5252
D(y) ~ y]
5353
de = ODESystem(eqs)
54-
jac = calculate_jacobian(de)
55-
ModelingToolkit.calculate_factorized_W(de)
56-
van = ODEFunction(de, [x,y], [μ])
54+
van = ODEFunction(de, [x,y], [μ], jac=true, Wfact=true)
5755

5856
"""
5957
Van der Pol Equations
@@ -94,9 +92,7 @@ eqs = [D(y₁) ~ -k₁*y₁+k₃*y₂*y₃,
9492
D(y₂) ~ k₁*y₁-k₂*y₂^2-k₃*y₂*y₃,
9593
D(y₃) ~ k₂*y₂^2]
9694
de = ODESystem(eqs)
97-
jac = calculate_jacobian(de)
98-
ModelingToolkit.calculate_factorized_W(de)
99-
rober = ODEFunction(de, [y₁,y₂,y₃], [k₁,k₂,k₃])
95+
rober = ODEFunction(de, [y₁,y₂,y₃], [k₁,k₂,k₃], jac=true, Wfact=true)
10096

10197
"""
10298
The Robertson biochemical reactions: (Stiff)
@@ -162,9 +158,7 @@ eqs = [D(y₁) ~ I₁*y₂*y₃,
162158
D(y₂) ~ I₂*y₁*y₃,
163159
D(y₃) ~ I₃*y₁*y₂]
164160
de = ODESystem(eqs)
165-
jac = calculate_jacobian(de)
166-
ModelingToolkit.calculate_factorized_W(de)
167-
rigid = ODEFunction(de, [y₁,y₂,y₃], [I₁,I₂,I₃])
161+
rigid = ODEFunction(de, [y₁,y₂,y₃], [I₁,I₂,I₃], jac=true, Wfact=true)
168162

169163
"""
170164
Rigid Body Equations (Non-stiff)
@@ -291,10 +285,9 @@ eqs = [D(y1) ~ -p1*y1 + p2*y2 + p3*y3 + p4,
291285
D(y7) ~ p10*y6*y8 - p12*y7,
292286
D(y8) ~ -p10*y6*y8 + p12*y7]
293287
de = ODESystem(eqs)
294-
jac = calculate_jacobian(de)
295-
ModelingToolkit.calculate_factorized_W(de)
296288
hires = ODEFunction(de, [y1,y2,y3,y4,y5,y6,y7,y8],
297-
[p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12])
289+
[p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12],
290+
jac=true, Wfact=true)
298291

299292
u0 = zeros(8)
300293
u0[1] = 1
@@ -338,7 +331,7 @@ eqs = [D(y1) ~ p1*(y2+y1*(1-p2*y1-y2)),
338331
de = ODESystem(eqs)
339332
jac = calculate_jacobian(de)
340333
ModelingToolkit.calculate_factorized_W(de)
341-
orego = ODEFunction(de, [y1,y2,y3], [p1,p2,p3])
334+
orego = ODEFunction(de, [y1,y2,y3], [p1,p2,p3], jac=true, Wfact=true)
342335

343336
"""
344337
[Orego Problem](http://nbviewer.jupyter.org/github/JuliaDiffEq/DiffEqBenchmarks.jl/blob/master/StiffODE/Orego.ipynb) (Stiff)

0 commit comments

Comments
 (0)