
Stencil generator for multiplicative stencil
Multiplicative stencil value generator initialization routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MultiplicativeStencilGen), | intent(inout) | :: | this | |||
| type(MultiplicativeGeneratorCore), | intent(inout), | allocatable | :: | coreObj |
Multiplicative core - will be deallocated after call |
|
| logical, | intent(in), | optional | :: | fluidCol |
True if the column variable for this stencil is fluid. |
|
| type(RealArray), | intent(in), | optional, | dimension(:) | :: | initXVals |
Optional initial raw x stencil values. Defaults to unallocated. |
| type(RealArray), | intent(in), | optional, | dimension(:) | :: | initHVals |
Optional initial raw h stencil values. Defaults to unallocated. |
| type(RealArray), | intent(in), | optional, | dimension(:) | :: | initVVals |
Optional initial raw v stencil values. Defaults to unallocated. |
Calculate multiplicative stencil values in place
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MultiplicativeStencilGen), | 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 |
Setter for xStencilGen.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MultiplicativeStencilGen), | intent(inout) | :: | this | |||
| class(JaggedArrayGenerator), | intent(in) | :: | gen |
Setter for hStencilGen.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MultiplicativeStencilGen), | intent(inout) | :: | this | |||
| class(JaggedArrayGenerator), | intent(in) | :: | gen |
Setter for vStencilGen.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MultiplicativeStencilGen), | intent(inout) | :: | this | |||
| class(JaggedArrayGenerator), | intent(in) | :: | gen |
Generates stencil values based on independent data for x,h,v dimensions
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| type(MultiplicativeGeneratorCore), | private, | allocatable | :: | core |
Calculation core generated using stencil and rowCoord data |
||
| class(JaggedArrayGenerator), | private, | allocatable | :: | xStencilGen |
Optional x stencil generator |
||
| class(JaggedArrayGenerator), | private, | allocatable | :: | hStencilGen |
Optional harmonic stencil generator |
||
| class(JaggedArrayGenerator), | private, | allocatable | :: | vStencilGen |
Optional velocity space stencil generator |
||
| type(RealArray), | private, | allocatable, dimension(:) | :: | xVals |
Buffer for x stencil values |
||
| type(RealArray), | private, | allocatable, dimension(:) | :: | hVals |
Buffer for h stencil values |
||
| type(RealArray), | private, | allocatable, dimension(:) | :: | vVals |
Buffer for v stencil values |
||
| logical, | private | :: | fluidCol |
True if the column variable is fluid. Defaults to false. |
| procedure, public :: isDefined => isDefinedObject | |
| procedure, public :: makeDefined => makeDefinedObject | |
| procedure, public :: makeUndefined => makeUndefinedObject | |
| procedure, public :: calculate | |
| procedure, public :: init => initMultGen | |
| procedure, public :: calculateInPlace => calcMultVals | |
| procedure, public :: setXGen | |
| procedure, public :: setHGen | |
| procedure, public :: setVGen |