A module to provide informations on boundary condition tem_bc_module property for elements.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_prophead_type), | private, | pointer | :: | header | => | null() | Pointer to treelmesh_type%global%property |
integer, | private | :: | nSides | Number of sides in the elements, each side might be assigned a boundary condition ID The first 6 are dedicated to "direct" neighbors, and shall always be present. The next 12 are dedicated to neighbors where two of the indices in the 3 dimensional address have to be changed (neighbors at the edges of the cube) After these 18 entries, additional 8 entries might be used for neighbors at the corners. |
|||
integer, | private | :: | nBCtypes | Number of different Boundary conditions used in the complete domain e.g. wall, inflow, outflow |
|||
character(len=LabelLen), | private, | allocatable | :: | BC_label(:) | Array of labels identifying each of the boundary conditions. This array has a length of nBCtypes |
||
logical, | private, | allocatable | :: | hasQVal(:) | Logical array indicating whether each boundary is high order wall This array has a length of nBCtypes |
||
real(kind=rk), | private, | allocatable | :: | qVal(:,:) | Actual q-value array for high order wall boundary conditions JQ: The fist dimension has a length of nSides The second dimension has a length of the number of elements with the boundary condition property. tem_property_type%nElems |
||
integer(kind=long_k), | private, | allocatable | :: | boundary_ID(:,:) | Actual boundary condition identification for all sides of elements with this property. The first dimension has a length of nSides The second dimension has a length of the number of elements with the boundary condition property. tem_property_type%nElems An ID of 0 for a side indicates, that there is no boundary in that direction. A negative ID indicates a periodic boundary and that the given absolute of the given value is to be taken as neighboring ID in that direction. |
||
type(tem_property_type), | private, | pointer | :: | property | => | null() | Pointer to treelmesh_type%property |
Get the boundary property position in the list of all properties in tree.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | Tree to find the boundary condition property for. |
Position of the boundary condition property in the list of all properties.
Initialize boundary conditions of a given tree.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | |||
integer, | intent(in) | :: | mypart | |||
integer, | intent(in) | :: | comm | Communicator to use |
||
type(tem_BC_prop_type), | intent(out) | :: | bc |
load bc property header from lua file, boundaryID from bnd.lsb
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(inout) | :: | me | Boundary condition construct to load the data into |
||
integer(kind=long_k), | intent(in) | :: | offset | Offset of the local set of elements in the global list |
||
integer, | intent(in) | :: | nElems | Local number of elements with this property |
||
character(len=*), | intent(in) | :: | basename | Name of the file, the data is stored in, will be appended with ".ascii" for the header information and ".lsb" or ".msb" for the binary data. |
||
integer, | intent(in) | :: | myPart | Partition to load |
||
integer, | intent(in) | :: | comm | Communicator to use |
Initialize an empty boundary condition
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(out) | :: | me | Boundary condition construct to load the data into |
Create the boundary property for a restricted set of elements given by sublist (position of elements in tree, usually from a subtree).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | The original tree from which the subset is to be selected. |
||
type(tem_BC_prop_type), | intent(in) | :: | bc | The boundary condition property in the original mesh (tree). |
||
type(tem_prophead_type), | intent(in), | target | :: | header | Header description of the boundary condition property in the sublist. This information has to be gathered for the elements of the sublist beforehand. |
|
type(tem_property_type), | intent(in), | target | :: | property | Property description of the boundary condition property in the sublist. This information has to be gathered for the elements of the sublist beforehand. |
|
integer, | intent(in) | :: | sublist(:) | List of elements to get the boundary information for. |
||
type(tem_BC_prop_type), | intent(out) | :: | sub_bc | New boundary property description for just the elements provided in sublist. This may be used to correctly describe the boundary conditions in a subtree for example. |
dump bc properties header information to lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(in) | :: | me | Boundary condition construct to load the data into |
||
character(len=*), | intent(in) | :: | headerfile | name of the bc header lua file |
dump bc properties
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(in) | :: | me | Boundary condition construct to load the data into |
||
integer(kind=long_k), | intent(in) | :: | offset | Offset of the local set of elements in the global list |
||
integer, | intent(in) | :: | nElems | Local number of elements with this property |
||
character(len=*), | intent(in) | :: | basename | Name of the file, the data is stored in, will be appended with ".lua" for the header information and ".lsb" or ".msb" for the binary data. |
||
integer, | intent(in) | :: | myPart | Partition to dump |
||
integer, | intent(in) | :: | comm | Communicator to use |
dump bc properties
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(in) | :: | me | Boundary condition construct to load the data into |
||
integer(kind=long_k), | intent(in) | :: | offset | Offset of the local set of elements in the global list |
||
integer, | intent(in) | :: | nElems | Local number of elements with this property |
||
character(len=*), | intent(in) | :: | basename | Name of the file, the data is stored in, will be appended with ".lua" for the header information and ".lsb" or ".msb" for the binary data. |
||
integer, | intent(in) | :: | myPart | Partition to dump |
||
integer, | intent(in) | :: | comm | Communicator to use |
load bc qVal header from lua file, qVal from qVal.lsb
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(inout) | :: | me | Boundary condition construct to load the data into |
||
integer(kind=long_k), | intent(in) | :: | offset | Offset of the local set of elements in the global list |
||
integer, | intent(in) | :: | nElems | Local number of elements that have qVal |
||
character(len=*), | intent(in) | :: | basename | Name of the file, the data is stored in, will be appended with ".lua" for the header information and ".lsb" or ".msb" for the binary data. |
||
integer, | intent(in) | :: | myPart | Partition to load |
||
integer, | intent(in) | :: | comm | Communicator to use |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(in) | :: | me | Boundary condition construct to load the data into |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(inout) | :: | me | Boundary property type |
Load internal BC property for 1D Line.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | |||
type(tem_BC_prop_type), | intent(inout) | :: | me | Boundary condition construct to load the data into |
||
logical, | intent(in) | :: | xbounds | Set boundaries east and west in X direction? |
||
integer, | intent(in), | optional | :: | nSides | Required sides to set, defaults to 26. |
Load internal BC property for a single fully periodic element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | |||
type(tem_BC_prop_type), | intent(inout) | :: | me | Boundary condition construct to load the data into |
||
integer, | intent(in), | optional | :: | nSides | Required sides to set, defaults to 26. |
Load internal BC property for 2D Slice.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | |||
type(tem_BC_prop_type), | intent(inout) | :: | me | Boundary condition construct to load the data into |
||
integer, | intent(in), | optional | :: | nSides | Required sides to set, defaults to 26. |
dump bc properties header information to lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_BC_prop_type), | intent(in) | :: | me | Boundary condition construct to load the data into |
||
character(len=*), | intent(in) | :: | headerfile | name of the bc header lua file |