MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
This module contains the IMS linear accelerator subroutines. More...
Functions/Subroutines | |
subroutine | ims_base_cg (ICNVG, ITMAX, INNERIT, NEQ, NJA, NIAPC, NJAPC, IPC, ICNVGOPT, NORTH, DVCLOSE, RCLOSE, L2NORM0, EPFACT, IA0, JA0, A0, IAPC, JAPC, APC, X, B, D, P, Q, Z, NJLU, IW, JLU, NCONV, CONVNMOD, CONVMODSTART, CACCEL, summary) |
@ brief Preconditioned Conjugate Gradient linear accelerator More... | |
subroutine | ims_base_bcgs (ICNVG, ITMAX, INNERIT, NEQ, NJA, NIAPC, NJAPC, IPC, ICNVGOPT, NORTH, ISCL, DSCALE, DVCLOSE, RCLOSE, L2NORM0, EPFACT, IA0, JA0, A0, IAPC, JAPC, APC, X, B, D, P, Q, T, V, DHAT, PHAT, QHAT, NJLU, IW, JLU, NCONV, CONVNMOD, CONVMODSTART, CACCEL, summary) |
@ brief Preconditioned BiConjugate Gradient Stabilized linear accelerator More... | |
subroutine | ims_base_calc_order (IORD, NEQ, NJA, IA, JA, LORDER, IORDER) |
@ brief Calculate LORDER AND IORDER More... | |
subroutine | ims_base_scale (IOPT, ISCL, NEQ, NJA, IA, JA, AMAT, X, B, DSCALE, DSCALE2) |
@ brief Scale the coefficient matrix More... | |
subroutine | ims_base_pcu (IOUT, NJA, NEQ, NIAPC, NJAPC, IPC, RELAX, AMAT, IA, JA, APC, IAPC, JAPC, IW, W, LEVEL, DROPTOL, NJLU, NJW, NWLU, JLU, JW, WLU) |
@ brief Update the preconditioner More... | |
subroutine | ims_base_pcjac (NJA, NEQ, AMAT, APC, IA, JA) |
@ brief Jacobi preconditioner More... | |
subroutine | ims_base_jaca (NEQ, A, D1, D2) |
@ brief Apply the Jacobi preconditioner More... | |
subroutine | ims_base_pcilu0 (NJA, NEQ, AMAT, IA, JA, APC, IAPC, JAPC, IW, W, RELAX, IPCFLAG, DELTA) |
@ brief Update the ILU0 preconditioner More... | |
subroutine | ims_base_ilu0a (NJA, NEQ, APC, IAPC, JAPC, R, D) |
@ brief Apply the ILU0 and MILU0 preconditioners More... | |
subroutine | ims_base_testcnvg (Icnvgopt, Icnvg, Iiter, Dvmax, Rmax, Rmax0, Epfact, Dvclose, Rclose) |
@ brief Test for solver convergence More... | |
subroutine | ims_calc_pcdims (neq, nja, ia, level, ipc, niapc, njapc, njlu, njw, nwlu) |
subroutine | ims_base_pccrs (NEQ, NJA, IA, JA, IAPC, JAPC) |
@ brief Generate CRS pointers for the preconditioner More... | |
subroutine | ims_base_isort (NVAL, IARRAY) |
In-place sorting for an integer array. More... | |
subroutine | ims_base_residual (NEQ, NJA, X, B, D, A, IA, JA) |
Calculate residual. More... | |
real(dp) function | ims_base_epfact (icnvgopt, kstp) |
Function returning EPFACT. More... | |
Variables | |
type(blockparsertype), private | parser |
This module contains the IMS linear accelerator subroutines used by a MODFLOW 6 solution.
subroutine imslinearbasemodule::ims_base_bcgs | ( | integer(i4b), intent(inout) | ICNVG, |
integer(i4b), intent(in) | ITMAX, | ||
integer(i4b), intent(inout) | INNERIT, | ||
integer(i4b), intent(in) | NEQ, | ||
integer(i4b), intent(in) | NJA, | ||
integer(i4b), intent(in) | NIAPC, | ||
integer(i4b), intent(in) | NJAPC, | ||
integer(i4b), intent(in) | IPC, | ||
integer(i4b), intent(in) | ICNVGOPT, | ||
integer(i4b), intent(in) | NORTH, | ||
integer(i4b), intent(in) | ISCL, | ||
real(dp), dimension(neq), intent(in) | DSCALE, | ||
real(dp), intent(in) | DVCLOSE, | ||
real(dp), intent(in) | RCLOSE, | ||
real(dp), intent(in) | L2NORM0, | ||
real(dp), intent(in) | EPFACT, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA0, | ||
integer(i4b), dimension(nja), intent(in) | JA0, | ||
real(dp), dimension(nja), intent(in) | A0, | ||
integer(i4b), dimension(niapc + 1), intent(in) | IAPC, | ||
integer(i4b), dimension(njapc), intent(in) | JAPC, | ||
real(dp), dimension(njapc), intent(in) | APC, | ||
real(dp), dimension(neq), intent(inout) | X, | ||
real(dp), dimension(neq), intent(in) | B, | ||
real(dp), dimension(neq), intent(inout) | D, | ||
real(dp), dimension(neq), intent(inout) | P, | ||
real(dp), dimension(neq), intent(inout) | Q, | ||
real(dp), dimension(neq), intent(inout) | T, | ||
real(dp), dimension(neq), intent(inout) | V, | ||
real(dp), dimension(neq), intent(inout) | DHAT, | ||
real(dp), dimension(neq), intent(inout) | PHAT, | ||
real(dp), dimension(neq), intent(inout) | QHAT, | ||
integer(i4b), intent(in) | NJLU, | ||
integer(i4b), dimension(niapc), intent(in) | IW, | ||
integer(i4b), dimension(njlu), intent(in) | JLU, | ||
integer(i4b), intent(in) | NCONV, | ||
integer(i4b), intent(in) | CONVNMOD, | ||
integer(i4b), dimension(convnmod + 1), intent(inout) | CONVMODSTART, | ||
character(len=31), dimension(nconv), intent(inout) | CACCEL, | ||
type(convergencesummarytype), intent(in), pointer | summary | ||
) |
Apply the Preconditioned BiConjugate Gradient Stabilized linear accelerator to the current coefficient matrix, right-hand side, using the currentdependent-variable.
[in,out] | icnvg | convergence flag (1) non-convergence (0) |
[in] | itmax | maximum number of inner iterations |
[in,out] | innerit | inner iteration count |
[in] | neq | number of equations |
[in] | nja | number of non-zero entries |
[in] | niapc | preconditioner number of rows |
[in] | njapc | preconditioner number of non-zero entries |
[in] | ipc | preconditioner option |
[in] | icnvgopt | flow convergence criteria option |
[in] | north | orthogonalization frequency |
[in] | iscl | scaling option |
[in] | dscale | scaling vector |
[in] | dvclose | dependent-variable closure criteria |
[in] | rclose | flow closure criteria |
[in] | l2norm0 | initial L-2 norm for system of equations |
[in] | epfact | factor for decreasing flow convergence criteria for subsequent Picard iterations |
[in] | ia0 | CRS row pointers |
[in] | ja0 | CRS column pointers |
[in] | a0 | coefficient matrix |
[in] | iapc | preconditioner CRS row pointers |
[in] | japc | preconditioner CRS column pointers |
[in] | apc | preconditioner matrix |
[in,out] | x | dependent-variable vector |
[in] | b | right-hand side vector |
[in,out] | d | preconditioner working vector |
[in,out] | p | preconditioner working vector |
[in,out] | q | preconditioner working vector |
[in,out] | t | preconditioner working vector |
[in,out] | v | preconditioner working vector |
[in,out] | dhat | BCGS preconditioner working vector |
[in,out] | phat | BCGS preconditioner working vector |
[in,out] | qhat | BCGS preconditioner working vector |
[in] | njlu | preconditioner length of JLU vector |
[in] | iw | preconditioner integer working vector |
[in] | jlu | preconditioner JLU working vector |
[in] | nconv | maximum number of inner iterations in a time step (maxiter * maxinner) |
[in] | convnmod | number of models in the solution |
[in,out] | convmodstart | pointer to the start of each model in the convmod* arrays |
[in,out] | caccel | convergence string |
[in] | summary | Convergence summary report |
Definition at line 249 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_calc_order | ( | integer(i4b), intent(in) | IORD, |
integer(i4b), intent(in) | NEQ, | ||
integer(i4b), intent(in) | NJA, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA, | ||
integer(i4b), dimension(neq), intent(inout) | LORDER, | ||
integer(i4b), dimension(neq), intent(inout) | IORDER | ||
) |
Calculate LORDER and IORDER for reordering.
[in] | iord | reordering option |
[in] | neq | number of rows |
[in] | nja | number of non-zero entries |
[in] | ia | row pointer |
[in] | ja | column pointer |
[in,out] | lorder | reorder vector |
[in,out] | iorder | inverse of reorder vector |
Definition at line 556 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_cg | ( | integer(i4b), intent(inout) | ICNVG, |
integer(i4b), intent(in) | ITMAX, | ||
integer(i4b), intent(inout) | INNERIT, | ||
integer(i4b), intent(in) | NEQ, | ||
integer(i4b), intent(in) | NJA, | ||
integer(i4b), intent(in) | NIAPC, | ||
integer(i4b), intent(in) | NJAPC, | ||
integer(i4b), intent(in) | IPC, | ||
integer(i4b), intent(in) | ICNVGOPT, | ||
integer(i4b), intent(in) | NORTH, | ||
real(dp), intent(in) | DVCLOSE, | ||
real(dp), intent(in) | RCLOSE, | ||
real(dp), intent(in) | L2NORM0, | ||
real(dp), intent(in) | EPFACT, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA0, | ||
integer(i4b), dimension(nja), intent(in) | JA0, | ||
real(dp), dimension(nja), intent(in) | A0, | ||
integer(i4b), dimension(niapc + 1), intent(in) | IAPC, | ||
integer(i4b), dimension(njapc), intent(in) | JAPC, | ||
real(dp), dimension(njapc), intent(in) | APC, | ||
real(dp), dimension(neq), intent(inout) | X, | ||
real(dp), dimension(neq), intent(inout) | B, | ||
real(dp), dimension(neq), intent(inout) | D, | ||
real(dp), dimension(neq), intent(inout) | P, | ||
real(dp), dimension(neq), intent(inout) | Q, | ||
real(dp), dimension(neq), intent(inout) | Z, | ||
integer(i4b), intent(in) | NJLU, | ||
integer(i4b), dimension(niapc), intent(in) | IW, | ||
integer(i4b), dimension(njlu), intent(in) | JLU, | ||
integer(i4b), intent(in) | NCONV, | ||
integer(i4b), intent(in) | CONVNMOD, | ||
integer(i4b), dimension(convnmod + 1), intent(inout) | CONVMODSTART, | ||
character(len=31), dimension(nconv), intent(inout) | CACCEL, | ||
type(convergencesummarytype), intent(in), pointer | summary | ||
) |
Apply the Preconditioned Conjugate Gradient linear accelerator to the current coefficient matrix, right-hand side, using the current dependent-variable.
[in,out] | icnvg | convergence flag (1) non-convergence (0) |
[in] | itmax | maximum number of inner iterations |
[in,out] | innerit | inner iteration count |
[in] | neq | number of equations |
[in] | nja | number of non-zero entries |
[in] | niapc | preconditioner number of rows |
[in] | njapc | preconditioner number of non-zero entries |
[in] | ipc | preconditioner option |
[in] | icnvgopt | flow convergence criteria option |
[in] | north | orthogonalization frequency |
[in] | dvclose | dependent-variable closure criteria |
[in] | rclose | flow closure criteria |
[in] | l2norm0 | initial L-2 norm for system of equations |
[in] | epfact | factor for decreasing flow convergence criteria for subsequent Picard iterations |
[in] | ia0 | CRS row pointers |
[in] | ja0 | CRS column pointers |
[in] | a0 | coefficient matrix |
[in] | iapc | preconditioner CRS row pointers |
[in] | japc | preconditioner CRS column pointers |
[in] | apc | preconditioner matrix |
[in,out] | x | dependent-variable vector |
[in,out] | b | right-hand side vector |
[in,out] | d | working vector |
[in,out] | p | working vector |
[in,out] | q | working vector |
[in,out] | z | working vector |
[in] | njlu | preconditioner length of JLU vector |
[in] | iw | preconditioner integer working vector |
[in] | jlu | preconditioner JLU working vector |
[in] | nconv | maximum number of inner iterations in a time step (maxiter * maxinner) |
[in] | convnmod | number of models in the solution |
[in,out] | convmodstart | pointer to the start of each model in the convmod* arrays |
[in,out] | caccel | convergence string |
[in] | summary | Convergence summary report |
Definition at line 30 of file ImsLinearBase.f90.
real(dp) function imslinearbasemodule::ims_base_epfact | ( | integer(i4b) | icnvgopt, |
integer(i4b) | kstp | ||
) |
icnvgopt | IMS convergence option |
kstp | time step number |
Definition at line 1316 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_ilu0a | ( | integer(i4b), intent(in) | NJA, |
integer(i4b), intent(in) | NEQ, | ||
real(dp), dimension(nja), intent(in) | APC, | ||
integer(i4b), dimension(neq + 1), intent(in) | IAPC, | ||
integer(i4b), dimension(nja), intent(in) | JAPC, | ||
real(dp), dimension(neq), intent(in) | R, | ||
real(dp), dimension(neq), intent(inout) | D | ||
) |
Apply the ILU0 and MILU0 preconditioners to the passed vector (R).
[in] | nja | number of non-zero entries |
[in] | neq | number of equations |
[in] | apc | ILU0/MILU0 preconditioner matrix |
[in] | iapc | ILU0/MILU0 preconditioner CRS row pointers |
[in] | japc | ILU0/MILU0 preconditioner CRS column pointers |
[in] | r | input vector |
[in,out] | d | output vector after applying APC to R |
Definition at line 1049 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_isort | ( | integer(i4b), intent(in) | NVAL, |
integer(i4b), dimension(nval), intent(inout) | IARRAY | ||
) |
Subroutine sort an integer array in-place.
[in] | nval | length of the integer array |
[in,out] | iarray | integer array to be sorted |
Definition at line 1268 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_jaca | ( | integer(i4b), intent(in) | NEQ, |
real(dp), dimension(neq), intent(in) | A, | ||
real(dp), dimension(neq), intent(in) | D1, | ||
real(dp), dimension(neq), intent(inout) | D2 | ||
) |
Apply the Jacobi preconditioner and return the resultant vector.
[in] | neq | number of equations |
[in] | a | Jacobi preconditioner |
[in] | d1 | input vector |
[in,out] | d2 | resultant vector |
Definition at line 907 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_pccrs | ( | integer(i4b), intent(in) | NEQ, |
integer(i4b), intent(in) | NJA, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA, | ||
integer(i4b), dimension(neq + 1), intent(inout) | IAPC, | ||
integer(i4b), dimension(nja), intent(inout) | JAPC | ||
) |
Generate the CRS row and column pointers for the preconditioner. JAPC(1:NEQ) hHas the position of the upper entry for a row, JAPC(NEQ+1:NJA) is the column position for entry, APC(1:NEQ) is the preconditioned inverse of the diagonal, and APC(NEQ+1:NJA) are the preconditioned entries for off diagonals.
Definition at line 1207 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_pcilu0 | ( | integer(i4b), intent(in) | NJA, |
integer(i4b), intent(in) | NEQ, | ||
real(dp), dimension(nja), intent(in) | AMAT, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA, | ||
real(dp), dimension(nja), intent(inout) | APC, | ||
integer(i4b), dimension(neq + 1), intent(inout) | IAPC, | ||
integer(i4b), dimension(nja), intent(inout) | JAPC, | ||
integer(i4b), dimension(neq), intent(inout) | IW, | ||
real(dp), dimension(neq), intent(inout) | W, | ||
real(dp), intent(in) | RELAX, | ||
integer(i4b), intent(inout) | IPCFLAG, | ||
real(dp), intent(in) | DELTA | ||
) |
Update the ILU0 preconditioner using the current coefficient matrix.
[in] | nja | number of non-zero entries |
[in] | neq | number of equations |
[in] | amat | coefficient matrix |
[in] | ia | CRS row pointers |
[in] | ja | CRS column pointers |
[in,out] | apc | preconditioned matrix |
[in,out] | iapc | preconditioner CRS row pointers |
[in,out] | japc | preconditioner CRS column pointers |
[in,out] | iw | preconditioner integer work vector |
[in,out] | w | preconditioner work vector |
[in] | relax | MILU0 preconditioner relaxation factor |
[in,out] | ipcflag | preconditioner error flag |
[in] | delta | factor used to correct non-diagonally dominant matrices |
Definition at line 928 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_pcjac | ( | integer(i4b), intent(in) | NJA, |
integer(i4b), intent(in) | NEQ, | ||
real(dp), dimension(nja), intent(in) | AMAT, | ||
real(dp), dimension(neq), intent(inout) | APC, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA | ||
) |
Calculate the Jacobi preconditioner (inverse of the diagonal) using the current coefficient matrix.
[in] | nja | number of non-zero entries |
[in] | neq | number of equations |
[in] | amat | coefficient matrix |
[in,out] | apc | preconditioner matrix |
[in] | ia | CRS row pointers |
[in] | ja | CRS column pointers |
Definition at line 872 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_pcu | ( | integer(i4b), intent(in) | IOUT, |
integer(i4b), intent(in) | NJA, | ||
integer(i4b), intent(in) | NEQ, | ||
integer(i4b), intent(in) | NIAPC, | ||
integer(i4b), intent(in) | NJAPC, | ||
integer(i4b), intent(in) | IPC, | ||
real(dp), intent(in) | RELAX, | ||
real(dp), dimension(nja), intent(in) | AMAT, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA, | ||
real(dp), dimension(njapc), intent(inout) | APC, | ||
integer(i4b), dimension(niapc + 1), intent(inout) | IAPC, | ||
integer(i4b), dimension(njapc), intent(inout) | JAPC, | ||
integer(i4b), dimension(niapc), intent(inout) | IW, | ||
real(dp), dimension(niapc), intent(inout) | W, | ||
integer(i4b), intent(in) | LEVEL, | ||
real(dp), intent(in) | DROPTOL, | ||
integer(i4b), intent(in) | NJLU, | ||
integer(i4b), intent(in) | NJW, | ||
integer(i4b), intent(in) | NWLU, | ||
integer(i4b), dimension(njlu), intent(inout) | JLU, | ||
integer(i4b), dimension(njw), intent(inout) | JW, | ||
real(dp), dimension(nwlu), intent(inout) | WLU | ||
) |
Update the preconditioner using the current coefficient matrix.
[in] | iout | simulation listing file unit |
[in] | nja | number of non-zero entries |
[in] | neq | number of equations |
[in] | niapc | preconditioner number of rows |
[in] | njapc | preconditioner number of non-zero entries |
[in] | ipc | precoditioner (1) ILU0 (2) MILU0 (3) ILUT (4) MILUT |
[in] | relax | preconditioner relaxation factor for MILU0 and MILUT |
[in] | amat | coefficient matrix |
[in] | ia | CRS row pointers |
[in] | ja | CRS column pointers |
[in,out] | apc | preconditioner matrix |
[in,out] | iapc | preconditioner CRS row pointers |
[in,out] | japc | preconditioner CRS column pointers |
[in,out] | iw | preconditioner integed work vector |
[in,out] | w | preconditioner work vector |
[in] | level | number of levels of fill for ILUT and MILUT |
[in] | droptol | drop tolerance |
[in] | njlu | length of JLU working vector |
[in] | njw | length of JW working vector |
[in] | nwlu | length of WLU working vector |
[in,out] | jlu | ILUT/MILUT JLU working vector |
[in,out] | jw | ILUT/MILUT JW working vector |
[in,out] | wlu | ILUT/MILUT WLU working vector |
Definition at line 761 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_residual | ( | integer(i4b), intent(in) | NEQ, |
integer(i4b), intent(in) | NJA, | ||
real(dp), dimension(neq), intent(in) | X, | ||
real(dp), dimension(neq), intent(in) | B, | ||
real(dp), dimension(neq), intent(inout) | D, | ||
real(dp), dimension(nja), intent(in) | A, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA | ||
) |
Subroutine to calculate the residual.
[in] | neq | length of vectors |
[in] | nja | length of coefficient matrix |
[in] | x | dependent variable |
[in] | b | right-hand side |
[in,out] | d | residual |
[in] | a | coefficient matrix |
[in] | ia | CRS row pointers |
[in] | ja | CRS column pointers |
Definition at line 1291 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_scale | ( | integer(i4b), intent(in) | IOPT, |
integer(i4b), intent(in) | ISCL, | ||
integer(i4b), intent(in) | NEQ, | ||
integer(i4b), intent(in) | NJA, | ||
integer(i4b), dimension(neq + 1), intent(in) | IA, | ||
integer(i4b), dimension(nja), intent(in) | JA, | ||
real(dp), dimension(nja), intent(inout) | AMAT, | ||
real(dp), dimension(neq), intent(inout) | X, | ||
real(dp), dimension(neq), intent(inout) | B, | ||
real(dp), dimension(neq), intent(inout) | DSCALE, | ||
real(dp), dimension(neq), intent(inout) | DSCALE2 | ||
) |
Scale the coefficient matrix (AMAT), the right-hand side (B), and the estimate of the dependent variable (X).
[in] | iopt | flag to scale (0) or unscale the system of equations |
[in] | iscl | scaling option (1) symmetric (2) L-2 norm |
[in] | neq | number of equations |
[in] | nja | number of non-zero entries |
[in] | ia | CRS row pointer |
[in] | ja | CRS column pointer |
[in,out] | amat | coefficient matrix |
[in,out] | x | dependent variable |
[in,out] | b | right-hand side |
[in,out] | dscale | first scaling vector |
[in,out] | dscale2 | second scaling vector |
Definition at line 619 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_base_testcnvg | ( | integer(i4b), intent(in) | Icnvgopt, |
integer(i4b), intent(inout) | Icnvg, | ||
integer(i4b), intent(in) | Iiter, | ||
real(dp), intent(in) | Dvmax, | ||
real(dp), intent(in) | Rmax, | ||
real(dp), intent(in) | Rmax0, | ||
real(dp), intent(in) | Epfact, | ||
real(dp), intent(in) | Dvclose, | ||
real(dp), intent(in) | Rclose | ||
) |
General routine for testing for solver convergence based on the user-specified convergence option (Icnvgopt).
[in] | icnvgopt | convergence option - see documentation for option |
[in,out] | icnvg | flag indicating if convergence achieved (1) or not (0) |
[in] | iiter | inner iteration number (used for strict convergence option) |
[in] | dvmax | maximum dependent-variable change |
[in] | rmax | maximum flow change |
[in] | rmax0 | initial flow change (initial L2-norm) |
[in] | epfact | factor for reducing convergence criteria in subsequent Picard iterations |
[in] | dvclose | Maximum depenendent-variable change allowed |
[in] | rclose | Maximum flow change allowed |
Definition at line 1101 of file ImsLinearBase.f90.
subroutine imslinearbasemodule::ims_calc_pcdims | ( | integer(i4b), intent(in) | neq, |
integer(i4b), intent(in) | nja, | ||
integer(i4b), dimension(:), intent(in) | ia, | ||
integer(i4b), intent(in) | level, | ||
integer(i4b), intent(in) | ipc, | ||
integer(i4b), intent(inout) | niapc, | ||
integer(i4b), intent(inout) | njapc, | ||
integer(i4b), intent(inout) | njlu, | ||
integer(i4b), intent(inout) | njw, | ||
integer(i4b), intent(inout) | nwlu | ||
) |
[in] | neq | nr. of rows A |
[in] | nja | nr. of nonzeros A |
[in] | ia | CSR row pointers A |
[in] | level | fill level ILU |
[in] | ipc | IMS preconditioner type |
[in,out] | niapc | work array size |
[in,out] | njapc | work array size |
[in,out] | njlu | work array size |
[in,out] | njw | work array size |
[in,out] | nwlu | work array size |
Definition at line 1148 of file ImsLinearBase.f90.
|
private |
Definition at line 19 of file ImsLinearBase.f90.