This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables for incompressible LBM models.\n Notice that only those quantities that related to density should have a formula which differs from normal LBM model.
The depending common interface between MUSUBI and ATELES is defined in the tem_derived_module. The functionality for accessing a variable from the state and evaluating a lua function are also provided in the tem_derived module.
Do not use get_Element or get_Point routines to update the state !
subroutine to add derive variables for incompressible LBM (schemekind = 'fluid_incompressible') to the varsys.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys | global variable system |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData | Contains pointer to solver data types |
|
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | compute stencil defintion |
||
character(len=*), | intent(in) | :: | fldLabel | array of field label prefix. Size=nFields |
||
type(grw_labelarray_type), | intent(inout) | :: | derVarName | array of derive physical variables |
Derive absorb layer variable defined as a source term.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
Update state with source variable "absorb_layer". absorb_layer is used to absorb the flow and gradually reduce the flow quantities like pressure and velocity to a fixed value for incompressible model. It is based on: Xu, H., & Sagaut, P. (2013). Analysis of the absorbing layers for the weakly-compressible lattice Boltzmann methods. Journal of Computational Physics, 245(x), 14–42.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_source_op_type), | intent(in) | :: | fun | Description of method to apply source terms |
||
real(kind=rk), | intent(in) | :: | inState(:) | input pdf vector |
||
real(kind=rk), | intent(inout) | :: | outState(:) | output pdf vector |
||
integer, | intent(in) | :: | neigh(:) | connectivity Array corresponding to state vector |
||
real(kind=rk), | intent(in) | :: | auxField(:) | auxField array |
||
integer, | intent(in) | :: | nPdfSize | number of elements in state Array |
||
integer, | intent(in) | :: | iLevel | current level |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(mus_convertFac_type), | intent(in) | :: | phyConvFac | Physics conversion factor for current level |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) | position of derived quantities in varsys |
This routine computes equilbrium from density and velocity
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | density(:) | Array of density. Single species: dens_1, dens_2 .. dens_n multi-species: dens_1_sp1, dens_1_sp2, dens_2_sp1, dens_2_sp2 ... dens_n_sp1, dens_n_sp2 |
||
real(kind=rk), | intent(in) | :: | velocity(:,:) | Array of velocity. Size: dimension 1: n*nFields. dimension 2: 3 (nComp) 1st dimension arrangement for multi-species is same as density |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n*nComponents of res |
This routine computes equilbrium from density and velocity
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | density(:) | Array of density. Single species: dens_1, dens_2 .. dens_n multi-species: dens_1_sp1, dens_1_sp2, dens_2_sp1, dens_2_sp2 ... dens_n_sp1, dens_n_sp2 |
||
real(kind=rk), | intent(in) | :: | velocity(:,:) | Array of velocity. Size: dimension 1: n*nFields. dimension 2: 3 (nComp) 1st dimension arrangement for multi-species is same as density |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n*nComponents of res |
This routine computes equilbrium from auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_derVarPos_type), | intent(in) | :: | derVarPos | Position of derive variable in variable system |
||
real(kind=rk), | intent(in) | :: | auxField(:) | Array of auxField. Single species: dens_1, vel_1, dens_2, vel_2, .. dens_n, vel_n multi-species: dens_1_sp1, vel_1_spc1, dens_1_sp2, vel_1_spc2, dens_2_sp1, vel_2_spc2, dens_2_sp2, vel_2_spc2 ... dens_n_sp1, vel_n_sp1, dens_n_sp2, vel_n_spc2 Access: (iElem-1)*nAuxScalars + auxField_varPos |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | fEq(:) | Output of this routine Dimension: n*QQ of res |
This routine computes velocity from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) | Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n * nComponents of res |
This routine computes velocity from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) | Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n * nComponents of res |
This routine computes velocity from precollision state array using FETCH macro.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) | Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | neigh(:) | connectivity array |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nSize | number of elements in state array |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n * nComponents of res |
This routine computes auxField from state array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mus_derVarPos_type), | intent(in) | :: | derVarPos | Position of derive variable in variable system |
||
real(kind=rk), | intent(in) | :: | state(:) | Array of state n * layout%stencil(1)%QQ * nFields |
||
integer, | intent(in) | :: | neigh(:) | connectivity vector |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
integer, | intent(in) | :: | nSize | number of elements in state array |
||
integer, | intent(in) | :: | iLevel | current level |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | stencil header contains discrete velocity vectors |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
real(kind=rk), | intent(inout) | :: | auxField(:) | Output of this routine Size: nElems*nAuxScalars |
This routine computes equilibirium from state array Here it is assumed that rho0 = 1.0
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(:) | Array of state n * layout%fStencil%QQ * nFields |
||
integer, | intent(in) | :: | iField | Current field |
||
integer, | intent(in) | :: | nElems | number of elements |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||
real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n * nComponents of res |
Calculate momentum from velocity stored in auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
Initiates the calculation of equlibrium This routine sets the function Pointer for equlibrium calcualtion and calls the generice get Element from PDF routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
Initiates the calculation of NonEquil This routine sets the function Pointer for NonEquil calcualtion and calls the generice get Element from PDF routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
Initiates the calculation of StrainRate This routine sets the function Pointer for StrainRate calcualtion and calls the generice get Element from PDF routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
Calculate Momentum from density and velocity in auxField.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel | Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) | Index return. Size: most times nVals, if contiguous arrays are used it depends on the number of first indices |
||
integer, | intent(in), | optional | :: | idxLen(:) | With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: dependes on number of first index for contiguous array, but the sum of all idxLen is equal to nVals |
|
integer, | intent(in) | :: | nVals | Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp |
Initiates the calculation of equilibrium. This routine sets the function Pointer for equilibrium calcualtion and calls the generice get Value of Index routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel | Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) | Index of points in the growing array and variable val array to return. Size: most times nVals, if contiguous arrays are used it depends on the number of first indices |
||
integer, | intent(in), | optional | :: | idxLen(:) | With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: dependes on number of first index for contiguous array, but the sum of all idxLen is equal to nVals |
|
integer, | intent(in) | :: | nVals | Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp |
Initiates the calculation of non_equilibrium. This routine sets the function Pointer for non_equilibrium calcualtion and calls the generice get Value of Index routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel | Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) | Index of points in the growing array and variable val array to return. Size: most times nVals, if contiguous arrays are used it depends on the number of first indices |
||
integer, | intent(in), | optional | :: | idxLen(:) | With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: dependes on number of first index for contiguous array, but the sum of all idxLen is equal to nVals |
|
integer, | intent(in) | :: | nVals | Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp |
Initiates the calculation of kinetic_energy. This routine sets the function Pointer for kinetic_energy calcualtion and calls the generice get Value of Index routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel | Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) | Index of points in the growing array and variable val array to return. Size: most times nVals, if contiguous arrays are used it depends on the number of first indices |
||
integer, | intent(in), | optional | :: | idxLen(:) | With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: dependes on number of first index for contiguous array, but the sum of all idxLen is equal to nVals |
|
integer, | intent(in) | :: | nVals | Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp |
Initiates the calculation of StrainRate. This routine sets the function Pointer for StrainRate calcualtion and calls the generice get Value of Index routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
integer, | intent(in) | :: | iLevel | Level on which values are requested |
||
integer, | intent(in) | :: | idx(:) | Index of points in the growing array and variable val array to return. Size: most times nVals, if contiguous arrays are used it depends on the number of first indices |
||
integer, | intent(in), | optional | :: | idxLen(:) | With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: dependes on number of first index for contiguous array, but the sum of all idxLen is equal to nVals |
|
integer, | intent(in) | :: | nVals | Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp |
Calculate kinetic energy from velocity in auxField
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
Calculate the equlibrium of a given element number with the given input state vector for incompressible model
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varsys | the variable system to obtain the variable from. |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | fluid stencil defintion |
||
integer, | intent(in) | :: | iLevel | current Level |
||
integer, | intent(in) | :: | posInState(:) | Position of element in levelwise state array |
||
real(kind=rk), | intent(in) | :: | pdf(:) | pdf array |
||
real(kind=rk), | intent(out) | :: | res(:) | results |
||
integer, | intent(in) | :: | nVals | nVals to get |
Calculate the Non-Equlibrium
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varsys | the variable system to obtain the variable from. |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | fluid stencil defintion |
||
integer, | intent(in) | :: | iLevel | current Level |
||
integer, | intent(in) | :: | posInState(:) | Position of element in levelwise state array |
||
real(kind=rk), | intent(in) | :: | pdf(:) | pdf array |
||
real(kind=rk), | intent(out) | :: | res(:) | results |
||
integer, | intent(in) | :: | nVals | nVals to get |
Calculate the strain rate ( or rate of strain, or rate of deformation)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varsys | the variable system to obtain the variable from. |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | fluid stencil defintion |
||
integer, | intent(in) | :: | iLevel | current Level |
||
integer, | intent(in) | :: | posInState(:) | Position of element in levelwise state array |
||
real(kind=rk), | intent(in) | :: | pdf(:) | pdf array |
||
real(kind=rk), | intent(out) | :: | res(:) | results |
||
integer, | intent(in) | :: | nVals | nVals to get |