JaggedArrayGenerator for calculating fixed central differencing stencil with no face interpolation
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| real(kind=rk), | private, | allocatable, dimension(:) | :: | innerJ |
Inner/column jacobian/hodge star |
||
| real(kind=rk), | private, | allocatable, dimension(:) | :: | outerJ |
Outer/row inverse jacobian/hodge star |
||
| logical, | private | :: | periodicGrid |
True if stencil is calculated on periodic grid |
|||
| logical, | private | :: | staggeredGridMode |
If true will remove last row/column if not periodic |
|||
| integer(kind=ik), | private | :: | minX |
Local minX (obtained from partition data) |
|||
| integer(kind=ik), | private | :: | maxX |
Local maxX |
Getter for userDefined
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(in) | :: | this |
Set userDefined to .true.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Use in place version of stencil calculation to return values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(JaggedArrayGenerator), | intent(inout) | :: | this | |||
| type(VariableContainer), | intent(in) | :: | varCont | |||
| class(ModelboundData), | intent(in), | optional | :: | mbData | ||
| class(ModelSurrogate), | intent(in), | optional | :: | hostModel |
Central differentiation stencil value generator initialization routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CDiffStencilValGenerator), | intent(inout) | :: | this | |||
| type(Partition), | intent(in) | :: | partitionObj |
Partition object used to determine local number of rows |
||
| integer(kind=ik), | intent(in) | :: | procRank |
Current processor rank |
||
| real(kind=rk), | intent(in), | dimension(:) | :: | innerJ |
Inner/column jacobian/hodge star (should conform to x-grid) |
|
| real(kind=rk), | intent(in), | dimension(:) | :: | outerJ |
Outer/row inverse jacobian/hodge star (should conform to x-grid) |
|
| logical, | intent(in), | optional | :: | xPeriodic |
Used to determine if outer processors should have their stencils trimmed. Defaults to .false. |
|
| logical, | intent(in), | optional | :: | staggeredGridMode |
If true will remove last row/column if not periodic |
Calculate central diff stencil values in place (does not depend on varCont)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CDiffStencilValGenerator), | intent(inout) | :: | this | |||
| type(VariableContainer), | intent(in) | :: | varCont | |||
| type(RealArray), | intent(inout), | allocatable, dimension(:) | :: | res | ||
| class(ModelboundData), | intent(in), | optional | :: | mbData | ||
| class(ModelSurrogate), | intent(in), | optional | :: | hostModel |