|
46 | 46 | sys₂.μ => (log(2) / 600), sys₃.α₀ => 5e-4, sys₃.α => 0.5, sys₃.K => 40.0, |
47 | 47 | sys₃.n => 2, sys₃.δ => (log(2) / 120), sys₃.β => (20 * log(2) / 120), |
48 | 48 | sys₃.μ => (log(2) / 600)] |
49 | | - u₀ = [sys₁.m => 0.0, sys₁.P => 20.0, sys₁.R => 0.0, sys₂.m => 0.0, sys₂.P => 0.0, |
50 | | - sys₂.R => 0.0, sys₃.m => 0.0, sys₃.P => 0.0, sys₃.R => 0.0] |
| 49 | + u₀ = [sys₁.m => 0.0, sys₁.P => 20.0, sys₂.m => 0.0, sys₂.P => 0.0, |
| 50 | + sys₃.m => 0.0, sys₃.P => 0.0] |
51 | 51 | tspan = (0.0, 100000.0) |
52 | 52 | oprob = ODEProblem(oderepressilator, u₀, tspan, pvals) |
53 | 53 | sol = solve(oprob, Tsit5()) |
|
94 | 94 | @test all(isapprox.(sol(tvs, idxs = sys₁.P), sol2(tvs, idxs = 4), atol = 1e-4)) |
95 | 95 |
|
96 | 96 | # Test conversion to nonlinear system. |
| 97 | + u₀_nl = [sys₁.m => 0.0, sys₁.P => 20.0, sys₁.R => 0.0, sys₂.m => 0.0, sys₂.P => 0.0, |
| 98 | + sys₂.R => 0.0, sys₃.m => 0.0, sys₃.P => 0.0, sys₃.R => 0.0] |
97 | 99 | @named nsys = NonlinearSystem(connections, [], []) |
98 | 100 | @named ssrepressilator = ReactionSystem(t; systems = [nsys, sys₁, sys₂, sys₃]) |
99 | 101 | ssrepressilator = complete(ssrepressilator) |
100 | 102 | @named nlrepressilator = convert(NonlinearSystem, ssrepressilator, include_zero_odes = false) |
101 | 103 | sys2 = structural_simplify(nlrepressilator) |
102 | 104 | @test length(equations(sys2)) <= 6 |
103 | | - nlprob = NonlinearProblem(sys2, u₀, pvals) |
| 105 | + nlprob = NonlinearProblem(sys2, u₀_nl, pvals) |
104 | 106 | sol = solve(nlprob, NLSolveJL(), abstol = 1e-9) |
105 | 107 | @test sol[sys₁.P] ≈ sol[sys₂.P] ≈ sol[sys₃.P] |
106 | 108 | @test sol[sys₁.m] ≈ sol[sys₂.m] atol=1e-7 |
|
113 | 115 | @named nlrepressilator = convert(NonlinearSystem, fsys, include_zero_odes = false) |
114 | 116 | sys2 = structural_simplify(nlrepressilator) |
115 | 117 | @test length(equations(sys2)) <= 6 |
116 | | - nlprob = NonlinearProblem(sys2, u₀, pvals) |
| 118 | + nlprob = NonlinearProblem(sys2, u₀_nl, pvals) |
117 | 119 | sol = solve(nlprob, NLSolveJL(), abstol = 1e-9) |
118 | 120 | @test sol[sys₁.P] ≈ sol[sys₂.P] ≈ sol[sys₃.P] |
119 | 121 | @test sol[sys₁.m] ≈ sol[sys₂.m] atol=1e-7 |
|
131 | 133 | @named nlrepressilator = convert(NonlinearSystem, repressilator2, include_zero_odes = false) |
132 | 134 | sys2 = structural_simplify(nlrepressilator) |
133 | 135 | @test length(equations(sys2)) <= 6 |
134 | | - nlprob = NonlinearProblem(sys2, u₀, pvals) |
| 136 | + nlprob = NonlinearProblem(sys2, u₀_nl, pvals) |
135 | 137 | sol = solve(nlprob, NLSolveJL(), abstol = 1e-9) |
136 | 138 | @test sol[sys₁.P] ≈ sol[sys₂.P] ≈ sol[sys₃.P] |
137 | 139 | @test sol[sys₁.m] ≈ sol[sys₂.m] atol=1e-7 |
|
252 | 254 | @named nlrepressilator = convert(NonlinearSystem, repressilator2, include_zero_odes = false) |
253 | 255 | sys2 = structural_simplify(nlrepressilator) |
254 | 256 | @test length(equations(sys2)) <= 6 |
255 | | - nlprob = NonlinearProblem(sys2, u₀, pvals) |
| 257 | + nlprob = NonlinearProblem(sys2, u₀_nl, pvals) |
256 | 258 | sol = solve(nlprob, NLSolveJL(), abstol = 1e-9) |
257 | 259 | @test sol[sys₁.P] ≈ sol[sys₂.P] ≈ sol[sys₃.P] |
258 | 260 | @test sol[sys₁.m] ≈ sol[sys₂.m] atol=1e-7 |
|
0 commit comments