nutopy.ivp.Options¶
- class Options(*args, **kwargs)[source]¶
Bases:
nutopy.options.Options
Options for
nutopy.ivp.exp
,nutopy.ivp.dexp
,nutopy.ivp.jexp
andnutopy.ivp.djexp
.- Variables
MaxSteps (
int
, default is100000
) – Maximum number of integration steps.MaxStepSize (
float
, default is0.0
) – Maximum step size during integration. If it is equal to0.0
then the integratorSolverMethod
has no constraint on the maximal step size.SolverMethod (
str
, default is'dopri5'
) –Integrator name. See Refs 1 and 2 for a description of the methods. The integrators with step size control are interfaces of Fortran softwares available here.
With step size control:
- Explicit:
dopri5, dop853.
- Implicit:
radau5, radau9, radau13, radau (adaptative order 5, 9 and 13).
No step size control:
- Explicit:
euler_explicite, runge, heun, rk4, rk5.
- Implicit:
euler_implicite or euler, midpoint, gauss4, gauss6, gauss8, radauia1, radauia3, radauia5, radauiia1, radauiia3, radauiia5, radaus (symplectic radau of order 5), lobatto4, lobatto6, lobattoiiia2, lobattoiiia4, lobattoiiia6, lobattoiiib2, lobattoiiib4, lobattoiiib6, lobattoiiic2, lobattoiiic4, lobattoiiic6, sdirk3, sdirk4l, sdirk4a, dirk5.
TolAbs (
float
, default is1e-10
) – Absolute error tolerance.TolRel (
float
, default is1e-8
) – Relative error tolerance.
Examples
>>> from nutopy import ivp
Constructor usage
>>> options = ivp.Options()
>>> options = ivp.Options(SolverMethod='dopri5', TolAbs=1e-8)
>>> options = ivp.Options({'SolverMethod' : 'dopri5', 'TolAbs' : 1e-8})
Update
>>> options.update(SolverMethod='dopri5')
Get
>>> solver = options.get('SolverMethod')
References
- 1
E. Hairer, S. P. Norsett & G. Wanner, Solving Ordinary Differential Equations I, Nonstiff Problems, vol 8 of Springer Serie in Computational Mathematics, Springer-Verlag, second edn (1993).
- 2
E. Hairer & G. Wanner, Solving Ordinary Differential Equations II, Stiff and Differential-Algebraic Problems, vol 14 of Springer Serie in Computational Mathematics, Springer-Verlag, second edn (1996).