M_odepack Module


Used by


Variables

Type Visibility Attributes Name Initial
type(dlpk01), public, save :: dlpk
type(dls002), public, save :: dls
type(dls001), public, save :: dls1
type(dlsa01), public, save :: dlsa
type(dlsr01), public, save :: dlsr
type(dlss01), public, save :: dlss
integer, public, parameter :: dp = kind(0.0d0)

Functions

public pure function dmnorm(n, v, w)

This function routine computes the weighted max-norm of the vector of length N contained in the array V, with weights contained in the array w of length N: DMNORM = MAX(i=1,…,N) ABS(V(i))*W(i)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
real(kind=dp), intent(in) :: v(n)
real(kind=dp), intent(in) :: w(n)

Return Value real(kind=dp)

public pure function dvnorm(n, v, w)

dvnorm(3f) - [M_odepack] Weighted root-mean-square vector norm.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
real(kind=dp), intent(in) :: v(n)
real(kind=dp), intent(in) :: w(n)

Return Value real(kind=dp)


Subroutines

public subroutine adjlr(N, Isp, Ldif)

This routine computes an adjustment, LDIF, to the required integer storage space in IWK (sparse matrix work space).

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
integer, intent(in) :: Isp(*)
integer, intent(out) :: Ldif

public subroutine cdrv(N, R, C, Ic, Ia, Ja, A, B, Z, Nsp, Isp, Rsp, Esp, Path, Flag)

cdrv(3f) - [M_odepack ] driver for solving sparse non-symmetric systems of linear equations

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: N
integer :: R(*)
integer :: C(*)
integer :: Ic(*)
integer :: Ia(*)
integer :: Ja(*)
real(kind=dp) :: A(*)
real(kind=dp) :: B(*)
real(kind=dp) :: Z(*)
integer, intent(in) :: Nsp
integer, intent(inout) :: Isp(*)
real(kind=dp) :: Rsp(*)
integer, intent(out) :: Esp
integer, intent(in) :: Path
integer, intent(inout) :: Flag

public subroutine cntnzu(N, Ia, Ja, Nzsut)

This routine counts the number of nonzero elements in the strict upper triangle of the matrix M + M(transpose), where the sparsity structure of M is given by pointer arrays IA and JA.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
integer, intent(in) :: Ia(*)
integer, intent(in) :: Ja(*)
integer, intent(out) :: Nzsut

public subroutine daigbt(res, adda, Neq, T, Y, Ydot, Mb, Nb, Pw, Ipvt, Ier)

This subroutine computes the initial value of the vector YDOT satisfying

Read more…

Arguments

Type IntentOptional Attributes Name
real :: res
real :: adda
integer :: Neq(*)
real(kind=dp) :: T
real(kind=dp) :: Y(*)
real(kind=dp) :: Ydot(*)
integer, intent(inout) :: Mb
integer, intent(inout) :: Nb
real(kind=dp) :: Pw(*)
integer :: Ipvt(*)
integer, intent(inout) :: Ier

public subroutine dainvg(res, adda, Neq, T, Y, Ydot, Miter, Ml, Mu, Pw, Ipvt, Ier)

This subroutine computes the initial value of the vector YDOT satisfying

Read more…

Arguments

Type IntentOptional Attributes Name
real :: res
real :: adda
integer, intent(inout) :: Neq
real(kind=dp) :: T
real(kind=dp) :: Y(*)
real(kind=dp) :: Ydot(*)
integer, intent(inout) :: Miter
integer, intent(inout) :: Ml
integer, intent(inout) :: Mu
real(kind=dp) :: Pw(*)
integer :: Ipvt(*)
integer, intent(inout) :: Ier

public subroutine daxpy(N, Da, Dx, Incx, Dy, Incy)

