| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | allocatable | :: | depth(:) | (nNew) number of prolongation steps below the source |
||
| integer, | public, | allocatable | :: | family(:,:) | (4,nNew) old element index per child quadrant (RESTRICT) |
||
| integer, | public | :: | maxDepth | = | 0 | largest prolongation depth in the plan |
|
| integer, | public | :: | nNew | = | 0 | new element count (= forest%nLeaves at build time) |
|
| integer, | public | :: | nOld | = | 0 | old (pre-epoch) element count |
|
| integer, | public, | allocatable | :: | path(:,:) | (>=maxDepth,nNew) quadrant taken at each step, top-down |
||
| integer, | public, | allocatable | :: | sourceElem(:) | (nNew) old element index (COPY/PROLONG; 0 otherwise) |
||
| integer, | public, | allocatable | :: | sourceKind(:) | (nNew) SELF_TRANSFER_COPY / PROLONG / RESTRICT |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TransferPlan2D), | intent(inout) | :: | this |
type :: TransferPlan2D
integer :: nOld = 0 !! old (pre-epoch) element count
integer :: nNew = 0 !! new element count (= forest%nLeaves at build time)
integer :: maxDepth = 0 !! largest prolongation depth in the plan
integer,allocatable :: sourceKind(:) !! (nNew) SELF_TRANSFER_COPY / PROLONG / RESTRICT
integer,allocatable :: sourceElem(:) !! (nNew) old element index (COPY/PROLONG; 0 otherwise)
integer,allocatable :: family(:,:) !! (4,nNew) old element index per child quadrant (RESTRICT)
integer,allocatable :: depth(:) !! (nNew) number of prolongation steps below the source
integer,allocatable :: path(:,:) !! (>=maxDepth,nNew) quadrant taken at each step, top-down
contains
procedure,public :: Free => Free_TransferPlan2D
endtype TransferPlan2D