Procedures

ProcedureLocationProcedure TypeDescription
add_lvst dsparskit Subroutine
amudia dsparskit Subroutine
amux dsparskit Subroutine
aplb dsparskit Subroutine
aplb1 dsparskit Subroutine
aplsb dsparskit Subroutine
aplsca dsparskit Subroutine
atob dsparskit Subroutine
BFS dsparskit Subroutine
c1_average web_m Subroutine

This routine computes the spatial average value of .

cinit web_m Subroutine

This routine computes and loads the vectors of initial values.

coicsr dsparskit Subroutine
coocsr dsparskit Subroutine
cperm dsparskit Subroutine
csrbnd dsparskit Subroutine
csrcoo dsparskit Subroutine
csrcsc dsparskit Subroutine
csrcsc2 dsparskit Subroutine
csrdia dsparskit Subroutine
csrdns dsparskit Subroutine
D1MACH daux.f Function
DASKR daskr.f Subroutine
datv daskr_new.f90 Subroutine

This routine computes the matrix-vector product:

Read more…
daxpy blas_interfaces Interface
dblstr dsparskit Subroutine
DCNST0 daskr.f Subroutine
DCNSTR daskr.f Subroutine
dcopy blas_interfaces Interface
DDASIC daskr.f Subroutine
ddasid daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
ddasik daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
DDATRP daskr.f Subroutine
DDAWTS daskr.f Subroutine
ddot blas_interfaces Interface
DDSTP daskr.f Subroutine
ddwnrm daskr_new.f90 Function

This function computes the weighted root-mean-square norm of the vector v with reciprocal weights rwt:

Read more…
dfnrmd daskr_new.f90 Subroutine

This routine calculates the scaled preconditioned norm of the nonlinear function used in the nonlinear iteration for obtaining consistent initial conditions. Specifically, it calculates the weighted root-mean-square norm of the vector:

Read more…
dfnrmk daskr_new.f90 Subroutine

This routine calculates the scaled preconditioned norm of the nonlinear function used in the nonlinear iteration for obtaining consistent initial conditions. Specifically, it calculates the weighted root-mean-square norm of the vector:

Read more…
dgbfa linpack Subroutine

DGBFA factors a real band matrix by elimination.

dgbsl linpack Subroutine

DGBSL solves a real banded system factored by DGBCO or DGBFA.

dgefa linpack Subroutine

DGEFA factors a real general matrix.

dgesl linpack Subroutine

DGESL solves a real general linear system A * X = B.

dhels daskr_new.f90 Subroutine

This routine solves the least squares problem:

Read more…
dheqr daskr_new.f90 Subroutine

This routine performs a QR decomposition of an upper Hessenberg matrix a using Givens rotations. There are two options available:

Read more…
diamua dsparskit Subroutine
diapos dsparskit Subroutine
DINVWT daskr.f Subroutine
dlinsd daskr_new.f90 Subroutine

This routine uses a linesearch algorithm to calculate a new pair, denoted , such that:

Read more…
dlinsk daskr_new.f90 Subroutine

This routine uses a linesearch algorithm to calculate a new pair, denoted , such that:

Read more…
dmatd daskr_new.f90 Subroutine

This routine computes the iteration matrix:

Read more…
dnedd daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
dnedk daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
dnrm2 blas_interfaces Interface
dnsd daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
dnsid daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
dnsik daskr_new.f90 Subroutine

This routine solves a nonlinear system of algebraic equations of the form:

Read more…
dnsk daskr_new.f90 Subroutine

This routines solves a nonlinear system of algebraic equations of the form:

Read more…
dorth daskr_new.f90 Subroutine

This routine orthogonalizes the vector vnew against the previous kmp vectors in the v matrix. It uses a modified Gram-Schmidt orthogonalization procedure with conditional reorthogonalization.

dperm dsparskit Subroutine
DRCHEK daskr.f Subroutine
DROOTS daskr.f Subroutine
dscal blas_interfaces Interface
dslvd daskr_new.f90 Subroutine

