naginterfaces.library.ode.ivp_rkts_interp¶
- naginterfaces.library.ode.ivp_rkts_interp(n, twant, ideriv, nwant, f, comm, data=None)[source]¶
ivp_rkts_interp
computes the solution of a system of ordinary differential equations using interpolation anywhere on an integration step taken byivp_rkts_onestep()
.For full information please refer to the NAG Library document for d02ps
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/d02/d02psf.html
- Parameters
- nint
, the number of ordinary differential equations in the system to be solved by the integration function.
- twantfloat
, the value of the independent variable where a solution is desired.
- iderivint
Determines whether the solution and/or its first derivative are to be computed
compute approximate solution.
compute approximate first derivative.
compute approximate solution and first derivative.
- nwantint
The number of components of the solution to be computed. The first components are evaluated.
- fcallable yp = f(t, y, data=None)
must evaluate the functions (that is the first derivatives ) for given values of the arguments .
It must be the same procedure as supplied to
ivp_rkts_onestep()
.- Parameters
- tfloat
, the current value of the independent variable.
- yfloat, ndarray, shape
The current values of the dependent variables, , for .
- dataarbitrary, optional, modifiable in place
User-communication data for callback functions.
- Returns
- ypfloat, array-like, shape
The values of , for .
- commdict, communication object, modified in place
Communication structure.
This argument must have been initialized by a prior call to
ivp_rkts_setup()
.- dataarbitrary, optional
User-communication data for callback functions.
- Returns
- ywantfloat, ndarray, shape
An approximation to the first components of the solution at if or . Otherwise is not defined.
- ypwantfloat, ndarray, shape
An approximation to the first components of the first derivative at if or . Otherwise is not defined.
- Raises
- NagValueError
- (errno )
You cannot call this function after the integrator has returned an error.
- (errno )
You cannot call this function before you have called the step integrator.
- (errno )
You cannot call this function when you have specified, in the setup function, that the range integrator will be used.
- (errno )
or in setup, but interpolation is not available for this method. Either use or in setup or use reset function to force the integrator to step to particular points.
- (errno )
On entry, , but the value passed to the setup function was .
- (errno )
On entry, .
Constraint: , or .
- (errno )
On entry, and .
Constraint: .
- (errno )
On entry, a previous call to the setup function has not been made or the communication arrays have become corrupted, or a catastrophic error has already been detected elsewhere.
You cannot continue integrating the problem.
- Notes
ivp_rkts_interp
and its associated functions (ivp_rkts_setup()
,ivp_rkts_onestep()
,ivp_rkts_reset_tend()
,ivp_rkts_diag()
andivp_rkts_errass()
) solve the initial value problem for a first-order system of ordinary differential equations. The functions, based on Runge–Kutta methods and derived from RKSUITE (see Brankin et al. (1991)), integratewhere is the vector of solution components and is the independent variable.
ivp_rkts_onestep()
computes the solution at the end of an integration step. Using the information computed on that stepivp_rkts_interp
computes the solution by interpolation at any point on that step. It cannot be used if or was specified in the call to setup functionivp_rkts_setup()
.
- References
Brankin, R W, Gladwell, I and Shampine, L F, 1991, RKSUITE: A suite of Runge–Kutta codes for the initial value problems for ODEs, SoftReport 91-S1, Southern Methodist University