| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | N | = | 0 | Polynomial degree of the interpolant the indicator is built for. |
|
| real(kind=prec), | public, | pointer, contiguous, dimension(:,:) | :: | Pmodal | => | null() | Nodal-to-modal transform. Pmodal(ii,p) is the (p,ii) entry of the inverse Legendre Vandermonde in the L2-normalized basis, so the 1-D modal coefficients are uhat(p) = sum_ii Pmodal(ii,p) * u(ii) (first index summed, SELF matrix convention). |
| character(len=3), | public | :: | backend | = | "cpu" | ||
| real(kind=prec), | public | :: | coarsenThreshold | = | 0.0_prec | Elements with sigma_e below this value are flagged SELF_AMR_COARSEN. |
|
| integer, | public, | pointer, contiguous, dimension(:) | :: | flag | => | null() | Per-element refinement flag: SELF_AMR_REFINE / SELF_AMR_KEEP / SELF_AMR_COARSEN. |
| real(kind=prec), | public, | pointer, contiguous, dimension(:) | :: | indicator | => | null() | Per-element indicator value sigma_e = log10(S_e). |
| integer, | public | :: | nElem | = | 0 | Number of (rank-local) elements the indicator arrays are sized for. |
|
| real(kind=prec), | public | :: | refineThreshold | = | 0.0_prec | Elements with sigma_e above this value are flagged SELF_AMR_REFINE. |
| procedure, public :: CountFlagged => CountFlagged_RefinementIndicator2D_t | |
| procedure, public :: Estimate => Estimate_RefinementIndicator2D_t | |
| procedure, public :: Free => Free_RefinementIndicator2D_t | |
| procedure, public :: Init => Init_RefinementIndicator2D_t | |
| procedure, public :: SetThresholds => SetThresholds_RefinementIndicator2D_t | |
| procedure, public :: UpdateDevice => UpdateDevice_RefinementIndicator2D_t | |
| procedure, public :: UpdateHost => UpdateHost_RefinementIndicator2D_t |