I’ve been using the examples in the documentation to play around with the SDE solvers in DifferentialEquations.jl and have run into trouble trying to run ensemble simulations with vector-valued SDEs (the scalar case worked fine for me). I tried the Lorenz example in ensemble mode:
using DifferentialEquations
function lorenz(du,u,p,t)
du[1] = 10.0(u[2]-u[1])
du[2] = u[1]*(28.0-u[3]) - u[2]
du[3] = u[1]*u[2] - (8/3)*u[3]
endfunction σ_lorenz(du,u,p,t)
du[1] = 3.0
du[2] = 3.0
du[3] = 3.0
endprob_sde_lorenz = SDEProblem(lorenz,σ_lorenz,[1.0,0.0,0.0],(0.0,1.0))
sol = solve(prob_sde_lorenz)ensembleprob = EnsembleProblem(prob_sde_lorenz)
sol = solve(ensembleprob,EnsembleThreads(),trajectories=10)
and got the error
**ERROR:** LoadError: MethodError: no method matching __solve(::EnsembleProblem{SDEProblem{Array{Float64,1},Tuple{Float64,Float64},true,SciMLBase.NullParameters,Nothing,SDEFunction{true,typeof(lorenz),typeof(σ_lorenz),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},typeof(σ_lorenz),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},Nothing},typeof(SciMLBase.DEFAULT_PROB_FUNC),typeof(SciMLBase.DEFAULT_OUTPUT_FUNC),typeof(SciMLBase.DEFAULT_REDUCTION),Nothing}, ::EnsembleThreads; trajectories=10)
I’m pretty sure this used to work in the past. Am I missing something obvious?
Best,
Colm