Houses term calculated as modelbound data variable * derivation result
Outer function simply returning the stored result buffer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(DerivationTerm), | intent(in) | :: | this | |||
type(VariableContainer), | intent(in) | :: | varCont |
Explicit derivation term initialization routine
Type | Intent | Optional | 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 |
Update function, does not call update on operator, assuming it is never set. Only updates the modelbound data buffer if required, and calculates the result buffer
Type | Intent | Optional | 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 |
Term of the form modelbound variable * derivation result, where the modelbound variable is optional
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
real(kind=rk), | private, | allocatable, dimension(:) | :: | resultBuffer |
Buffer holding the result |
||
logical, | private | :: | isActive | ||||
logical, | private | :: | kineticRow |
True if row variable is a distribution |
|||
character(len=:), | private, | allocatable | :: | mbVarName |
Name of the mb variable to multiply de derivation result with |
||
class(Derivation), | private, | allocatable | :: | derivObj |
The main derivaiton object |
||
integer(kind=ik), | private, | dimension(:), allocatable | :: | derivReqIndices |
Required indices for the derivation object |
||
integer(kind=ik), | private | :: | locNumX |
Local number of spatial cells - used when handling modelbound data |
|||
integer(kind=ik), | private | :: | numH |
Local number of harmonics - used when handling modelbound data |
|||
integer(kind=ik), | private | :: | numV |
Local number of velocity cells - used when handling modelbound data |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: setOperator | |
procedure, public :: setEvolvedVar | |
procedure, public :: evaluate => evaluateExpTerm | |
procedure, public :: getVarName => getEvolvedVarName | |
procedure, public :: update => updateDerivationTerm | |
procedure, public :: outerFun => derivationOuterFun | |
procedure, public :: init => initDerivationTerm |