Skip to content

Commit 3329ce5

Browse files
committed
up
1 parent 3ea2dd3 commit 3329ce5

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

src/systems/diffeqs/sdesystem.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ function SDESystem(sys::ODESystem, neqs; kwargs...)
273273
SDESystem(equations(sys), neqs, get_iv(sys), unknowns(sys), parameters(sys); kwargs...)
274274
end
275275

276-
function SDESystem(eqs, noiseeqs, iv; kwargs...)
276+
function SDESystem(eqs::Vector{Equation}, noiseeqs::AbstractArray, iv; kwargs...)
277277
param_deps = get(kwargs, :parameter_dependencies, Equation[])
278278
eqs, dvs, ps = process_equations_DESystem(eqs, param_deps, iv)
279279

@@ -288,6 +288,9 @@ function SDESystem(eqs, noiseeqs, iv; kwargs...)
288288
return SDESystem(eqs, noiseeqs, iv, dvs, [ps; collect(noiseps)]; kwargs...)
289289
end
290290

291+
SDESystem(eq::Equation, noiseeqs::AbstractArray, args...; kwargs...) = SDESystem([eq], noiseeqs, args...; kwargs...)
292+
SDESystem(eq::Equation, noiseeq, args...; kwargs...) = SDESystem([eq], [noiseeq], args...; kwargs...)
293+
291294
function Base.:(==)(sys1::SDESystem, sys2::SDESystem)
292295
sys1 === sys2 && return true
293296
iv1 = get_iv(sys1)

src/utils.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1225,7 +1225,7 @@ function process_equations_DESystem(eqs, param_deps, iv)
12251225
throw(ArgumentError("An ODESystem can only have one independent variable."))
12261226
diffvar in diffvars &&
12271227
throw(ArgumentError("The differential variable $diffvar is not unique in the system of equations."))
1228-
!(symtype(diffvar) === Real || eltype(symtype(diffvar)) === Real) && throw(ArgumentError("Differential variable $var has type $(symtype(diffvar)). Differential variables should not be concretely typed."))
1228+
!(symtype(diffvar) === Real || eltype(symtype(diffvar)) === Real) && throw(ArgumentError("Differential variable $diffvar has type $(symtype(diffvar)). Differential variables should not be concretely typed."))
12291229
push!(diffvars, diffvar)
12301230
end
12311231
push!(diffeq, eq)

test/odesystem.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1548,7 +1548,10 @@ end
15481548
@parameters p d
15491549
@variables X(t)::Int64
15501550
eq = D(X) ~ p - d*X
1551-
@test_throws Exception @mtkbuild osys = ODESystem([eq], t)
1551+
@test_throws ArgumentError @mtkbuild osys = ODESystem([eq], t)
1552+
@variables Y(t)[1:3]::String
1553+
eq = D(Y) ~ [p, p, p]
1554+
@test_throws ArgumentError @mtkbuild osys = ODESystem([eq], t)
15521555
end
15531556

15541557
# Test `isequal`

test/sdesystem.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,9 @@ end
875875
@variables X(t)::Int64
876876
@brownian z
877877
eq2 = D(X) ~ p - d*X + z
878-
@test_throws Exception @mtkbuild ssys = System([eq2], t)
878+
@test_throws ArgumentError @mtkbuild ssys = System([eq2], t)
879+
noiseeq = [1]
880+
@test_throws ArgumentError @named ssys = SDESystem([eq2], [noiseeq], t)
879881
end
880882

881883
@testset "SDEFunctionExpr" begin

0 commit comments

Comments
 (0)