You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
403 B
Julia

module AdaptStep
using LinearAlgebra
using TypedPolynomials
export adapt_step
# Adaptive step size
function adapt_step(H, x, t, step, m)
Δ = norm([h(variables(H(t))=>x) for h in H(t-step)])
if Δ > 1e-8
step = 0.5 * step
m = 0
else
m+=1
if (m == 5) && (step < 0.05)
step = 2 * step
m = 0
end
end
return (m, step)
end
end