daxpy(3f) - [M_odepack::matrix] Compute a constant times a vector plus a vector.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
real(kind=dp), intent(in) :: Da
real(kind=dp), intent(in) :: Dx(*)
integer, intent(in) :: Incx
real(kind=dp), intent(inout) :: Dy(*)
integer, intent(in) :: Incy

public subroutine dcfode(meth, elco, tesco)

dcfode(3f) - [M_odepack] Set ODE integrator coefficients.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: meth
real(kind=dp), intent(inout) :: elco(13,12)
real(kind=dp), intent(out) :: tesco(3,12)

public subroutine dcopy(N, Dx, Incx, Dy, Incy)

dcopy(3f) - [M_odepack::matrix] copy a vector

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
real(kind=dp), intent(in) :: Dx(*)
integer, intent(in) :: Incx
real(kind=dp), intent(out) :: Dy(*)
integer, intent(in) :: Incy

public subroutine dewset(N, Itol, Rtol, Atol, Ycur, Ewt)

dewset(3f) - [M_odepack] Set error weight vector.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
integer, intent(in) :: Itol
real(kind=dp), intent(in) :: Rtol(*)
real(kind=dp), intent(in) :: Atol(*)
real(kind=dp), intent(in) :: Ycur(N)
real(kind=dp), intent(out) :: Ewt(N)

public subroutine dgefa(A, Lda, N, Ipvt, Info)

dgefa(3f) - [M_odepack::matrix] Factor a matrix using Gaussian elimination.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: A(Lda,*)
integer, intent(in) :: Lda
integer, intent(in) :: N
integer, intent(out) :: Ipvt(*)
integer, intent(out) :: Info

public subroutine dgesl(A, Lda, N, Ipvt, B, Job)

dgesl(3f) - [M_odepack::matrix] Solve the real system AX=B or TRANS(A)X=B using the factors computed by DGECO or DGEFA.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: A(Lda,*)
integer, intent(in) :: Lda
integer, intent(in) :: N
integer, intent(in) :: Ipvt(*)
real(kind=dp), intent(inout) :: B(*)
integer, intent(in) :: Job

public subroutine dintdy(T, K, Yh, Nyh, Dky, Iflag)

DINTDY computes interpolated values of the K-th derivative of the dependent variable vector y, and stores it in DKY. This routine is called within the package with K = 0 and T = TOUT, but may also be called by the user for any K up to the current order. (See detailed instructions in the usage documentation.)

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: T
integer :: K
real(kind=dp), intent(in) :: Yh(Nyh,*)
integer, intent(in) :: Nyh
real(kind=dp), intent(inout) :: Dky(*)
integer, intent(out) :: Iflag

public subroutine diprep(Neq, Y, Rwork, Ia, Ja, Ipflag, f, jac)

This routine serves as an interface between the driver and Subroutine DPREP. It is called only if MITER is 1 or 2. Tasks performed here are:

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
real(kind=dp) :: Y(*)
real(kind=dp), intent(inout) :: Rwork(*)
integer :: Ia(*)
integer :: Ja(*)
integer, intent(inout) :: Ipflag
real :: f
integer :: jac

public subroutine diprepi(Neq, Y, S, Rwork, Ia, Ja, Ic, Jc, Ipflag, res, jac, adda)

This routine serves as an interface between the driver and Subroutine DPREPI. Tasks performed here are:

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
real(kind=dp) :: Y(*)
real(kind=dp) :: S(*)
real(kind=dp), intent(inout) :: Rwork(*)
integer :: Ia(*)
integer :: Ja(*)
integer :: Ic(*)
integer :: Jc(*)
integer, intent(inout) :: Ipflag
real :: res
integer :: jac
real :: adda

public subroutine dlhin(Neq, N, T0, Y0, Ydot, f, Tout, Uround, Ewt, Itol, Atol, Y, Temp, H0, Niter, Ier)

