@@ -782,6 +782,7 @@ function process_DEProblem(constructor, sys::AbstractODESystem, u0map, parammap;
782
782
build_initializeprob = true ,
783
783
initialization_eqs = [],
784
784
fully_determined = false ,
785
+ check_units = true ,
785
786
kwargs... )
786
787
eqs = equations (sys)
787
788
dvs = unknowns (sys)
@@ -820,7 +821,7 @@ function process_DEProblem(constructor, sys::AbstractODESystem, u0map, parammap;
820
821
end
821
822
initializeprob = ModelingToolkit. InitializationProblem (
822
823
sys, t, u0map, parammap; guesses, warn_initialize_determined,
823
- initialization_eqs, eval_expression, eval_module, fully_determined)
824
+ initialization_eqs, eval_expression, eval_module, fully_determined, check_units )
824
825
initializeprobmap = getu (initializeprob, unknowns (sys))
825
826
826
827
zerovars = Dict (setdiff (unknowns (sys), keys (defaults (sys))) .=> 0.0 )
@@ -1430,18 +1431,19 @@ function InitializationProblem{iip, specialize}(sys::AbstractODESystem,
1430
1431
warn_initialize_determined = true ,
1431
1432
initialization_eqs = [],
1432
1433
fully_determined = false ,
1434
+ check_units = true ,
1433
1435
kwargs... ) where {iip, specialize}
1434
1436
if ! iscomplete (sys)
1435
1437
error (" A completed system is required. Call `complete` or `structural_simplify` on the system before creating an `ODEProblem`" )
1436
1438
end
1437
1439
if isempty (u0map) && get_initializesystem (sys) != = nothing
1438
- isys = get_initializesystem (sys; initialization_eqs)
1440
+ isys = get_initializesystem (sys; initialization_eqs, check_units )
1439
1441
elseif isempty (u0map) && get_initializesystem (sys) === nothing
1440
1442
isys = structural_simplify (
1441
- generate_initializesystem (sys; initialization_eqs); fully_determined)
1443
+ generate_initializesystem (sys; initialization_eqs, check_units ); fully_determined)
1442
1444
else
1443
1445
isys = structural_simplify (
1444
- generate_initializesystem (sys; u0map, initialization_eqs); fully_determined)
1446
+ generate_initializesystem (sys; u0map, initialization_eqs, check_units ); fully_determined)
1445
1447
end
1446
1448
1447
1449
uninit = setdiff (unknowns (sys), [unknowns (isys); getfield .(observed (isys), :lhs )])
0 commit comments