d02nxf (PDF version)
D02 (ode) Chapter Contents
D02 (ode) Chapter Introduction
NAG Library Manual
Keyword Search:
NAG Library Routine Document
d02nxf (ivp_stiff_sparjac_diag)
▸
▿
Contents
1
Purpose
2
Specification
3
Description
4
References
5
Arguments
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
Fortran Interface
Subroutine d02nxf (
icall
,
liwreq
,
liwusd
,
lrwreq
,
lrwusd
,
nlu
,
nnz
,
ngp
,
isplit
,
igrow
,
lblock
,
nblock
,
inform
)
Integer, Intent (In)
::
icall
,
inform(23)
Integer, Intent (Out)
::
liwreq
,
liwusd
,
lrwreq
,
lrwusd
,
nlu
,
nnz
,
ngp
,
isplit
,
igrow
,
nblock
Logical, Intent (In)
::
lblock
C Header Interface
#include nagmk26.h
void
d02nxf_ (
const Integer *
icall
,
Integer *
liwreq
,
Integer *
liwusd
,
Integer *
lrwreq
,
Integer *
lrwusd
,
Integer *
nlu
,
Integer *
nnz
,
Integer *
ngp
,
Integer *
isplit
,
Integer *
igrow
,
const logical *
lblock
,
Integer *
nblock
,
const Integer
inform
[]
)
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
– Integer
Input
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
– 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 argument
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 argument
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
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 (ode) Chapter Contents
D02 (ode) Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2017