@@ -782,6 +782,7 @@ function process_DEProblem(constructor, sys::AbstractODESystem, u0map, parammap;
782782 build_initializeprob = true ,
783783 initialization_eqs = [],
784784 fully_determined = false ,
785+ check_units = true ,
785786 kwargs... )
786787 eqs = equations (sys)
787788 dvs = unknowns (sys)
@@ -820,7 +821,7 @@ function process_DEProblem(constructor, sys::AbstractODESystem, u0map, parammap;
820821 end
821822 initializeprob = ModelingToolkit. InitializationProblem (
822823 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 )
824825 initializeprobmap = getu (initializeprob, unknowns (sys))
825826
826827 zerovars = Dict (setdiff (unknowns (sys), keys (defaults (sys))) .=> 0.0 )
@@ -1430,18 +1431,19 @@ function InitializationProblem{iip, specialize}(sys::AbstractODESystem,
14301431 warn_initialize_determined = true ,
14311432 initialization_eqs = [],
14321433 fully_determined = false ,
1434+ check_units = true ,
14331435 kwargs... ) where {iip, specialize}
14341436 if ! iscomplete (sys)
14351437 error (" A completed system is required. Call `complete` or `structural_simplify` on the system before creating an `ODEProblem`" )
14361438 end
14371439 if isempty (u0map) && get_initializesystem (sys) != = nothing
1438- isys = get_initializesystem (sys; initialization_eqs)
1440+ isys = get_initializesystem (sys; initialization_eqs, check_units )
14391441 elseif isempty (u0map) && get_initializesystem (sys) === nothing
14401442 isys = structural_simplify (
1441- generate_initializesystem (sys; initialization_eqs); fully_determined)
1443+ generate_initializesystem (sys; initialization_eqs, check_units ); fully_determined)
14421444 else
14431445 isys = structural_simplify (
1444- generate_initializesystem (sys; u0map, initialization_eqs); fully_determined)
1446+ generate_initializesystem (sys; u0map, initialization_eqs, check_units ); fully_determined)
14451447 end
14461448
14471449 uninit = setdiff (unknowns (sys), [unknowns (isys); getfield .(observed (isys), :lhs )])
0 commit comments