when you define a variables
@variables begin
x(t), [nominal=1e6]
y(t), [nominal=1e-3]
end
will it essentially do the equivalent of setting abstol to a vector of absolute tolerances rather than a scalar, by multiplying the abstol you pass in
sol = solve(prob, u0, (0,100); abstol=1e-6)
by the nominal value? Or is it ignored ? The Documentation mentions it being used for optimal control problems but not for plain old ODEs, just want to clarify
well, it seems like it possibly has no effect?
doing this:
integrator = init(prob, solver)
integrator.opts.abstol
just returns the default abstol of 1e-6. So it would seem that setting nominal is no help for setting tolerances, at least AFAICT.
It does not right now. Right now the ODE solver does not use the information, though it could in the future (but it wouldn’t do so using abstol)
Thanks for confirming Chris. What would you do with the information instead?
I would add multiplications to the variables in the equations to scale it inside of the f. MTK doesn’t do this yet though, but it would decrease the condition number of the Jacobian.