fluid_gen1d_class Module

Stencil generator extending StencilGenerator1D to use variable column vectors based on fluid variables


Used by


Interfaces

interface

  • private module subroutine initGenerator(this, stencilObj, columnVecs, varContColVarNames, mbColVarNames, periodicDim, coordInterval)

    1D fluid variable stencil value generator initialization routine

    Arguments

    Type IntentOptional Attributes Name
    class(FluidStencilGen1D), intent(inout) :: this
    type(Stencil1D), intent(in) :: stencilObj
    type(RealArray), intent(in), dimension(:) :: columnVecs
    type(StringArray), intent(in), dimension(:) :: varContColVarNames
    type(StringArray), intent(in), dimension(:) :: mbColVarNames
    logical, intent(in), optional :: periodicDim
    integer(kind=ik), intent(in), optional, dimension(2) :: coordInterval

interface

  • private module subroutine calcVals(this, varCont, res, mbData, hostModel)

    Calculate variable fluid 1D stencil values in place (does not depend on hostModel)

    Arguments

    Type IntentOptional Attributes Name
    class(FluidStencilGen1D), 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

Derived Types

type, public, extends(JaggedArrayGenerator) ::  FluidStencilGen1D

JaggedArrayGenerator for extending the fixed stencil capabilities of StencilGenerator1D to allow for an additional multiplicative dependence on fluid variables in the passed variable container or modelbound data. Allows associating different variables to each column.

Components

Type Visibility Attributes Name Initial
logical, public :: userDefined = .false.

True only if user explicitly sets it to true

type(StencilGenerator1D), private :: fixedStencilGen

Fixed component generator

type(StringArray), private, allocatable, dimension(:) :: varContColVarNames

Names of variable container variables associated with each of the stencil columns. Max one variable ber column

type(StringArray), private, allocatable, dimension(:) :: mbColVarNames

Names of modelbound variables associated with each of the stencil columns. Max one variable ber column

integer(kind=ik), private, allocatable, dimension(:) :: varContVarIndices

Indices of variable container variables associated with each of the stencil columns. Max one variable ber column

type(RealArray), private, allocatable, dimension(:) :: fixedStencilVals

Fixed stencil values calculated using parent StencilGenerator1D

type(RealArray), private, allocatable, dimension(:) :: columnValueBuffers

Buffer for the variable component of the column vectors

Type-Bound Procedures

procedure, public :: isDefined => isDefinedObject
procedure, public :: makeDefined => makeDefinedObject
procedure, public :: makeUndefined => makeUndefinedObject
procedure, public :: calculate
procedure, public :: init => initGenerator
procedure, public :: calculateInPlace => calcVals