Understanding how to use adaptive solver when dt is in the equations

Hi,
I’m trying to solve a system of equations where some of the terms have explicit dependence on dt.
The way round this I am using is passing dt as a parameter:

params = Dict(:dt => dt)
params = NamedTuple(params)

bvp = BVProblem(f!, bc!, init, (0,1), params)
sol = solve(bvp, MIRK4(), dt=dt, adaptive=false)

How can I make use of adaptive solvers here? I don’t entirely understand the behind-the-scenes of this so may have an error of understanding! Is it possible at all?

If you have terms that depend on dt, you don’t have an ODE (and the results you are getting with fixed timestepping are likely incorrect as well since higher order solvers do complicated things)

1 Like

Yes. This seems like an X-Y problem. Let’s take a step back. What are you trying to solve for? Not an equation with dt in it, but how did you get to that in the first place? Is it a delay term?