dlhin(3f) - [M_odepack] compute step size H0 to be attempted on the first step, when the user supplied value is absent

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
integer :: N
real(kind=dp), intent(in) :: T0
real(kind=dp) :: Y0(*)
real(kind=dp), intent(in) :: Ydot(*)
real :: f
real(kind=dp), intent(in) :: Tout
real(kind=dp), intent(in) :: Uround
real(kind=dp) :: Ewt(*)
integer, intent(in) :: Itol
real(kind=dp), intent(in) :: Atol(*)
real(kind=dp) :: Y(*)
real(kind=dp) :: Temp(*)
real(kind=dp), intent(inout) :: H0
integer, intent(out) :: Niter
integer, intent(out) :: Ier

public subroutine dlsoda(f, Neq, Y, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, jac, Jt)

DLSODA solves the initial value problem for stiff or nonstiff systems of first order ODEs of the form

Read more…

Arguments

Type IntentOptional Attributes Name
real :: f
integer :: Neq(*)
real(kind=dp) :: Y(*)
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp) :: Rtol(*)
real(kind=dp) :: Atol(*)
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout) :: Rwork(Lrw)
integer :: Lrw
integer, intent(inout) :: Iwork(Liw)
integer :: Liw
integer :: jac
integer :: Jt

public subroutine dlsodar(f, Neq, Y, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, jac, Jt, g, Ng, Jroot)

DLSODAR solves the initial value problem for stiff or nonstiff systems of first order ODEs of the form

Read more…

Arguments

Type IntentOptional Attributes Name
real :: f
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp), dimension(*) :: Rtol
real(kind=dp), dimension(*) :: Atol
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout), dimension(Lrw) :: Rwork
integer :: Lrw
integer, intent(inout), dimension(Liw) :: Iwork
integer :: Liw
integer :: jac
integer :: Jt
real :: g
integer :: Ng
integer, dimension(Ng) :: Jroot

public subroutine dlsode(f, Neq, Y, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, jac, Mf)

DLSODE solves the initial-value problem for stiff or nonstiff systems of first-order ODE’s,

Read more…

Arguments

Type IntentOptional Attributes Name
real :: f
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp), dimension(*) :: Rtol
real(kind=dp), dimension(*) :: Atol
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout), dimension(Lrw) :: Rwork
integer :: Lrw
integer, intent(inout), dimension(Liw) :: Iwork
integer :: Liw
integer :: jac
integer :: Mf

public subroutine dlsodes(f, Neq, Y, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, jac, Mf)

DLSODES solves the initial value problem for stiff or nonstiff systems of first order ODEs,

Read more…

Arguments

Type IntentOptional Attributes Name
real :: f
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp), dimension(*) :: Rtol
real(kind=dp), dimension(*) :: Atol
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout), dimension(Lrw) :: Rwork
integer :: Lrw
integer, intent(inout), dimension(Liw) :: Iwork
integer :: Liw
integer :: jac
integer :: Mf

public subroutine dlsodi(res, adda, jac, Neq, Y, Ydoti, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, Mf)

DLSODI solves the initial value problem for linearly implicit systems of first order ODEs,

Read more…

Arguments

Type IntentOptional Attributes Name
real :: res
real :: adda
integer :: jac
integer :: Neq(*)
real(kind=dp) :: Y(*)
real(kind=dp) :: Ydoti(*)
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp) :: Rtol(*)
real(kind=dp) :: Atol(*)
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout) :: Rwork(Lrw)
integer :: Lrw
integer, intent(inout) :: Iwork(Liw)
integer :: Liw
integer :: Mf

public subroutine dlsodis(res, adda, jac, Neq, Y, Ydoti, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, Mf)

DLSODIS solves the initial value problem for linearly implicit systems of first order ODEs,

Read more…

Arguments

Type IntentOptional Attributes Name
real :: res
real :: adda
integer :: jac
integer :: Neq(*)
real(kind=dp) :: Y(*)
real(kind=dp) :: Ydoti(*)
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp) :: Rtol(*)
real(kind=dp) :: Atol(*)
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout) :: Rwork(Lrw)
integer :: Lrw
integer, intent(inout) :: Iwork(Liw)
integer :: Liw
integer :: Mf

