@@ -565,33 +565,32 @@ let
565
565
eqs = [D (x[1 ]) ~ x[2 ]
566
566
D (x[2 ]) ~ - x[1 ] - 0.5 * x[2 ] + k
567
567
y ~ 0.9 * x[1 ] + x[2 ]]
568
- @named sys = System (eqs, t, vcat (x, [y]), [k], defaults = Dict (x .=> 0 ) )
568
+ @named sys = System (eqs, t, vcat (x, [y]), [k])
569
569
sys = mtkcompile (sys)
570
570
571
571
u0 = x .=> [0.5 , 0 ]
572
572
du0 = D .(x) .=> 0.0
573
- prob = DAEProblem (sys, [ du0; u0] , (0 , 50 ))
574
- @test prob[x] ≈ [0.5 , 0 .0 ]
573
+ prob = DAEProblem (sys, du0, (0 , 50 ); guesses = u0 )
574
+ @test prob[x] ≈ [0.5 , 1 .0 ]
575
575
@test prob. du0 ≈ [0.0 , 0.0 ]
576
576
@test prob. p isa MTKParameters
577
577
@test prob. ps[k] ≈ 1
578
578
sol = solve (prob, IDA ())
579
579
@test sol[y] ≈ 0.9 * sol[x[1 ]] + sol[x[2 ]]
580
580
@test isapprox (sol[x[1 ]][end ], 1 , atol = 1e-3 )
581
581
582
- prob = DAEProblem (sys, [D (y) => 0 , D (x[1 ]) => 0 , D (x[2 ]) => 0 , x[1 ] => 0.5 ],
583
- (0 , 50 ))
582
+ prob = DAEProblem (sys, [D (y) => 0 , D (x[1 ]) => 0 , D (x[2 ]) => 0 ], (0 , 50 ); guesses = u0)
584
583
585
- @test prob[x] ≈ [0.5 , 0 ]
584
+ @test prob[x] ≈ [0.5 , 1 ]
586
585
@test prob. du0 ≈ [0 , 0 ]
587
586
@test prob. p isa MTKParameters
588
587
@test prob. ps[k] ≈ 1
589
588
sol = solve (prob, IDA ())
590
589
@test isapprox (sol[x[1 ]][end ], 1 , atol = 1e-3 )
591
590
592
- prob = DAEProblem (sys, [D (y) => 0 , D (x[1 ]) => 0 , D (x[2 ]) => 0 , x[ 1 ] => 0.5 , k => 2 ],
593
- (0 , 50 ))
594
- @test prob[x] ≈ [0.5 , 0 ]
591
+ prob = DAEProblem (sys, [D (y) => 0 , D (x[1 ]) => 0 , D (x[2 ]) => 0 , k => 2 ],
592
+ (0 , 50 ); guesses = u0 )
593
+ @test prob[x] ≈ [0.5 , 3 ]
595
594
@test prob. du0 ≈ [0 , 0 ]
596
595
@test prob. p isa MTKParameters
597
596
@test prob. ps[k] ≈ 2
600
599
601
600
# no initial conditions for D(x[1]) and D(x[2]) provided
602
601
@test_throws ModelingToolkit. MissingVariablesError prob= DAEProblem (
603
- sys, Pair[], (0 , 50 ))
602
+ sys, Pair[], (0 , 50 ); guesses = u0 )
604
603
605
604
prob = ODEProblem (sys, Pair[x[1 ] => 0 ], (0 , 50 ))
606
605
sol = solve (prob, Rosenbrock23 ())
0 commit comments