D02NXF (PDF version)
D02 Chapter Contents
D02 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

D02NXF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

 Contents

    1  Purpose
    7  Accuracy
    10  Example

1  Purpose

D02NXF is an optional output routine which you may call, on exit from an integrator in Sub-chapter D02M–N, if sparse matrix linear algebra has been selected.

2  Specification

SUBROUTINE D02NXF ( ICALL, LIWREQ, LIWUSD, LRWREQ, LRWUSD, NLU, NNZ, NGP, ISPLIT, IGROW, LBLOCK, NBLOCK, INFORM)
INTEGER  ICALL, LIWREQ, LIWUSD, LRWREQ, LRWUSD, NLU, NNZ, NGP, ISPLIT, IGROW, NBLOCK, INFORM(23)
LOGICAL  LBLOCK

3  Description

D02NXF permits you to examine the various outputs from the sparse linear algebra routines called by the integrator.

4  References

See the D02M–N Sub-chapter Introduction.

5  Arguments

1:     ICALL – INTEGERInput
On entry: indicates whether or not all output arguments have been set during the call to the integrator. If so, that is, if the integrator returned with IFAIL=0 or 12, then ICALL must be set to 0. Otherwise ICALL must be set to 1, indicating that integration did not take place due to lack of space in arrays WKJAC and JACPVT, and only LIWREQ, LIWUSD, LRWREQ, LRWUSD have been set.
2:     LIWREQ – INTEGEROutput
On exit: the length of the integer workspace JACPVT reserved for the sparse matrix routines.
3:     LIWUSD – INTEGEROutput
On exit: the length of the integer workspace JACPVT actually used by the sparse matrix routines.
4:     LRWREQ – INTEGEROutput
On exit: the length of the real workspace WKJAC reserved for the sparse matrix routines.
5:     LRWUSD – INTEGEROutput
On exit: the length of the real workspace WKJAC actually used by the sparse matrix routines.
6:     NLU – INTEGEROutput
On exit: the number of LU decompositions done during the integration.
7:     NNZ – INTEGEROutput
On exit: the number of nonzeros in the Jacobian.
8:     NGP – INTEGEROutput
On exit: the number of FCN or RESID calls needed to form the Jacobian.
9:     ISPLIT – INTEGEROutput
On exit: an appropriate value for the argument ISPLIT when calling D02NUF for subsequent runs of similar problems.
10:   IGROW – INTEGEROutput
On exit: an estimate of the growth of the elements encountered during the last LU decomposition performed. If the actual estimate exceeds the largest possible integer value for the machine being used (see X02BBF) IGROW is set to the value returned by X02BBF.
11:   LBLOCK – LOGICALInput
On entry: the value used for the argument LBLOCK when calling D02NUF.
12:   NBLOCK – INTEGEROutput
On exit: if LBLOCK=.TRUE., NBLOCK contains the number of diagonal blocks in the Jacobian matrix permuted to block lower triangular form. If NBLOCK=1 then on subsequent runs of a similar problem LBLOCK should be set to .FALSE. in the call to D02NUF.
If LBLOCK=.FALSE., NBLOCK=1.
13:   INFORM23 – INTEGER arrayCommunication Array
On entry: contains information supplied by the integrator.

6  Error Indicators and Warnings

None.

7  Accuracy

Not applicable.

8  Parallelism and Performance

D02NXF is not threaded in any implementation.

9  Further Comments

The output from D02NXF, in particular the values of LIWREQ, LIWUSD, LRWREQ, LRWUSD, ISPLIT and IGROW, should be used to determine appropriate values for the arguments of the setup routine D02NUF on further calls to the integrator for the same or similar problems.

10  Example

See Section 10 in D02NDF, D02NJF and D02NNF.

D02NXF (PDF version)
D02 Chapter Contents
D02 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2016