This routine manages the solution of the linear system arising in the Newton iteration. Real matrix information and real temporary storage is stored in the array rwm, while integer matrix information is stored in the array iwm. For a dense matrix, the LINPACK routine dgesl is called. For a banded matrix, the LINPACK routine dgbsl is called.

dslvk daskr_new.f90 Subroutine

This routine uses a restart algorithm and interfaces to dspigm for the solution of the linear system arising from a Newton iteration.

dspigm daskr_new.f90 Subroutine

This routine solves the linear system using a scaled preconditioned version of the generalized minimum residual method. An initial guess of is assumed.

DUMSUM daux.f Subroutine
dvperm dsparskit Subroutine
DYYPNW daskr.f Subroutine
getbwd dsparskit Subroutine
idamax blas_interfaces Interface
ilut dsparskit Subroutine
ilutp dsparskit Subroutine
infdia dsparskit Subroutine
ivperm dsparskit Subroutine
IXSAV daux.f Function
jac krdem2_m Subroutine

Jacobian routine.

jac web_m Subroutine

This routine interfaces to subroutines jac_rbdpre or jac_rbgpre, depending on the flag jbg = ipar(2), to generate and preprocess the block-diagonal Jacobian corresponding to the reaction term.

Read more…
jac_banpre daskr_banpre Subroutine

This routine generates a banded preconditioner matrix that approximates the Jacobian matrix . The banded matrix has half-bandwidths and , and is computed by making calls to the user's res routine and forming difference quotients, exactly as in the banded direct method option of daskr. Afterwards, this matrix is LU factorized by dgbfa from LINPACK and the factors are stored in the work arrays rwp and iwp.

jac_ilupre daskr_ilupre Subroutine

This subroutine uses finite-differences to calculate the Jacobian matrix in sparse format, and then performs an incomplete LU decomposition using either ilut or ilutp from SPARSKIT.

jac_rbdpre daskr_rbdpre Subroutine

This routine generates and preprocesses a block-diagonal preconditioner matrix, based on the part of the Jacobian corresponding to the reaction terms of the problem. It generates a matrix of the form . It calls dgefa from LINPACK to do the LU decomposition of each diagonal block. The computation of the diagonal blocks uses the mesh information in the module variables. One block per spatial point is computed. The Jacobian elements are generated by difference quotients. This routine calls a user routine rblock to compute the block (jx,jy) of .

jac_rbgpre daskr_rbgpre Subroutine

This routine generates and preprocesses a block-diagonal preconditioner matrix, based on the part of the Jacobian corresponding to the reaction terms of the problem, using block-grouping. It generates a matrix of the form . It calls dgefa from LINPACK to do the LU decomposition of each diagonal block. The computation of the diagonal blocks uses the mesh information in the module variables. One block per group is computed. The Jacobian elements are generated by difference quotients. This routine calls a user routine rblock to compute the block (jx,jy) of .

lusol dsparskit Subroutine
maskdeg dsparskit Function
output web_m Subroutine

This routine prints the values of the individual species densities at the current time t, to logical unit lout.

perphn dsparskit Subroutine
prtmt dsparskit Subroutine
psol web_m Subroutine

This routine applies the inverse of a product preconditioner matrix to the vector in the array b. Depending on the flag jpre, this involves a call to gauss_seidel, for the inverse of the spatial factor, and/or a call to psol_rbdpre or psol_rbgpre for the inverse of the reaction-based factor . If jbg == 0, the latter factor does not use block-grouping and jac_rbdpre is called. Otherwise, if jbg == 1, block-grouping is used and jac_rbgpre is called. The array b is overwritten with the solution.

psol_banpre daskr_banpre Subroutine

This routine solves the linear system for the banded preconditioner , given a vector , using the LU decomposition produced by jac_banpre. The solution is carried out by dgbsl from LINPACK.

psol_ilupre daskr_ilupre Subroutine

This subroutine solves the linear system for the sparse preconditioner , given a vector , using the incomplete LU decomposition produced by jac_ilupre. The solution is carried out by lusol from SPARSKIT.

