NAG FL Interface
d02npf (dae_​dassl_​linalg)

1 Purpose

d02npf is a setup routine which you must call prior to d02nef and after a call to d02mwf, if the Jacobian is to be considered as having a banded structure.

2 Specification

Fortran Interface
Subroutine d02npf ( neq, ml, mu, icom, licom, ifail)
Integer, Intent (In) :: neq, ml, mu, licom
Integer, Intent (Inout) :: icom(licom), ifail
C Header Interface
#include <nag.h>
void  d02npf_ (const Integer *neq, const Integer *ml, const Integer *mu, Integer icom[], const Integer *licom, Integer *ifail)
The routine may be called by the names d02npf or nagf_ode_dae_dassl_linalg.

3 Description

A call to d02npf specifies that the Jacobian to be used is banded in structure. If d02npf is not called before a call to d02nef then the Jacobian is assumed to be full.

4 References

None.

5 Arguments

1: neq Integer Input
On entry: the number of differential-algebraic equations to be solved.
Constraint: 1neq.
2: ml Integer Input
On entry: mL, the number of subdiagonals in the band.
Constraint: 0mlneq-1.
3: mu Integer Input
On entry: mU, the number of superdiagonals in the band.
Constraint: 0muneq-1.
4: icomlicom Integer array Communication Array
icom is used to communicate details of the integration from d02mwf and details of the banded structure of the Jacobian to d02nef.
5: licom Integer Input
On entry: the dimension of the array icom as declared in the (sub)program from which d02npf is called.
Constraint: licom50+neq.
6: ifail Integer Input/Output
On entry: ifail must be set to 0, -1 or 1 to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of 0 causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of -1 means that an error message is printed while a value of 1 means that it is not.
If halting is not appropriate, the value -1 or 1 is recommended. If message printing is undesirable, then the value 1 is recommended. Otherwise, the value 0 is recommended. When the value -1 or 1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6 Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
ifail=1
On entry, neq=value.
Constraint: neq1.
ifail=2
On entry, ml=value.
Constraint: ml0.
On entry, ml=value and neq=value.
Constraint: mlneq-1.
ifail=3
On entry, mu=value.
Constraint: mu0.
On entry, mu=value and neq=value.
Constraint: muneq-1.
ifail=4
Either the initialization routine has not been called prior to the first call of this routine or the communication array has become corrupted.
ifail=5
On entry, licom is too small: licom=value.
ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
ifail=-399
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
ifail=-999
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

7 Accuracy

Not applicable.

8 Parallelism and Performance

d02npf is not threaded in any implementation.

9 Further Comments

None.

10 Example

See Section 10 in d02nef and d02mwf.