SciML / OrdinaryDiffEq.jl

High performance ordinary differential equation (ODE) and differential-algebraic equation (DAE) solvers, including neural ordinary differential equations (neural ODEs) and scientific machine learning (SciML)
https://diffeq.sciml.ai/latest/
Other
535 stars 203 forks source link

Too many options that control saving behavior #515

Open MSeeker1340 opened 5 years ago

MSeeker1340 commented 5 years ago

The output control options in http://docs.juliadiffeq.org/latest/basics/common_solver_opts.html are all individual fields within DEOptions. Furthermore there's the force_save parameter in savevalues! and save_positions for callbacks. Adding to that the precedence of the options are not well documented and sometimes hidden.

I think it's best we tidy up and consolidate all saving related options into a SaveOption. We can still keep the simple kwargs style in solve but internally interface SaveOption for better organization.

ChrisRackauckas commented 5 years ago

Note that moving options is breaking to existing code. We'll need to deprecate any moved opts via getproperty overloading.