public subroutine dlsodkr(f, Neq, Y, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, jac, psol, Mf, g, Ng, Jroot)

DLSODKR: Livermore Solver for Ordinary Differential equations, with preconditioned Krylov iteration methods for the Newton correction linear systems, and with Rootfinding.

Read more…

Arguments

Type IntentOptional Attributes Name
real :: f
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp), dimension(*) :: Rtol
real(kind=dp), dimension(*) :: Atol
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout), dimension(Lrw) :: Rwork
integer :: Lrw
integer, intent(inout), dimension(Liw) :: Iwork
integer :: Liw
integer :: jac
real :: psol
integer :: Mf
real :: g
integer :: Ng
integer :: Jroot(*)

public subroutine dlsodpk(f, Neq, Y, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, jac, psol, Mf)

DLSODPK: Livermore Solver for Ordinary Differential equations, with Preconditioned Krylov iteration methods for the Newton correction linear systems.

Read more…

Arguments

Type IntentOptional Attributes Name
real :: f
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp), dimension(*) :: Rtol
real(kind=dp), dimension(*) :: Atol
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout), dimension(Lrw) :: Rwork
integer :: Lrw
integer, intent(inout), dimension(Liw) :: Iwork
integer :: Liw
integer :: jac
real :: psol
integer :: Mf

public subroutine dlsoibt(res, adda, jac, Neq, Y, Ydoti, T, Tout, Itol, Rtol, Atol, Itask, Istate, Iopt, Rwork, Lrw, Iwork, Liw, Mf)

DLSOIBT: Livermore Solver for Ordinary differential equations given in Implicit form, with Block-Tridiagonal Jacobian treatment.

Read more…

Arguments

Type IntentOptional Attributes Name
real :: res
real :: adda
integer :: jac
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), dimension(*) :: Ydoti
real(kind=dp), intent(inout) :: T
real(kind=dp), intent(inout) :: Tout
integer :: Itol
real(kind=dp), dimension(*) :: Rtol
real(kind=dp), dimension(*) :: Atol
integer :: Itask
integer :: Istate
integer :: Iopt
real(kind=dp), intent(inout), dimension(Lrw) :: Rwork
integer :: Lrw
integer, intent(inout), dimension(Liw) :: Iwork
integer :: Liw
integer :: Mf

public subroutine dpjibt(Neq, Y, Yh, Nyh, Ewt, Rtem, Savr, S, Wm, Iwm, res, jac, adda)

DPJIBT is called by DSTODI to compute and process the matrix P = A - HEL(1)J, where J is an approximation to the Jacobian dr/dy, and r = g(t,y) - A(t,y)*s.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, dimension(*) :: Neq
real(kind=dp), intent(inout), dimension(*) :: Y
real(kind=dp), intent(in), dimension(Nyh,*) :: Yh
integer, intent(in) :: Nyh
real(kind=dp), intent(in), dimension(*) :: Ewt
real(kind=dp), intent(inout), dimension(*) :: Rtem
real(kind=dp), dimension(*) :: Savr
real(kind=dp), dimension(*) :: S
real(kind=dp), intent(inout), dimension(*) :: Wm
integer, dimension(*) :: Iwm
real :: res
integer :: jac
real :: adda

public subroutine dprepj(Neq, Y, Yh, Nyh, Ewt, Ftem, Savf, Wm, Iwm, f, jac)

DPREPJ is called by DSTODE to compute and process the matrix P = I - hel(1)J , where J is an approximation to the Jacobian.

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
real(kind=dp), intent(inout) :: Y(*)
real(kind=dp), intent(in) :: Yh(Nyh,*)
integer, intent(in) :: Nyh
real(kind=dp) :: Ewt(*)
real(kind=dp) :: Ftem(*)
real(kind=dp) :: Savf(*)
real(kind=dp), intent(inout) :: Wm(*)
integer :: Iwm(*)
real :: f
integer :: jac

