Skip to content

Commit 099d03a

Browse files
Merge pull request #7 from devmotion/fix_dde
Extend WorkPrecisionSet to DDE problems
2 parents 31dbb34 + a79e9d7 commit 099d03a

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

src/benchmark.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,9 @@ function WorkPrecision(prob,alg,abstols,reltols,dts=nothing;
199199
return WorkPrecision(prob,abstols,reltols,errors,times,name,N)
200200
end
201201

202-
function WorkPrecisionSet(prob::AbstractODEProblem,abstols,reltols,setups;numruns=20,
202+
function WorkPrecisionSet(prob::Union{AbstractODEProblem,AbstractDDEProblem,
203+
AbstractDAEProblem},
204+
abstols,reltols,setups;numruns=20,
203205
print_names=false,names=nothing,appxsol=nothing,
204206
error_estimate=:final,
205207
test_dt=nothing,kwargs...)

test/REQUIRE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
DiffEqProblemLibrary
22
OrdinaryDiffEq 1.0.0
3+
DelayDiffEq
34
StochasticDiffEq 0.0.5
45
FiniteElementDiffEq 0.0.5

test/benchmark_tests.jl

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using OrdinaryDiffEq, DiffEqDevTools, DiffEqProblemLibrary, DiffEqBase, Base.Test
1+
using OrdinaryDiffEq, DelayDiffEq, DiffEqDevTools, DiffEqProblemLibrary, DiffEqBase, Base.Test
22

33
## Setup Tests
44

@@ -96,3 +96,15 @@ setups = [Dict(:alg=>DP5())
9696
Dict(:alg=>Vern6())
9797
]
9898
wp = WorkPrecisionSet(prob,abstols,reltols,setups;appxsol=test_sol,save_everystep=false,numruns=20,maxiters=10000)
99+
100+
# DDE problem
101+
prob = prob_dde_1delay
102+
103+
abstols = 1./10.^(7:10)
104+
reltols = 1./10.^(4:7)
105+
sol = solve(prob, MethodOfSteps(Vern9(), max_fixedpoint_iters=1000); reltol=1e-14, abstol=1e-14)
106+
test_sol = TestSolution(sol)
107+
108+
setups = [Dict(:alg => MethodOfSteps(BS3()))
109+
Dict(:alg => MethodOfSteps(Tsit5()))]
110+
wp = WorkPrecisionSet(prob, abstols, reltols, setups; appxsol = test_sol)

0 commit comments

Comments
 (0)