Contains module procedures associated with the general matrix term
General matrix term initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GeneralMatrixTerm), | intent(inout) | :: | this | |||
type(Grid), | intent(in) | :: | gridObj |
Grid object used to initialize stencil |
||
type(Partition), | intent(in) | :: | partitionObj |
Parition object used to determine local number of DoF |
||
type(Indexing), | intent(in) | :: | indexingObj |
Indexing object used to initialize matrix row data |
||
integer(kind=ik), | intent(in) | :: | procRank |
Current processor rank |
||
character(len=*), | intent(in) | :: | evolvedVar |
Name of evolved variable |
||
character(len=*), | intent(in) | :: | implicitVar |
Name of implicit variable |
||
type(VariableContainer), | intent(in) | :: | varCont |
Reference variable container |
||
type(StencilTemplate), | intent(inout) | :: | sTemplate |
StencilTemplate used |
||
type(VarData), | intent(in), | optional | :: | vData |
Required variable names and powers |
|
real(kind=rk), | intent(in), | optional | :: | normConst |
Normalization constant |
|
type(CoordProfiles), | intent(in), | optional | :: | coordProfile |
Multiplicative coordinate profiles (globally indexed) |
|
type(TimeSignalData), | intent(in), | optional | :: | tData |
Explicit time dependence |
|
integer(kind=ik), | intent(in), | optional | :: | evalTermGroup |
Optional term group of host model to evaluate and use as additional row variable |
|
class(ModelboundData), | intent(in), | optional | :: | mbData |
Optional modelbound data object used when initializing fixed stancil generators which might require it |
|
character(len=*), | intent(in), | optional | :: | copyTermName |
Name of the term whose values should be copied and multiplied with this term's stencil |
Update general matrix term if using any modelbound data, updating stencil values, evaluating other terms, or if there is any explicit time dependence
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GeneralMatrixTerm), | intent(inout) | :: | this | |||
type(VariableContainer), | intent(in) | :: | varCont |
Variable container - used to update stencil values and signal |
||
type(MatrixTermIndexingData), | intent(in) | :: | indexingData | |||
class(ModelboundData), | intent(in), | optional | :: | modelData |
Model data used to retrieve modelbound variable |
|
class(ModelSurrogate), | intent(in), | optional | :: | hostModel |
Host model - used to evaluate term group |
Multiplies all required variables and raises them to their corresponding power,using modelbound row variable buffer if allocated, and adding spatial and time profiles
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GeneralMatrixTerm), | intent(inout) | :: | this | |||
type(VariableContainer), | intent(in) | :: | varCont | |||
real(kind=rk), | intent(inout), | dimension(:) | :: | rowVals | ||
type(MatrixTermIndexingData), | intent(in) | :: | indexingData |
Multiplies all required variables and raises them to their corresponding power,using modelbound variable buffer if allocated
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GeneralMatrixTerm), | intent(inout) | :: | this | |||
type(VariableContainer), | intent(in) | :: | varCont | |||
type(RealArray), | intent(inout), | dimension(:) | :: | colVals | ||
type(MatrixTermIndexingData), | intent(in) | :: | indexingData |