Trapezoid is a symmetric (almost symplectic) integrator with adaptive timestepping. ImplicitMidpoint is a symmetric and symplectic integrator. Other choices to consider in this regime are CVODE_BDF and lsoda. However, this method can handle less stiffness than other methods and its Newton iterations may fail at low accuracy situations. QNDF and FBDF will also do surprisingly well if the solution is smooth. When the equation is defined via the macro, these will be the most efficient.įor faster solving at low tolerances ( 1000?) where f is very costly and the complex eigenvalues are minimal (low oscillations), in that case QNDF or FBDF will be the most efficient. As native DifferentialEquations.jl solvers, many Julia numeric types (such as BigFloats, ArbFloats, or DecFP) will work. QNDF or FBDF can be the most efficient the largest systems or most expensive f.Īt medium tolerances ( >1e-8?) it is recommended you use Rodas5, Rodas4P (the former is more efficient but the later is more reliable), Kvaerno5, or KenCarp4. Rosenbrock23 is more efficient for small systems where re-evaluating and re-factorizing the Jacobian is not too costly, and for sufficiently large systems TRBDF2 will be more efficient. These are robust to oscillations and massive stiffness, though are only efficient when low accuracy is needed. Stiff Problemsįor stiff problems at high tolerances ( >1e-2?) it is recommended that you use Rosenbrock23 or TRBDF2. For medium accuracy calculations, RK4 is a good choice. Defect controls use an error measurement on the interpolating polynomial to make the error estimate better capture the error over the full interval. If strict error bounds are needed, then adaptive methods with defect controls are required. For high accuracy but with the range of Float64 ( ~1e-8-1e-12), we recommend Vern6, Vern7, or Vern8 as efficient choices.įor high accuracy non-stiff solving ( BigFloat and tolerances like 1,000 ODEs?), the function calculation is very expensive, or the solution is very smooth. For fast solving at higher tolerances, we recommend BS3 (or OwrenZen3 if the interpolation error is important). If at moderate tolerances and the interpolation error is very important, consider the OwrenZen5 method. When more robust error control is required, BS5 is a good choice. For most non-stiff problems, we recommend Tsit5. Non-Stiff Problemsįor non-stiff problems, the native OrdinaryDiffEq.jl algorithms are vastly more efficient than the other choices. For very large systems ( >1000 ODEs?), consider using lsoda. For lower tolerances, using AutoVern7 or AutoVern9 with Rodas4, KenCarp4, or Rodas5 can all be good choices depending on the problem. The cost for auto-switching is very minimal but the choices are restrained and so they are a good go-to method when applicable.įor default tolerances, AutoTsit5(Rosenbrock23()) is a good choice. These methods are multi-paradigm and allow for efficient solution of both stiff and non-stiff problems. When the stiffness of the problem is unknown, it is recommended you use a stiffness detection and auto-switching algorithm. This guide is to help you choose the right algorithm. However, in some cases you may want something specific, or you may just be curious. It is suggested that you try choosing an algorithm using the alg_hints keyword argument. If no algorithm is given, a default algorithm will be chosen. Solves the ODE defined by prob using the algorithm alg. Local Sensitivity Analysis (Automatic Differentiation).Parameter Estimation and Bayesian Analysis.Specifying (Non)Linear Solvers and Preconditioners.Jump Problem and Jump Diffusion Solvers.Dynamical, Hamiltonian, and 2nd Order ODE Solvers.Non-autonomous Linear ODE / Lie Group ODE Solvers.Dynamical, Hamiltonian and 2nd Order ODE Problems.Non-autonomous Linear ODE / Lie Group Problems.Continuous-Time Jump Processes and Gillespie Methods.Code Optimization for Differential Equations.DifferentialEquations.jl: Scientific Machine Learning (SciML) Enabled Simulation and Estimation.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |