derivation_term_procedures Submodule

Contains module procedures associated with the derivation term class



Module Functions

module function derivationOuterFun(this, varCont) result(res)

Outer function calling the contained derivation object, optionally multiplying the result with the modelbound variable buffer

Arguments

Type IntentOptional Attributes Name
class(DerivationTerm), intent(in) :: this
type(VariableContainer), intent(in) :: varCont

Return Value real(kind=rk), allocatable, dimension(:)


Module Subroutines

module subroutine initDerivationTerm(this, gridObj, partitionObj, procRank, evolvedVar, varCont, derivObj, derivIndices, mbVarName)

Explicit derivation term initialization routine

Arguments

Type IntentOptional Attributes Name
class(DerivationTerm), intent(inout) :: this
type(Grid), intent(in) :: gridObj
type(Partition), intent(in) :: partitionObj

Parition object used to determine local number of DoF

integer(kind=ik), intent(in) :: procRank

Current processor rank

character(len=*), intent(in) :: evolvedVar

Name of evolved variable

type(VariableContainer), intent(in) :: varCont

Reference variable container

class(Derivation), intent(in) :: derivObj

Derivation object used by the term

integer(kind=ik), intent(in), dimension(:) :: derivIndices

Required variable indices for the derivation object

character(len=*), intent(in), optional :: mbVarName

Optional modelbound variable with which to multiply the derivation result

module subroutine updateDerivationTerm(this, varCont, modelData, hostModel)

Update function, does not call update on operator, assuming it is never set. Only updates the modelbound data buffer if required

Arguments

Type IntentOptional Attributes Name
class(DerivationTerm), intent(inout) :: this
type(VariableContainer), intent(in) :: varCont

Variable container used in update

class(ModelboundData), intent(in), optional :: modelData

Reference model data - unused

class(ModelSurrogate), intent(in), optional :: hostModel

Host model - unused