@@ -339,17 +339,23 @@ let
339
339
340
340
# Checks for both ODE and SDE problems.
341
341
for (XProblem, solver) in zip ([ODEProblem, SDEProblem], [Tsit5 (), ImplicitEM ()])
342
- # Create the problems which we wish to check. .
342
+ # Create the problem which we wish to check.
343
343
u0 = [X1 => 1.0 , X2 => 2.0 , Y1 => 3.0 , Y2 => 4.0 , W => 6.0 ]
344
344
ps = [k1 => 0.1 , k2 => 0.2 , V0 => 3.0 ]
345
345
prob1 = XProblem (rs, u0, 0.001 , ps; remove_conserved = true )
346
+ Γ = prob1. f. sys. Γ
347
+
348
+ # Creates various `remake` version of the problem.
346
349
prob2 = remake (prob1, u0 = [X1 => 10.0 ])
347
350
prob3 = remake (prob2, u0 = [X2 => 20.0 ])
348
351
prob4 = remake (prob1, u0 = [X2 => 20.0 , Y1 => 30.0 ])
349
352
prob5 = remake (prob1, u0 = [X1 => 10.0 , X2 => 20.0 ])
350
353
prob6 = remake (prob1, u0 = [Y2 => 40.0 ], p = [k1 => 0.4 ])
351
354
prob7 = remake (prob1, u0 = [X1 => 10.0 , X2 => 20.0 ], p = [V0 => 50.0 ])
352
355
prob8 = remake (prob1, u0 = [W => 60.0 ])
356
+ prob9 = remake (prob2; p = [Γ => [10.0 , 20.0 ]])
357
+ prob10 = remake (prob1; u0 = [Y1 => 20.0 ], p = [Γ => [20.0 , 30.0 ], k1 => 0.4 ])
358
+ prob11 = remake (prob10, u0 = [X1 => 10.0 ], p = [k2 => 0.5 ])
353
359
354
360
# Creates a testing function.
355
361
function test_vals (prob, us_correct:: Dict , ps_correct:: Dict )
393
399
test_vals (prob8,
394
400
Dict (X1 => 1.0 , X2 => 2.0 , Y1 => 3.0 , Y2 => 4.0 , V => 3.0 , W => 60.0 ),
395
401
Dict (k1 => 0.1 , k2 => 0.2 , V0 => 3.0 , v => 3.0 , w => 60.0 , Γ[1 ] => 3.0 , Γ[2 ] => 7.0 ))
402
+ test_vals (prob8,
403
+ Dict (X1 => 1.0 , X2 => 2.0 , Y1 => 3.0 , Y2 => 4.0 , V => 3.0 , W => 60.0 ),
404
+ Dict (k1 => 0.1 , k2 => 0.2 , V0 => 3.0 , v => 3.0 , w => 60.0 , Γ[1 ] => 3.0 , Γ[2 ] => 7.0 ))
405
+ test_vals (prob9,
406
+ Dict (X1 => 10.0 , X2 => 0.0 , Y1 => 3.0 , Y2 => 17.0 , V => 3.0 , W => 6.0 ),
407
+ Dict (k1 => 0.1 , k2 => 0.2 , V0 => 3.0 , v => 3.0 , w => 6.0 , Γ[1 ] => 10.0 , Γ[2 ] => 20.0 ))
408
+ test_vals (prob10,
409
+ Dict (X1 => 1.0 , X2 => 19.0 , Y1 => 20.0 , Y2 => 10.0 , V => 3.0 , W => 6.0 ),
410
+ Dict (k1 => 0.4 , k2 => 0.2 , V0 => 3.0 , v => 3.0 , w => 6.0 , Γ[1 ] => 20.0 , Γ[2 ] => 30.0 ))
411
+ test_vals (prob11,
412
+ Dict (X1 => 10.0 , X2 => 10.0 , Y1 => 20.0 , Y2 => 10.0 , V => 3.0 , W => 6.0 ),
413
+ Dict (k1 => 0.4 , k2 => 0.5 , V0 => 3.0 , v => 3.0 , w => 6.0 , Γ[1 ] => 20.0 , Γ[2 ] => 30.0 ))
396
414
end
397
415
end
398
416
0 commit comments