@@ -10,7 +10,7 @@ using Test
10
10
eqs = [D (y₁) ~ - k₁ * y₁ + k₃ * y₂ * y₃,
11
11
D (y₂) ~ k₁ * y₁ - k₂ * y₂^ 2 - k₃ * y₂ * y₃,
12
12
D (y₃) ~ k₂ * y₂^ 2 ]
13
- @mtkbuild rober = ODESystem (eqs, t)
13
+ @mtkcompile rober = ODESystem (eqs, t)
14
14
prob = ODEProblem (rober, [[y₁, y₂, y₃] .=> [1.0 ; 0.0 ; 0.0 ]; [k₁, k₂, k₃] .=> (0.04 , 3e7 , 1e4 )], (0.0 , 1e5 ), jac = true )
15
15
prob2 = ODEProblem (rober, [[y₁, y₂, y₃] .=> [1.0 ; 0.0 ; 0.0 ]; [k₁, k₂, k₃] .=> (0.04 , 3e7 , 1e4 )], (0.0 , 1e5 ), jac = true , nlstep = true )
16
16
@@ -29,7 +29,7 @@ sol1 = solve(prob, TRBDF2(autodiff=AutoFiniteDiff(), nlsolve = nlalg));
29
29
sol2 = solve (prob2, TRBDF2 (autodiff= AutoFiniteDiff (), nlsolve = nlalg));
30
30
31
31
@test sol1. t != sol2. t
32
- @test sol1 != sol2
32
+ @test sol1. u != sol2. u
33
33
@test sol1 (sol1. t) ≈ sol2 (sol1. t) atol= 1e-3
34
34
35
35
testprob = ODEProblem (rober, [[y₁, y₂, y₃] .=> [1.0 ; 0.0 ; 0.0 ]; [k₁, k₂, k₃] .=> (0.04 , 3e7 , 1e4 )], (0.0 , 1.0 ), nlstep = true )
@@ -60,15 +60,15 @@ sim = analyticless_test_convergence(dts, testprob, FBDF(autodiff=AutoFiniteDiff(
60
60
eqs_nonaut = [D (y₁) ~ - k₁ * y₁ + (t+ 1 ) * k₃ * y₂ * y₃,
61
61
D (y₂) ~ k₁ * y₁ - (t+ 1 ) * k₂ * y₂^ 2 - (t+ 1 ) * k₃ * y₂ * y₃,
62
62
D (y₃) ~ (t+ 1 ) * k₂ * y₂^ 2 ]
63
- @mtkbuild rober_nonaut = ODESystem (eqs_nonaut, t)
63
+ @mtkcompile rober_nonaut = ODESystem (eqs_nonaut, t)
64
64
prob = ODEProblem (rober_nonaut, [[y₁, y₂, y₃] .=> [1.0 ; 0.0 ; 0.0 ]; [k₁, k₂, k₃] .=> (0.04 , 3e7 , 1e4 )], (0.0 , 1e5 ), jac = true )
65
65
prob2 = ODEProblem (rober_nonaut, [[y₁, y₂, y₃] .=> [1.0 ; 0.0 ; 0.0 ]; [k₁, k₂, k₃] .=> (0.04 , 3e7 , 1e4 )], (0.0 , 1e5 ), jac = true , nlstep = true )
66
66
67
67
sol1 = solve (prob, FBDF (autodiff= AutoFiniteDiff (), nlsolve = nlalg));
68
68
sol2 = solve (prob2, FBDF (autodiff= AutoFiniteDiff (), nlsolve = nlalg));
69
69
70
70
@test sol1. t != sol2. t
71
- @test sol1 != sol2
71
+ @test sol1. u != sol2. u
72
72
@test sol1 (sol1. t) ≈ sol2 (sol1. t) atol= 1e-3
73
73
74
74
sol1 = solve (prob, TRBDF2 (autodiff= AutoFiniteDiff (), nlsolve = nlalg));
0 commit comments