naginterfaces.library.ode.ivp_​stiff_​dassl

naginterfaces.library.ode.ivp_stiff_dassl(neqmax, sdysav, maxord, con, tcrit, hmin, hmax, h0, maxstp, mxhnil, norm)[source]

ivp_stiff_dassl is an integration method specific setup function which must be called prior to linear algebra setup functions and integrators from the SPRINT suite of functions, if the DASSL implementation of Backward Differentiation Formulae (BDF) is to be used. Note that this method is also available, independent from the SPRINT suite, using dae_dassl_gen()

For full information please refer to the NAG Library document for d02mv

https://support.nag.com/numeric/nl/nagdoc_30/flhtml/d02/d02mvf.html

Parameters
neqmaxint

A bound on the maximum number of differential equations to be solved.

sdysavint

The second dimension of the array that will be supplied to the integrator, as declared in the (sub)program from which the integrator is called (e.g., see ivp_stiff_exp_fulljac()).

maxordint

The maximum order to be used for the BDF method. If or , is assumed.

confloat, array-like, shape

Values to be used to control step size choice during integration. If any on entry, it is replaced by its default value described below. In most cases this is the recommended setting.

, , and are factors used to bound step size changes.

If the current step size fails, the modulus of the next step size is bounded by .

The default value of is .

Note that the new step size may be used with a method of different order to the failed step.

If the initial step size is , the modulus of the step size on the second step is bounded by .

At any other stage in the integration, if the current step size is , the modulus of the next step size is bounded by .

The default values are for and for .

tcritfloat

A point beyond which integration must not be attempted. The use of is described under the argument in the specification for the integrator (e.g., see ivp_stiff_exp_fulljac()). A value, say, must be specified even if subsequently specifies that will not be used.

hminfloat

The minimum absolute step size to be allowed. Set if this option is not required.

hmaxfloat

The maximum absolute step size to be allowed. Set if this option is not required.

h0float

The step size to be attempted on the first step. Set if the initial step size is calculated internally.

maxstpint

The maximum number of steps to be attempted during one call to the integrator after which it will return with = 2 (e.g., see ivp_stiff_exp_fulljac()). Set if no limit is to be imposed.

mxhnilint

The maximum number of warnings printed (if , e.g., see ivp_stiff_exp_fulljac()) per problem when on a step (). If , a default value of is assumed.

normstr, length 1

Indicates the type of norm to be used.

Maximum norm.

Averaged L2 norm.

Is the same as ‘A’.

If denotes the norm of the vector of length , for the averaged L2 norm

while for the maximum norm

If you wish to weight the maximum norm or the L2 norm, and should be scaled appropriately on input to the integrator (see under in the specification of the integrator for the formulation of the weight vector from and , e.g., see ivp_stiff_exp_fulljac()).

Only the first character to the actual argument is passed to ivp_stiff_dassl; hence it is permissible for the actual argument to be more descriptive, e.g., ‘Maximum’, ‘Average L2’ or ‘Default’ in a call to ivp_stiff_dassl.

Returns
confloat, ndarray, shape

The values actually to be used by the integration function.

commdict, communication object

Communication structure.

Raises
NagValueError
(errno )

The sequence is not strictly increasing: is required.

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, was not valid: .

Constraint: , or .

(errno )

On entry, .

Constraint: .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, .

Constraint: .

Warns
NagAlgorithmicWarning
(errno )

On entry, . assumed.

Notes

No equivalent traditional C interface for this routine exists in the NAG Library.

An integrator setup function must be called before the call to any linear algebra setup function or integrator from the SPRINT suite of functions in this sub-module. This setup function, ivp_stiff_dassl, makes the choice of the DASSL integrator and permits you to define options appropriate to this choice. Alternative choices of integrator from this suite are the BDF method and the BLEND method which can be chosen by initial calls to ivp_stiff_bdf() or ivp_stiff_blend() respectively.