public subroutine dprepji(Neq, Y, Yh, Nyh, Ewt, Rtem, Savr, S, Wm, Iwm, res, jac, adda)

DPREPJI is called by DSTODI to compute and process the matrix P = A - HEL(1)J, where J is an approximation to the Jacobian dr/dy, where r = g(t,y) - A(t,y)*s.

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
real(kind=dp), intent(inout) :: Y(*)
real(kind=dp), intent(in) :: Yh(Nyh,*)
integer, intent(in) :: Nyh
real(kind=dp), intent(in) :: Ewt(*)
real(kind=dp) :: Rtem(*)
real(kind=dp) :: Savr(*)
real(kind=dp) :: S(*)
real(kind=dp), intent(inout) :: Wm(*)
integer :: Iwm(*)
real :: res
integer :: jac
real :: adda

public subroutine dprja(Neq, Y, Yh, Nyh, Ewt, Ftem, Savf, Wm, Iwm, f, jac)

DPRJA is called by DSTODA to compute and process the matrix P = I - HEL(1)J, where J is an approximation to the Jacobian.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, dimension(*) :: Neq
real(kind=dp), intent(inout), dimension(*) :: Y
real(kind=dp), intent(in), dimension(Nyh,*) :: Yh
integer, intent(in) :: Nyh
real(kind=dp), dimension(*) :: Ewt
real(kind=dp), dimension(*) :: Ftem
real(kind=dp), dimension(*) :: Savf
real(kind=dp), intent(inout), dimension(*) :: Wm
integer, dimension(*) :: Iwm
real :: f
integer :: jac

public subroutine dprjis(Neq, Y, Yh, Nyh, Ewt, Rtem, Savr, S, Wk, Iwk, res, jac, adda)

DPRJIS is called to compute and process the matrix P = A - HEL(1)J, where J is an approximation to the Jacobian dr/dy, where r = g(t,y) - A(t,y)*s.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, dimension(*) :: Neq
real(kind=dp), intent(inout), dimension(*) :: Y
real(kind=dp), intent(in), dimension(Nyh,*) :: Yh
integer, intent(in) :: Nyh
real(kind=dp), intent(in), dimension(*) :: Ewt
real(kind=dp), intent(inout), dimension(*) :: Rtem
real(kind=dp), dimension(*) :: Savr
real(kind=dp), dimension(*) :: S
real(kind=dp), intent(inout), dimension(*) :: Wk
integer, dimension(*) :: Iwk
real :: res
integer :: jac
real :: adda

public subroutine dprjs(Neq, Y, Yh, Nyh, Ewt, Ftem, Savf, Wk, Iwk, f, jac)

DPRJS is called to compute and process the matrix P = I - HEL(1)J, where J is an approximation to the Jacobian. J is computed by columns, either by the user-supplied routine JAC if MITER = 1, or by finite differencing if MITER = 2.

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
real(kind=dp), intent(inout) :: Y(*)
real(kind=dp), intent(in) :: Yh(Nyh,*)
integer, intent(in) :: Nyh
real(kind=dp) :: Ewt(*)
real(kind=dp), intent(inout) :: Ftem(*)
real(kind=dp) :: Savf(*)
real(kind=dp), intent(inout) :: Wk(*)
integer :: Iwk(*)
real :: f
integer :: jac

public subroutine drchek(Job, g_sub, Neq, Y, Yh, Nyh, G0, G1, Gx, Jroot, Irt)

This routine checks for the presence of a root in the vicinity of the current T, in a manner depending on the input flag JOB. It calls Subroutine DROOTS to locate the root as precisely as possible.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Job
real :: g_sub
integer :: Neq(*)
real(kind=dp) :: Y(*)
real(kind=dp) :: Yh(Nyh,*)
integer, intent(in) :: Nyh
real(kind=dp) :: G0(*)
real(kind=dp) :: G1(*)
real(kind=dp) :: Gx(*)
integer :: Jroot(*)
integer, intent(out) :: Irt

