web_m Module

Procedures for example_web.


Uses

  • module~~web_m~~UsesGraph module~web_m web_m module~daskr_kinds daskr_kinds module~web_m->module~daskr_kinds iso_fortran_env iso_fortran_env module~daskr_kinds->iso_fortran_env

Used by

  • module~~web_m~~UsedByGraph module~web_m web_m program~example_web example_web program~example_web->module~web_m

Subroutines

public pure subroutine setid(mx, my, ns, nsd, lid, iwork)

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

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mx
integer, intent(in) :: my
integer, intent(in) :: ns
integer, intent(in) :: nsd
integer, intent(in) :: lid
integer, intent(inout) :: iwork(*)

public pure subroutine cinit(c, cdot, pred_ic, rpar)

This routine computes and loads the vectors of initial values.

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(out) :: c(:)
real(kind=rk), intent(out) :: cdot(:)
real(kind=rk), intent(in) :: pred_ic
real(kind=rk), intent(inout) :: rpar(:)

public impure subroutine output(t, c, ns, mx, my, lout)

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

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: t
real(kind=rk), intent(in) :: c(ns,mx,my)
integer, intent(in) :: ns
integer, intent(in) :: mx
integer, intent(in) :: my
integer, intent(in) :: lout

public pure subroutine res(t, c, cdot, cj, delta, ires, rpar, ipar)

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

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: t
real(kind=rk), intent(in) :: c(*)
real(kind=rk), intent(in) :: cdot(*)
real(kind=rk), intent(in) :: cj
real(kind=rk), intent(out) :: delta(*)
integer, intent(inout) :: ires
real(kind=rk), intent(inout) :: rpar(*)
integer, intent(inout) :: ipar(*)

public subroutine jac(res, ires, neq, t, c, cdot, rewt, savr, wk, h, cj, rwp, iwp, ierr, rpar, ipar)

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…

Arguments

Type IntentOptional Attributes Name
procedure(res_t) :: res
integer, intent(out) :: ires
integer, intent(in) :: neq
real(kind=rk), intent(in) :: t
real(kind=rk), intent(inout) :: c(*)
real(kind=rk), intent(in) :: cdot(*)
real(kind=rk), intent(in) :: rewt(*)
real(kind=rk), intent(inout) :: savr(*)
real(kind=rk), intent(inout) :: wk(*)
real(kind=rk), intent(in) :: h
real(kind=rk), intent(in) :: cj
real(kind=rk), intent(inout) :: rwp(*)
integer, intent(inout) :: iwp(*)
integer, intent(inout) :: ierr
real(kind=rk), intent(inout) :: rpar(*)
integer, intent(inout) :: ipar(*)

public subroutine psol(neq, t, c, cdot, savr, wk, cj, wght, rwp, iwp, b, epslin, ierr, rpar, ipar)

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.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: neq
real(kind=rk), intent(in) :: t
real(kind=rk), intent(in) :: c(*)
real(kind=rk), intent(in) :: cdot(*)
real(kind=rk), intent(in) :: savr(*)
real(kind=rk), intent(inout) :: wk(*)
real(kind=rk), intent(in) :: cj
real(kind=rk), intent(in) :: wght(*)
real(kind=rk), intent(inout) :: rwp(*)
integer, intent(inout) :: iwp(*)
real(kind=rk), intent(inout) :: b(*)
real(kind=rk), intent(in) :: epslin
integer, intent(inout) :: ierr
real(kind=rk), intent(inout) :: rpar(*)
integer, intent(inout) :: ipar(*)

public pure subroutine c1_average(c, c1ave)

This routine computes the spatial average value of .

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: c(*)
real(kind=rk), intent(out) :: c1ave

public pure subroutine rt(neq, t, c, cdot, nrt, rval, rpar, ipar)

Roots routine.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: neq
real(kind=rk), intent(in) :: t
real(kind=rk), intent(in) :: c(neq)
real(kind=rk), intent(in) :: cdot(neq)
integer, intent(in) :: nrt
real(kind=rk), intent(out) :: rval(nrt)
real(kind=rk), intent(in) :: rpar(*)
integer, intent(in) :: ipar(*)