psol_rbdpre daskr_rbdpre Subroutine

This routine solves a linear system , using the LU factors of the diagonal blocks computed in jac_rbdpre and mesh parameters passed as module variables. The solution is carried out by dgesl from LINPACK.

psol_rbgpre daskr_rbgpre Subroutine

This routine solves a linear system , using the LU factors of the diagonal blocks computed in jac_rbgpre and mesh parameters passed as module variables. The solution is carried out by dgesl from LINPACK.

qsplit dsparskit Subroutine
res heatilu_m Subroutine

User-defined residuals routine. It computes the residuals for the 2D discretized heat equation, with zero boundary values.

res krdem2_m Subroutine

Residuals routine.

res web_m Subroutine

This routine computes the residuals vector, using subroutine f for the right-hand sides.

res heat_m Subroutine

User-defined residuals routine. It computes the residuals for the 2D discretized heat equation, with zero boundary values.

res krdem1_m Subroutine

Residuals routine.

rnrms dsparskit Subroutine
roscal dsparskit Subroutine
rperm dsparskit Subroutine
rt heatilu_m Subroutine

User-defined roots routine.

rt krdem2_m Subroutine

Roots routine.

rt web_m Subroutine

Roots routine.

rt heat_m Subroutine

User-defined roots routine.

rt krdem1_m Subroutine

Roots routine.

rversp dsparskit Subroutine
setid web_m Subroutine

This routine sets the ID array in iwork, indicating which components are differential and which are algebraic.

setpar web_par Subroutine

This routine sets the basic problem parameters which are passed to the various routines via the module web_par.

setup_ilupre daskr_ilupre Subroutine

Setup routine for the incomplete LU preconditioner. This routine checks the user input and calculates the minimum length needed for the preconditioner workspace arrays.

setup_rbdpre daskr_rbdpre Subroutine

This routine sets the mesh parameters needed to use the routines jac_rbdpre and psol_rbdpre, assuming a 2D rectangular problem. Additionally, it loads the lengths lrwp and liwp in array iwork.

setup_rbgpre daskr_rbgpre Subroutine

This routine sets the mesh and block-grouping parameters needed to use the routines jac_rbgpre and psol_rbgpre, assuming a 2D rectangular problem with uniform rectangular block-grouping. Additionally, it loads the lengths lrwp and liwp in array iwork.

stripes dsparskit Subroutine
uinit heatilu_m Subroutine

This routine computes and loads the vector of initial values. The initial values are given by the polynomial:

Read more…
uinit heat_m Subroutine

This routine computes and loads the vector of initial values. The initial values are given by the polynomial:

