Stencil definitions for the elements
A stencil is basically a set of element-offsets , describing the relative positions of all required elements for a given element.
There is an example in the Documentation named 'Example for the stencil construction'.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | d3q19_cxDir(3,19) | = | reshape([-1, 0, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, 1, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, 0, 0, 0, 0], [3, 19]) | |
integer, | public, | parameter | :: | d3q27_cxDir(3,27) | = | reshape([-1, 0, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, 1, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, 0, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 0, 0, 0], [3, 27]) | |
integer, | public, | parameter | :: | d3q7_cxDir(3,7) | = | reshape([-1, 0, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0], [3, 7]) | |
integer, | public, | parameter | :: | d3q6_cxDir(3,6) | = | reshape([-1, 0, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 1], [3, 6]) | |
integer, | public, | parameter | :: | d2q9_cxDir(3,9) | = | reshape([-1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 1, 0, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, 0, 0, 0, 0], [3, 9]) | |
integer, | public, | parameter | :: | d2q5_cxDir(3,5) | = | reshape([-1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0], [3, 5]) | |
integer, | public, | parameter | :: | d2q4_cxDir(3,4) | = | reshape([-1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 1, 0], [3, 4]) | |
integer, | public, | parameter | :: | d1q3_cxDir(3,3) | = | reshape([-1, 0, 0, 1, 0, 0, 0, 0, 0], [3, 3]) | |
integer, | public, | parameter | :: | d1q2_cxDir(3,2) | = | reshape([-1, 0, 0, 1, 0, 0], [3, 2]) | |
integer, | private, | parameter | :: | d3q13_cxDir(3,13) | = | reshape([0, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, 1, -1, -1, 0, -1, 1, 0, 1, -1, 0, 1, 1, 0, 0, 0, 0], [3, 13]) |
initialize the dynamic array
Include the subroutines for the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
truncate the array, meaning cut off the trailing empty entries
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me |
empty the entries without changing arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me |
destroy the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type), | intent(inout) | :: | me |
insert an element at a given position
adds the value to a given position inside the growing array.
if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the element at the requested position will be replaced.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
adds the values starting from a given position inside the growing array.
if the requested position is outside the current array bounds, the array
will be resized accordingly. if it is inside the current array bounds, the
elements starting from the requested position will be replaced up to
the element at position pos + size(val) - 1
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val(:) | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
append a value to the dynamic array and return its position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
increase the size of the container for the array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Write element information to disk
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(in) | :: | me |
stencil header to be dumped |
||
integer, | intent(in), | optional | :: | nUnit |
Write element information to disk
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(in) | :: | me |
stencil element to be dumped |
||
integer, | intent(in) | :: | nUnit |
unit to dump to |
||
integer(kind=long_k), | intent(in), | optional, | allocatable | :: | neighID(:) |
neighbor ID |
logical, | intent(in), | optional | :: | tIDonly |
only use tree IDs |
initialize the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
truncate the array, meaning cut off the trailing empty entries
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me |
empty the entries without changing arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me |
destroy the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type), | intent(inout) | :: | me |
insert an element at a given position
adds the value to a given position inside the growing array.
if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the element at the requested position will be replaced.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
adds the values starting from a given position inside the growing array.
if the requested position is outside the current array bounds, the array
will be resized accordingly. if it is inside the current array bounds, the
elements starting from the requested position will be replaced up to
the element at position pos + size(val) - 1
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val(:) | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
append a value to the dynamic array and return its position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
increase the size of the container for the array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
initialize stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | me |
stencil header to be initialized |
||
integer, | intent(in) | :: | QQN |
number of discrete velocities in the model (without the center one) |
||
integer, | intent(in), | optional | :: |
number of discrete velocities in the model (incl. the center one) |
||
integer, | intent(in), | optional | :: | nElems |
The number of elements to use this stencil for |
|
logical, | intent(in), | optional | :: | useAll |
use this stencil for all elements? |
|
integer, | intent(in), | optional | :: | nDims | ||
character(len=*), | intent(in), | optional | :: | label | ||
integer, | intent(in), | optional | :: | cxDir(:,:) |
initialize stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(out) | :: | me |
stencil element type to be initialized |
||
integer, | intent(in) | :: | QQN |
number of discrete velocities in the model (without the center one) |
||
integer, | intent(in), | optional | :: | headerPos | ||
integer, | intent(in), | optional | :: | tIDpos(:) |
Delete all entries in the stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | me |
stencil header type to empty |
destroy stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(out) | :: | me |
stencil element type to be destroyed |
Delete all entries in the stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | me |
stencil header type to empty |
This function provides copy assigment for tem_stencilElement_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(out) | :: | left |
tem_stencilElement to copy to |
||
type(tem_stencilElement_type), | intent(in) | :: | right |
tem_stencilElement to copy from |
This function provides copy assigment for tem_stencilHeader_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | left |
tem_stencilHeader to copy to |
||
type(tem_stencilHeader_type), | intent(in) | :: | right |
tem_stencilHeader to copy from |
Stencil definitions
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=labelLen), | public | :: | label |
a stencil label |
|||
integer, | public | :: |
number of directions |
||||
integer, | public | :: | QQN |
HK: do we really need this? It is mostly confusing, and solver specific! |
|||
integer, | public | :: | nDims | = | 0 | ||
integer, | public, | allocatable | :: | cxDir(:,:) |
cartesian directions of discrete velocities. Integer number version. Size is (3,nDir) |
||
real(kind=rk), | public, | allocatable | :: | cxDirRK(:,:) |
Cartesian directions of discrete velocities. Real number version. Size is (3,nDir) |
||
integer, | public, | allocatable | :: | cxDirInv(:) |
inverted cartesian direction indices. this is well defined for symmetric stencils only. |
||
real(kind=rk), | public, | allocatable | :: | cxcx(:,:) |
2nd order tensor of discrete velocities Size is (6,QQ) for 3D: xx, yy, zz, xy, yz, xz (3,QQ) for 2D: xx, yy, xy (1,QQ) for 1D: xx |
||
integer, | public, | allocatable | :: | map(:) |
mapping of stencil entries to treelm definition, if possible entry is zero if nothing defined, |
||
integer, | public, | allocatable | :: | map2treeDef(:) |
mapping of treelm definition to stencil entries, if possible entry is zero if nothing defined |
||
integer, | public | :: | restPosition |
Rest-density position in stencil |
|||
integer, | public | :: | depStencil |
the stencil on which the current one depends this is required for boundary stencils which elements actually require the neighbors of the compute stencil |
|||
logical, | public | :: | useAll |
use this stencil for all elements |
|||
logical, | public | :: | requireNeighNeigh | = | .false. |
requires valid neighbors of the stencil neighbors |
|
logical, | public | :: | requireAll | = | .false. |
requires valid neighbors of the stencil neighbors |
|
integer, | public | :: | nElems |
the number of elements using this stencil |
|||
type(grw_intarray_type), | public, | allocatable | :: | elemLvl(:) |
list of elements on which this stencil should be applied Both elemLvl and elem array are used for stencil other than fluid stencil |
||
type(grw_intarray_type), | public | :: | elem |
list of elements on which this stencil should be applied In build_BCstencil they point to original treeID list and used in tem_initelemLevels. Later this position is updated such that they point to the level wise total list in update_elemPosToTotalPos. |
Element stencil definition
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | QQN |
number of entries in pos |
|||
integer, | public, | allocatable | :: | tIDpos(:) |
position in the tem_element_type::neighID%val( elemPos ) Array size: QQN |
||
integer, | public | :: | headerPos |
the stencil on which the current one depends this is required for boundary stencils which elements actually require the neighbors of the compute stencil |
|||
integer, | public, | allocatable | :: | totalPos(:) |
pointer to tem_element_type::tID( ) For neighbor of an element in every stencil direction. It also inclues neighbor which is either fluid/halo/ghost. Array size: QQN Set in routine: build_levelElements, identify_stencilNeigh, identify_additionalNeigh |
growing array type for type(tem_stencilelement_type)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nvals | = | 0 | ||
integer, | public | :: | containersize | = | 0 | ||
type(tem_stencilElement_type), | public, | allocatable | :: | val(:) |
growing array type for type(tem_stencilheader_type)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nvals | = | 0 | ||
integer, | public | :: | containersize | = | 0 | ||
type(tem_stencilHeader_type), | public, | allocatable | :: | val(:) |
Find the index of the given direction in the list of all directions. -1 if not found.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | findDir(3) |
vector index to find in cxDir |
||
integer, | intent(in) | :: | cxDir(:,:) |
array of vectors |
Definition of the d3q125 neighborhood
Definition of the d3q81 neighborhood.
Identify the zero-position in the stencil Return -1 if not found in stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(in) | :: | me |
stencil to map |
Position of zero-entry in the stencil
find position stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type), | intent(in) | :: | me |
List of element stencil definitions |
||
integer, | intent(in) | :: | val |
Stencil to search for |
Position of the header in the list, 0 if not found
This function returns a unique label for given stencil cxDir
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(in) | :: | me |
stencil |
||
real(kind=rk), | intent(in) | :: | prevailDir(:,:) |
prevail directions |
return unique label
Load the stencil configuration from the lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type) | :: | stencil |
stencil type to fill |
|||
integer, | intent(in) | :: | parent_handle |
handle of the parent table |
||
type(flu_State) | :: | conf |
lua state type |
This subroutine fills the array of inverse directions according to the given array of directions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(out) | :: | me(:) |
array of positions of the inverse offsets in cxDir |
||
integer, | intent(in) | :: | cxDir(:,:) |
array of given offsets |
This subroutine fills the array of prevailing directions according to the given array of directions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(out), | allocatable | :: | me(:,:) |
growing array of prevailing directions |
|
integer, | intent(in) | :: | cxDir(:,:) |
array of given offsets |
Map the stencil offsets to the internally defined treelm offsets.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type) | :: | me |
stencil to map |
Map the internally defined treelm offsets to the stencil offsets.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type) | :: | me |
stencil to map |
This subroutine creates the required stencil.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | stencil |
stencil type to be defined |
||
character(len=*) | :: | stencilKind |
stencil kind to decide which create function to call |
Include the subroutines for the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type), | intent(inout) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me |
adds the value to a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
adds the values starting from a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val(:) | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
type(tem_stencilElement_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilelementarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type), | intent(inout) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me |
adds the value to a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
adds the values starting from a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val(:) | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
type(tem_stencilHeader_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_stencilheaderarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length |
optional length to expand the array |
Delete all entries in the stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | me |
stencil header type to empty |
Write element information to disk
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(in) | :: | me |
stencil header to be dumped |
||
integer, | intent(in), | optional | :: | nUnit |
Write element information to disk
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(in) | :: | me |
stencil element to be dumped |
||
integer, | intent(in) | :: | nUnit |
unit to dump to |
||
integer(kind=long_k), | intent(in), | optional, | allocatable | :: | neighID(:) |
neighbor ID |
logical, | intent(in), | optional | :: | tIDonly |
only use tree IDs |
initialize stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | me |
stencil header to be initialized |
||
integer, | intent(in) | :: | QQN |
number of discrete velocities in the model (without the center one) |
||
integer, | intent(in), | optional | :: |
number of discrete velocities in the model (incl. the center one) |
||
integer, | intent(in), | optional | :: | nElems |
The number of elements to use this stencil for |
|
logical, | intent(in), | optional | :: | useAll |
use this stencil for all elements? |
|
integer, | intent(in), | optional | :: | nDims | ||
character(len=*), | intent(in), | optional | :: | label | ||
integer, | intent(in), | optional | :: | cxDir(:,:) |
initialize stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(out) | :: | me |
stencil element type to be initialized |
||
integer, | intent(in) | :: | QQN |
number of discrete velocities in the model (without the center one) |
||
integer, | intent(in), | optional | :: | headerPos | ||
integer, | intent(in), | optional | :: | tIDpos(:) |
destroy stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(out) | :: | me |
stencil element type to be destroyed |
Create cxcx for a given stencil
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type) | :: | me |
stencil |
This function provides copy assigment for tem_stencilHeader_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilHeader_type), | intent(out) | :: | left |
tem_stencilHeader to copy to |
||
type(tem_stencilHeader_type), | intent(in) | :: | right |
tem_stencilHeader to copy from |
This function provides copy assigment for tem_stencilElement_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_stencilElement_type), | intent(out) | :: | left |
tem_stencilElement to copy to |
||
type(tem_stencilElement_type), | intent(in) | :: | right |
tem_stencilElement to copy from |