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 |