Skip to content

Commit c0bf9f8

Browse files
committed
Force dtmin and cap maxiters on oval2 qmax sweep
Stops the hard trajectories grinding near dtmin, so the sweep completes with 0 fails instead of stalling.
1 parent b597138 commit c0bf9f8

1 file changed

Lines changed: 2 additions & 3 deletions

File tree

benchmarks/AdaptiveSDE/qmaxDetermination.jmd

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ println("Setup Complete")
3939

4040
## Timing Runs
4141

42-
# Multithreaded ensemble over the Oval2 model; each trajectory gets its own seed
43-
# so the runs are independent and reproducible across qmax values.
4442
oval2_ensemble = EnsembleProblem(prob, prob_func = (p, ctx) -> remake(p, seed = ctx.sim_id))
4543

4644
#Compile
@@ -58,7 +56,8 @@ for k in eachindex(qs)
5856
Random.seed!(99)
5957
adaptiveTime = @elapsed sol = solve(oval2_ensemble, SOSRI(), EnsembleThreads();
6058
dt = 1/2^(8), abstol = 2.0^(-15), reltol = 2.0^(-10), verbose = SciMLLogging.None(),
61-
maxiters = Int(1e12), controller = PIController(SOSRI(); qmax = qs[k], gamma = 0.7),
59+
maxiters = Int(1e6), force_dtmin = true,
60+
controller = PIController(SOSRI(); qmax = qs[k], gamma = 0.7),
6261
trajectories = num_runs)
6362
numFails = sum(Int(any(isnan, sol.u[i]) || sol.u[i].t[end] != 1) for i in 1:num_runs)
6463
println("k was $k. The number of Adaptive Fails is $numFails. Elapsed time was $adaptiveTime")

0 commit comments

Comments
 (0)