public subroutine dscal(N, Da, Dx, Incx)

dscal(3f) - [M_odepack::matrix] Multiply a vector by a constant.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
real(kind=dp), intent(in) :: Da
real(kind=dp), intent(inout) :: Dx(*)
integer, intent(in) :: Incx

public subroutine dslsbt(Wm, Iwm, X, Tem)

This routine acts as an interface between the core integrator routine and the DSOLBT routine for the solution of the linear system arising from chord iteration. Communication with DSLSBT uses the following variables:

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: Wm(*)
integer :: Iwm(*)
real(kind=dp) :: X(*)
real(kind=dp) :: Tem(*)

public subroutine dsolss(Wk, Iwk, X, Tem)

This routine manages the solution of the linear system arising from a chord iteration. It is called if MITER .ne. 0.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Wk(*)
integer :: Iwk(*)
real(kind=dp), intent(inout) :: X(*)
real(kind=dp) :: Tem(*)

public subroutine dsolsy(Wm, Iwm, X, Tem)

This routine manages the solution of the linear system arising from a chord iteration. It is called if MITER .ne. 0.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Wm(*)
integer :: Iwm(*)
real(kind=dp), intent(inout) :: X(*)
real(kind=dp) :: Tem(*)

public subroutine dsrcar(Rsav, Isav, Job)

This routine saves or restores (depending on JOB) the contents of the Common blocks DLS001, type(dlsa01)::DLSA, DLSR01, which are used internally by one or more ODEPACK solvers.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Rsav(*)
integer, intent(inout) :: Isav(*)
integer, intent(in) :: Job

public subroutine dsrckr(Rsav, Isav, Job)

This routine saves or restores (depending on JOB) the contents of the Common blocks DLS001, DLSR01, DLPK01, which are used internally by the DLSODKR solver.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Rsav(*)
integer, intent(inout) :: Isav(*)
integer, intent(in) :: Job

public subroutine dsrcma(Rsav, Isav, Job)

This routine saves or restores (depending on JOB) the contents of the Common blocks DLS001, type(DLSA01)::DLSA, which are used internally by one or more ODEPACK solvers.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Rsav(*)
integer, intent(inout) :: Isav(*)
integer, intent(in) :: Job

public subroutine dsrcms(Rsav, Isav, Job)

This routine saves or restores (depending on JOB) the contents of the Common blocks DLS001, DLSS01, which are used internally by one or more ODEPACK solvers.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Rsav(*)
integer, intent(inout) :: Isav(*)
integer, intent(in) :: Job

public subroutine dsrcom(Rsav, Isav, Job)

dsrcom(3f) - [M_odepack] Save/restore ODEPACK COMMON blocks.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: Rsav(*)
integer :: Isav(*)
integer, intent(in) :: Job

public subroutine dsrcpk(Rsav, Isav, Job)

This routine saves or restores (depending on JOB) the contents of the internal types used internally by the DLSODPK solver.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: Rsav(*)
integer :: Isav(*)
integer, intent(in) :: Job

public subroutine dstoda(Neq, Y, Yh, Nyh, Yh1, Ewt, Savf, Acor, Wm, Iwm, f, jac, pjac, slvs)

DSTODA performs one step of the integration of an initial value problem for a system of ordinary differential equations.

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: Neq(*)
real(kind=dp), intent(inout) :: Y(*)
real(kind=dp), intent(inout) :: Yh(Nyh,*)
integer :: Nyh
real(kind=dp), intent(inout) :: Yh1(*)
real(kind=dp) :: Ewt(*)
real(kind=dp), intent(inout) :: Savf(*)
real(kind=dp), intent(inout) :: Acor(*)
real(kind=dp) :: Wm(*)
integer :: Iwm(*)
real :: f
integer :: jac
real :: pjac
real :: slvs