Read more…
XERRWD daux.f Subroutine
XSETF daux.f Subroutine
XSETUN daux.f Subroutine
call~~graph~~CallGraph interface~daxpy daxpy interface~dcopy dcopy interface~ddot ddot interface~dnrm2 dnrm2 interface~dscal dscal interface~idamax idamax proc~add_lvst add_lvst proc~amudia amudia proc~amux amux proc~aplb aplb w w proc~aplb->w proc~aplb1 aplb1 proc~aplsb aplsb proc~aplsca aplsca proc~diapos diapos proc~aplsca->proc~diapos proc~atob atob proc~bfs BFS proc~bfs->proc~add_lvst proc~c1_average c1_average proc~cinit cinit proc~coicsr coicsr proc~coocsr coocsr proc~cperm cperm proc~csrbnd csrbnd proc~getbwd getbwd proc~csrbnd->proc~getbwd bd bd proc~csrbnd->bd proc~csrcoo csrcoo proc~csrcsc csrcsc proc~csrcsc2 csrcsc2 proc~csrcsc->proc~csrcsc2 proc~csrdia csrdia proc~infdia infdia proc~csrdia->proc~infdia proc~csrdns csrdns f f proc~csrdns->f ns ns proc~csrdns->ns proc~d1mach D1MACH dumsum dumsum proc~d1mach->dumsum proc~daskr DASKR d1mach d1mach proc~daskr->d1mach dcnst0 dcnst0 proc~daskr->dcnst0 ddasic ddasic proc~daskr->ddasic ddatrp ddatrp proc~daskr->ddatrp ddawts ddawts proc~daskr->ddawts ddstp ddstp proc~daskr->ddstp ddwnrm ddwnrm proc~daskr->ddwnrm dinvwt dinvwt proc~daskr->dinvwt drchek drchek proc~daskr->drchek xerrwd xerrwd proc~daskr->xerrwd proc~datv datv proc~dblstr dblstr proc~dblstr->proc~bfs proc~perphn perphn proc~dblstr->proc~perphn proc~stripes stripes proc~dblstr->proc~stripes proc~dcnst0 DCNST0 proc~dcnstr DCNSTR proc~ddasic DDASIC dcopy dcopy proc~ddasic->dcopy proc~ddasid ddasid dmatd dmatd proc~ddasid->dmatd dnsid dnsid proc~ddasid->dnsid proc~ddasik ddasik dnsik dnsik proc~ddasik->dnsik proc~ddatrp DDATRP proc~ddawts DDAWTS proc~ddstp DDSTP proc~ddstp->ddatrp proc~ddstp->ddwnrm proc~ddwnrm ddwnrm proc~dfnrmd dfnrmd proc~dfnrmd->ddwnrm dslvd dslvd proc~dfnrmd->dslvd proc~dfnrmk dfnrmk proc~dfnrmk->interface~dcopy proc~dfnrmk->interface~dscal proc~dfnrmk->ddwnrm proc~dgbfa dgbfa proc~dgbfa->interface~daxpy proc~dgbfa->interface~dscal proc~dgbfa->interface~idamax proc~dgbsl dgbsl proc~dgbsl->interface~daxpy proc~dgbsl->interface~ddot proc~dgefa dgefa proc~dgefa->interface~idamax proc~dgesl dgesl proc~dhels dhels proc~dhels->interface~daxpy proc~dheqr dheqr proc~diamua diamua proc~dinvwt DINVWT proc~dlinsd dlinsd dcnstr dcnstr proc~dlinsd->dcnstr dfnrmd dfnrmd proc~dlinsd->dfnrmd dyypnw dyypnw proc~dlinsd->dyypnw proc~dlinsd->xerrwd proc~dlinsk dlinsk proc~dlinsk->dcnstr dfnrmk dfnrmk proc~dlinsk->dfnrmk proc~dlinsk->dyypnw proc~dlinsk->xerrwd proc~dmatd dmatd proc~dmatd->proc~dgbfa proc~dmatd->proc~dgefa proc~dnedd dnedd proc~dnedd->ddwnrm proc~dnedd->dmatd dnsd dnsd proc~dnedd->dnsd proc~dnedk dnedk proc~dnedk->ddwnrm dnsk dnsk proc~dnedk->dnsk proc~dnsd dnsd proc~dnsd->ddwnrm proc~dnsd->dslvd proc~dnsid dnsid proc~dnsid->ddwnrm dlinsd dlinsd proc~dnsid->dlinsd proc~dnsid->dslvd proc~dnsik dnsik proc~dnsik->ddwnrm proc~dnsik->dfnrmk dlinsk dlinsk proc~dnsik->dlinsk dslvk dslvk proc~dnsik->dslvk proc~dnsk dnsk proc~dnsk->ddwnrm proc~dnsk->dslvk proc~dorth dorth proc~dorth->interface~daxpy proc~dorth->interface~ddot proc~dorth->interface~dnrm2 proc~dperm dperm proc~dperm->proc~cperm proc~rperm rperm proc~dperm->proc~rperm proc~drchek DRCHEK proc~drchek->dcopy proc~drchek->ddatrp droots droots proc~drchek->droots proc~droots DROOTS proc~droots->dcopy proc~dslvd dslvd proc~dslvd->proc~dgbsl proc~dslvd->proc~dgesl proc~dslvk dslvk proc~dslvk->interface~dcopy proc~dslvk->interface~dscal dspigm dspigm proc~dslvk->dspigm proc~dspigm dspigm proc~dspigm->interface~daxpy proc~dspigm->interface~dcopy proc~dspigm->interface~dnrm2 proc~dspigm->interface~dscal datv datv proc~dspigm->datv dhels dhels proc~dspigm->dhels dheqr dheqr proc~dspigm->dheqr dorth dorth proc~dspigm->dorth proc~dumsum DUMSUM proc~dvperm dvperm proc~dyypnw DYYPNW proc~ilut ilut proc~qsplit qsplit proc~ilut->proc~qsplit proc~ilutp ilutp proc~ilutp->proc~qsplit proc~ivperm ivperm proc~ixsav IXSAV proc~jac jac proc~jac_banpre jac_banpre proc~jac_banpre->proc~dgbfa proc~jac_ilupre jac_ilupre proc~jac_ilupre->proc~amudia proc~jac_ilupre->proc~atob proc~jac_ilupre->proc~bfs proc~jac_ilupre->proc~coocsr proc~jac_ilupre->proc~dperm proc~jac_ilupre->proc~dvperm proc~jac_ilupre->proc~ilut proc~jac_ilupre->proc~ilutp proc~prtmt prtmt proc~jac_ilupre->proc~prtmt proc~roscal roscal proc~jac_ilupre->proc~roscal proc~rversp rversp proc~jac_ilupre->proc~rversp proc~jac_ilupre->xerrwd proc~jac_rbdpre jac_rbdpre proc~jac_rbdpre->proc~dgefa proc~jac_rbgpre jac_rbgpre proc~jac_rbgpre->proc~dgefa proc~jac~2 jac proc~jac~2->proc~jac_rbdpre proc~jac~2->proc~jac_rbgpre proc~lusol lusol proc~maskdeg maskdeg proc~output output proc~perphn->proc~bfs proc~perphn->proc~maskdeg 1h 1h proc~prtmt->1h alog10 alog10 proc~prtmt->alog10 proc~prtmt->f lseif lseif proc~prtmt->lseif proc~psol psol proc~psol_rbdpre psol_rbdpre proc~psol->proc~psol_rbdpre proc~psol_rbgpre psol_rbgpre proc~psol->proc~psol_rbgpre proc~psol_banpre psol_banpre proc~psol_banpre->proc~dgbsl proc~psol_ilupre psol_ilupre proc~psol_ilupre->proc~dvperm proc~psol_ilupre->proc~lusol proc~psol_rbdpre->proc~dgesl proc~psol_rbgpre->proc~dgesl proc~res res proc~res~2 res proc~res~3 res proc~res~4 res proc~res~5 res proc~rnrms rnrms proc~roscal->proc~diamua proc~roscal->proc~rnrms proc~rt rt proc~rt~2 rt proc~rt~3 rt proc~rt~3->proc~c1_average proc~rt~4 rt proc~rt~5 rt proc~setid setid proc~setpar setpar proc~setup_ilupre setup_ilupre proc~setup_rbdpre setup_rbdpre proc~setup_rbgpre setup_rbgpre proc~uinit uinit proc~uinit~2 uinit proc~xerrwd XERRWD proc~xsetf XSETF proc~xsetun XSETUN program~example_heat example_heat program~example_heat->proc~uinit~2 daskr daskr program~example_heat->daskr program~example_heatilu example_heatilu program~example_heatilu->proc~setup_ilupre program~example_heatilu->proc~uinit program~example_heatilu->daskr program~example_web example_web program~example_web->proc~c1_average program~example_web->proc~cinit program~example_web->proc~output program~example_web->proc~setid program~example_web->proc~setpar program~example_web->proc~setup_rbdpre program~example_web->proc~setup_rbgpre program~example_web->daskr program~test_krdem1 test_krdem1 program~test_krdem1->daskr program~test_krdem2 test_krdem2 program~test_krdem2->daskr
Help