Skip to content

Commit 634ddc6

Browse files
committed
shorthand ode->sde
1 parent 2e3e7f2 commit 634ddc6

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/systems/diffeqs/sdesystem.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ function SDESystem(deqs::AbstractVector{<:Equation}, neqs, iv, dvs, ps;
132132
SDESystem(deqs, neqs, iv′, dvs′, ps′, var_to_name, ctrl′, observed, tgrad, jac, ctrl_jac, Wfact, Wfact_t, name, systems, defaults, connection_type)
133133
end
134134

135+
SDESystem(sys::ODESystem, neqs; kwargs...) = SDESystem(equations(sys), neqs, independent_variable(sys), states(sys), parameters(sys); kwargs...)
136+
135137
function generate_diffusion_function(sys::SDESystem, dvs = states(sys), ps = parameters(sys); kwargs...)
136138
return build_function(get_noiseeqs(sys),
137139
map(x->time_varying_as_func(value(x), sys), dvs),

test/sdesystem.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,4 +442,8 @@ fdif!(du,u0,p,t)
442442
sys1 = SDESystem(eqs_short, noiseeqs, t, [x, y, z], [σ, ρ, β], name = :sys1)
443443
sys2 = SDESystem(eqs_short, noiseeqs, t, [x, y, z], [σ, ρ, β], name = :sys1)
444444
@test_throws ArgumentError SDESystem([sys2.y ~ sys1.z], t, [], [], [], systems = [sys1, sys2])
445-
end
445+
end
446+
447+
# ODESystem -> SDESystem shorthand constructor
448+
sys = ODESystem(eqs,t,[x,y,z],[σ,ρ,β])
449+
@test SDESystem(sys, noiseeqs) isa SDESystem

0 commit comments

Comments
 (0)