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) |
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)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=dp), | intent(in) | :: | v(n) | |||
real(kind=dp), | intent(in) | :: | w(n) |
dvnorm(3f) - [M_odepack] Weighted root-mean-square vector norm.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real(kind=dp), | intent(in) | :: | v(n) | |||
real(kind=dp), | intent(in) | :: | w(n) |
This routine computes an adjustment, LDIF, to the required integer storage space in IWK (sparse matrix work space).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | N | |||
integer, | intent(in) | :: | Isp(*) | |||
integer, | intent(out) | :: | Ldif |
cdrv(3f) - [M_odepack ] driver for solving sparse non-symmetric systems of linear equations
Type | Intent | Optional | 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 |
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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | N | |||
integer, | intent(in) | :: | Ia(*) | |||
integer, | intent(in) | :: | Ja(*) | |||
integer, | intent(out) | :: | Nzsut |
This subroutine computes the initial value of the vector YDOT satisfying
Type | Intent | Optional | 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 |
This subroutine computes the initial value of the vector YDOT satisfying
Type | Intent | Optional | 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 |
daxpy(3f) - [M_odepack::matrix] Compute a constant times a vector plus a vector.
Type | Intent | Optional | 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 |
dcfode(3f) - [M_odepack] Set ODE integrator coefficients.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | meth | |||
real(kind=dp), | intent(inout) | :: | elco(13,12) | |||
real(kind=dp), | intent(out) | :: | tesco(3,12) |
dcopy(3f) - [M_odepack::matrix] copy a vector
Type | Intent | Optional | 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 |
dewset(3f) - [M_odepack] Set error weight vector.
Type | Intent | Optional | 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) |
dgefa(3f) - [M_odepack::matrix] Factor a matrix using Gaussian elimination.
Type | Intent | Optional | 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 |
dgesl(3f) - [M_odepack::matrix] Solve the real system AX=B or TRANS(A)X=B using the factors computed by DGECO or DGEFA.
Type | Intent | Optional | 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 |
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.)
Type | Intent | Optional | 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 |
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:
Type | Intent | Optional | 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 |
This routine serves as an interface between the driver and Subroutine DPREPI. Tasks performed here are:
Type | Intent | Optional | 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 |
dlhin(3f) - [M_odepack] compute step size H0 to be attempted on the first step, when the user supplied value is absent
Type | Intent | Optional | 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 |
DLSODA solves the initial value problem for stiff or nonstiff systems of first order ODEs of the form
Type | Intent | Optional | 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 |
DLSODAR solves the initial value problem for stiff or nonstiff systems of first order ODEs of the form
Type | Intent | Optional | 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 |
DLSODE solves the initial-value problem for stiff or nonstiff systems of first-order ODE’s,
Type | Intent | Optional | 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 |
DLSODES solves the initial value problem for stiff or nonstiff systems of first order ODEs,
Type | Intent | Optional | 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 |
DLSODI solves the initial value problem for linearly implicit systems of first order ODEs,
Type | Intent | Optional | 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 |
DLSODIS solves the initial value problem for linearly implicit systems of first order ODEs,
Type | Intent | Optional | 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 |
DLSODKR: Livermore Solver for Ordinary Differential equations, with preconditioned Krylov iteration methods for the Newton correction linear systems, and with Rootfinding.
Type | Intent | Optional | 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(*) |
DLSODPK: Livermore Solver for Ordinary Differential equations, with Preconditioned Krylov iteration methods for the Newton correction linear systems.
Type | Intent | Optional | 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 |
DLSOIBT: Livermore Solver for Ordinary differential equations given in Implicit form, with Block-Tridiagonal Jacobian treatment.
Type | Intent | Optional | 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 |
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.
Type | Intent | Optional | 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 |
DPREPJ is called by DSTODE to compute and process the matrix P = I - hel(1)J , where J is an approximation to the Jacobian.
Type | Intent | Optional | 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 |
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.
Type | Intent | Optional | 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 |
DPRJA is called by DSTODA to compute and process the matrix P = I - HEL(1)J, where J is an approximation to the Jacobian.
Type | Intent | Optional | 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 |
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.
Type | Intent | Optional | 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 |
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.
Type | Intent | Optional | 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 |
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.
Type | Intent | Optional | 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 |
dscal(3f) - [M_odepack::matrix] Multiply a vector by a constant.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | N | |||
real(kind=dp), | intent(in) | :: | Da | |||
real(kind=dp), | intent(inout) | :: | Dx(*) | |||
integer, | intent(in) | :: | Incx |
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:
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp) | :: | Wm(*) | ||||
integer | :: | Iwm(*) | ||||
real(kind=dp) | :: | X(*) | ||||
real(kind=dp) | :: | Tem(*) |
This routine manages the solution of the linear system arising from a chord iteration. It is called if MITER .ne. 0.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | Wk(*) | |||
integer | :: | Iwk(*) | ||||
real(kind=dp), | intent(inout) | :: | X(*) | |||
real(kind=dp) | :: | Tem(*) |
This routine manages the solution of the linear system arising from a chord iteration. It is called if MITER .ne. 0.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | Wm(*) | |||
integer | :: | Iwm(*) | ||||
real(kind=dp), | intent(inout) | :: | X(*) | |||
real(kind=dp) | :: | Tem(*) |
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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | Rsav(*) | |||
integer, | intent(inout) | :: | Isav(*) | |||
integer, | intent(in) | :: | 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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | Rsav(*) | |||
integer, | intent(inout) | :: | Isav(*) | |||
integer, | intent(in) | :: | 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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | Rsav(*) | |||
integer, | intent(inout) | :: | Isav(*) | |||
integer, | intent(in) | :: | 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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | Rsav(*) | |||
integer, | intent(inout) | :: | Isav(*) | |||
integer, | intent(in) | :: | Job |
dsrcom(3f) - [M_odepack] Save/restore ODEPACK COMMON blocks.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp) | :: | Rsav(*) | ||||
integer | :: | Isav(*) | ||||
integer, | intent(in) | :: | Job |
This routine saves or restores (depending on JOB) the contents of the internal types used internally by the DLSODPK solver.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp) | :: | Rsav(*) | ||||
integer | :: | Isav(*) | ||||
integer, | intent(in) | :: | Job |
DSTODA performs one step of the integration of an initial value problem for a system of ordinary differential equations.
Type | Intent | Optional | 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 |
DSTODPK performs one step of the integration of an initial value problem for a system of Ordinary Differential Equations.
Type | Intent | Optional | 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 |
DSTOKA performs one step of the integration of an initial value problem for a system of Ordinary Differential Equations.
Type | Intent | Optional | 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 |
This subroutine constructs groupings of the column indices of the Jacobian matrix, used in the numerical evaluation of the Jacobian by finite differences.
Type | Intent | Optional | 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 |
odrv(3f) [M_odepack] - driver for sparse matrix reordering routines
Type | Intent | Optional | 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 |
xerrwd(3f) - [M_odepack::Matrix] Write error message with values.
Type | Intent | Optional | 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 |
xsetf(3f) - [M_odepack::matrix] Reset the error print control flag.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | mflag |
xsetun(3f) - [M_odepack::matrix] Reset the logical unit number for error messages.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | lun |