@@ -139,7 +139,11 @@ struct SDESystem <: AbstractODESystem
139139 """
140140 gui_metadata:: Union{Nothing, GUIMetadata}
141141 """
142- If a model `sys` is complete, then `sys.x` no longer performs namespacing.
142+ If false, then `sys.x` no longer performs namespacing.
143+ """
144+ namespacing:: Bool
145+ """
146+ If true, denotes the model will not be modified any further.
143147 """
144148 complete:: Bool
145149 """
@@ -166,7 +170,7 @@ struct SDESystem <: AbstractODESystem
166170 guesses, initializesystem, initialization_eqs, connector_type,
167171 cevents, devents, parameter_dependencies, assertions = Dict{
168172 BasicSymbolic, Nothing},
169- metadata = nothing , gui_metadata = nothing ,
173+ metadata = nothing , gui_metadata = nothing , namespacing = true ,
170174 complete = false , index_cache = nothing , parent = nothing , is_scalar_noise = false ,
171175 is_dde = false ,
172176 isscheduled = false ;
@@ -184,6 +188,7 @@ struct SDESystem <: AbstractODESystem
184188 if is_scalar_noise && neqs isa AbstractMatrix
185189 throw (ArgumentError (" Noise equations ill-formed. Received a matrix of noise equations of size $(size (neqs)) , but `is_scalar_noise` was set to `true`. Scalar noise is only compatible with an `AbstractVector` of noise equations." ))
186190 end
191+ check_subsystems (systems)
187192 end
188193 if checks == true || (checks & CheckUnits) > 0
189194 u = __get_unit_type (dvs, ps, iv)
@@ -192,8 +197,8 @@ struct SDESystem <: AbstractODESystem
192197 new (tag, deqs, neqs, iv, dvs, ps, tspan, var_to_name, ctrls, observed, tgrad, jac,
193198 ctrl_jac, Wfact, Wfact_t, name, description, systems,
194199 defaults, guesses, initializesystem, initialization_eqs, connector_type, cevents,
195- devents, parameter_dependencies, assertions, metadata, gui_metadata, complete ,
196- index_cache, parent, is_scalar_noise, is_dde, isscheduled)
200+ devents, parameter_dependencies, assertions, metadata, gui_metadata, namespacing ,
201+ complete, index_cache, parent, is_scalar_noise, is_dde, isscheduled)
197202 end
198203end
199204
@@ -218,7 +223,6 @@ function SDESystem(deqs::AbstractVector{<:Equation}, neqs::AbstractArray, iv, dv
218223 assertions = Dict {BasicSymbolic, String} (),
219224 metadata = nothing ,
220225 gui_metadata = nothing ,
221- complete = false ,
222226 index_cache = nothing ,
223227 parent = nothing ,
224228 is_scalar_noise = false ,
@@ -274,7 +278,7 @@ function SDESystem(deqs::AbstractVector{<:Equation}, neqs::AbstractArray, iv, dv
274278 ctrl_jac, Wfact, Wfact_t, name, description, systems, defaults, guesses,
275279 initializesystem, initialization_eqs, connector_type,
276280 cont_callbacks, disc_callbacks, parameter_dependencies, assertions, metadata, gui_metadata,
277- complete , index_cache, parent, is_scalar_noise, is_dde; checks = checks)
281+ true , false , index_cache, parent, is_scalar_noise, is_dde; checks = checks)
278282end
279283
280284function SDESystem (sys:: ODESystem , neqs; kwargs... )
@@ -321,9 +325,8 @@ function SDESystem(eqs::Vector{Equation}, noiseeqs::AbstractArray, iv; kwargs...
321325 throw (ArgumentError (" Variable $dv in noise equations is not an unknown of the system." ))
322326 end
323327 algevars = setdiff (allunknowns, diffvars)
324-
325328 return SDESystem (eqs, noiseeqs, iv, Iterators. flatten ((diffvars, algevars)),
326- [ps ; collect (noiseps)]; kwargs... )
329+ [collect (ps) ; collect (noiseps)]; kwargs... )
327330end
328331
329332function SDESystem (eq:: Equation , noiseeqs:: AbstractArray , args... ; kwargs... )
0 commit comments