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
2
Specification
3
Description
4
References
5
Parameters
6
Error Indicators and Warnings
7
Accuracy
8
Further Comments
9
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 Parameters
1: ICALL – INTEGER
Input
On entry
: indicates whether or not all output parameters 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 – INTEGER
Output
On exit
: the length of the integer workspace
JACPVT
reserved for the sparse matrix routines.
3: LIWUSD – INTEGER
Output
On exit
: the length of the integer workspace
JACPVT
actually used by the sparse matrix routines.
4: LRWREQ – INTEGER
Output
On exit
: the length of the real workspace
WKJAC
reserved for the sparse matrix routines.
5: LRWUSD – INTEGER
Output
On exit
: the length of the real workspace
WKJAC
actually used by the sparse matrix routines.
6: NLU – INTEGER
Output
On exit
: the number of
L
U
decompositions done during the integration.
7: NNZ – INTEGER
Output
On exit
: the number of nonzeros in the Jacobian.
8: NGP – INTEGER
Output
On exit
: the number of
FCN
or
RESID
calls needed to form the Jacobian.
9: ISPLIT – INTEGER
Output
On exit
: an appropriate value for the parameter
ISPLIT
when calling
D02NUF
for subsequent runs of similar problems.
10: IGROW – INTEGER
Output
On exit
: an estimate of the growth of the elements encountered during the last
L
U
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 – LOGICAL
Input
On entry
: the value used for the parameter
LBLOCK
when calling
D02NUF
.
12: NBLOCK – INTEGER
Output
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: INFORM(
23
) – INTEGER array
Communication Array
On entry
: contains information supplied by the integrator.
6 Error Indicators and Warnings
None.
7 Accuracy
Not applicable.
8 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 parameters of the setup routine
D02NUF
on further calls to the integrator for the same or similar problems.
9 Example
See Section 9 in
D02NDF
,
D02NJF
and
D02NNF
.
D02NXF (PDF version)
D02 Chapter Contents
D02 Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2012