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
Parallelism and Performance
9
Further Comments
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 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 Parallelism and Performance
Not applicable.
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 parameters 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. 2015