public subroutine dstodpk(Neq, Y, Yh, Nyh, Yh1, Ewt, Savf, Savx, Acor, Wm, Iwm, f, jac, psol)

DSTODPK performs one step of the integration of an initial value problem for a system of Ordinary Differential Equations.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout), dimension(Nyh,*) :: Yh
integer, intent(in) :: Nyh
real(kind=dp), intent(inout), dimension(*) :: Yh1
real(kind=dp), dimension(*) :: Ewt
real(kind=dp), intent(inout), dimension(*) :: Savf
real(kind=dp), intent(inout), dimension(*) :: Savx
real(kind=dp), intent(inout), dimension(*) :: Acor
real(kind=dp), dimension(*) :: Wm
integer, dimension(*) :: Iwm
real :: f
integer :: jac
real :: psol

public subroutine dstoka(Neq, Y, Yh, Nyh, Yh1, Ewt, Savf, Savx, Acor, Wm, Iwm, f, jac, psol)

DSTOKA performs one step of the integration of an initial value problem for a system of Ordinary Differential Equations.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, dimension(*) :: Neq
real(kind=dp), dimension(*) :: Y
real(kind=dp), intent(inout), dimension(Nyh,*) :: Yh
integer, intent(in) :: Nyh
real(kind=dp), intent(inout), dimension(*) :: Yh1
real(kind=dp), dimension(*) :: Ewt
real(kind=dp), intent(inout), dimension(*) :: Savf
real(kind=dp), intent(inout), dimension(*) :: Savx
real(kind=dp), intent(inout), dimension(*) :: Acor
real(kind=dp), dimension(*) :: Wm
integer, dimension(*) :: Iwm
real :: f
integer :: jac
real :: psol

public subroutine jgroup(N, Ia, Ja, Maxg, Ngrp, Igp, Jgp, Incl, Jdone, Ier)

This subroutine constructs groupings of the column indices of the Jacobian matrix, used in the numerical evaluation of the Jacobian by finite differences.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
integer, intent(in), dimension(*) :: Ia
integer, intent(in), dimension(*) :: Ja
integer, intent(in) :: Maxg
integer, intent(out) :: Ngrp
integer, intent(inout), dimension(*) :: Igp
integer, intent(out), dimension(*) :: Jgp
integer, intent(inout), dimension(*) :: Incl
integer, intent(inout), dimension(*) :: Jdone
integer, intent(out) :: Ier

public subroutine odrv(N, Ia, Ja, A, P, Ip, Nsp, Isp, Path, Flag)

odrv(3f) [M_odepack] - driver for sparse matrix reordering routines

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: N
integer, dimension(*) :: Ia
integer, dimension(*) :: Ja
real(kind=dp), dimension(*) :: A
integer, dimension(*) :: P
integer, dimension(*) :: Ip
integer, intent(in) :: Nsp
integer, dimension(*) :: Isp
integer, intent(in) :: Path
integer, intent(inout) :: Flag

public subroutine xerrwd(Msg, Nmes, Nerr, Level, Ni, I1, I2, Nr, R1, R2)

xerrwd(3f) - [M_odepack::Matrix] Write error message with values.

Read more…

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: Msg
integer :: Nmes
integer :: Nerr
integer, intent(in) :: Level
integer, intent(in) :: Ni
integer, intent(in) :: I1
integer, intent(in) :: I2
integer, intent(in) :: Nr
real(kind=dp), intent(in) :: R1
real(kind=dp), intent(in) :: R2

public subroutine xsetf(mflag)

xsetf(3f) - [M_odepack::matrix] Reset the error print control flag.

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: mflag

public subroutine xsetun(lun)

xsetun(3f) - [M_odepack::matrix] Reset the logical unit number for error messages.

Read more…

Arguments

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