dmatd Subroutine

subroutine dmatd(neq, t, y, ydot, delta, cj, h, ierr, ewt, e, rwm, iwm, res, ires, uround, jac, rpar, ipar)

Uses

  • proc~~dmatd~~UsesGraph proc~dmatd dmatd module~daskr daskr proc~dmatd->module~daskr module~daskr_kinds daskr_kinds proc~dmatd->module~daskr_kinds module~linpack linpack proc~dmatd->module~linpack module~daskr->module~daskr_kinds iso_fortran_env iso_fortran_env module~daskr_kinds->iso_fortran_env module~linpack->module~daskr_kinds

This routine computes the iteration matrix:

Here is computed by the user-supplied routine jac if mtype is 1 or 4, or by numerical difference quotients if mtype is 2 or 5.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: neq

Problem size.

real(kind=rk), intent(in) :: t

Independent variable.

real(kind=rk), intent(inout) :: y(neq)

Solution vector.

real(kind=rk), intent(inout) :: ydot(neq)

Derivative of solution vector.

real(kind=rk), intent(inout) :: delta(neq)

Residual evaluated at (t,y,y').

real(kind=rk), intent(in) :: cj

Scalar used in forming the system Jacobian.

real(kind=rk), intent(in) :: h

Current stepsize in integration.

integer, intent(out) :: ierr

Error flag returned by dgefa and dgbfa. 0: matrix is not singular. k > 0: matrix is singular.

real(kind=rk), intent(inout) :: ewt(neq)

Vector of error weights for computing norms.

real(kind=rk), intent(inout) :: e(neq)

Real work array.

real(kind=rk), intent(inout) :: rwm(*)

Real workspace for matrices. On output, it contains the LU decomposition of the iteration matrix.

integer, intent(inout) :: iwm(*)

Integer workspace containing matrix information.

procedure(res_t) :: res

User-defined residuals routine.

integer, intent(out) :: ires

Error flag from res.

real(kind=rk), intent(in) :: uround

Unit roundoff error.

procedure(jac_t) :: jac

User-defined Jacobian routine.

real(kind=rk), intent(inout) :: rpar(*)

User real workspace.

integer, intent(inout) :: ipar(*)

User integer workspace.


Calls

proc~~dmatd~~CallsGraph proc~dmatd dmatd proc~dgbfa dgbfa proc~dmatd->proc~dgbfa proc~dgefa dgefa proc~dmatd->proc~dgefa interface~daxpy daxpy proc~dgbfa->interface~daxpy interface~dscal dscal proc~dgbfa->interface~dscal interface~idamax idamax proc~dgbfa->interface~idamax proc~dgefa->interface~idamax

Variables

Type Visibility Attributes Name Initial
integer, public :: i
integer, public :: i1
integer, public :: i2
integer, public :: ii
integer, public :: ipsave
integer, public :: isave
integer, public :: j
integer, public :: k
integer, public :: l
integer, public :: lenpd
integer, public :: lipvt
integer, public :: mba
integer, public :: mband
integer, public :: meb1
integer, public :: meband
integer, public :: msave
integer, public :: mtype
integer, public :: n
integer, public :: nrow
real(kind=rk), public :: del
real(kind=rk), public :: delinv
real(kind=rk), public :: squr
real(kind=rk), public :: ypsave
real(kind=rk), public :: ysave
logical, public :: isdense