This module provides the global part of the TREe based ELemental Mesh, which is needed on each partition.
A datatype describing the global mesh information, present in all partitions (on all processes).
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public | :: | BoundingCubeLength |
Length of the outermost bounding cube |
|||
real(kind=rk), | public | :: | Origin(3) |
Origin of the cube, extent of length in each direction from this point. |
|||
real(kind=rk), | public | :: | effOrigin(3) | = | 0._rk |
Origin of the cube which is effectively covered by tree elements |
|
real(kind=rk), | public | :: | effLength(3) | = | 0._rk |
Length of the hexahedral domain which is effectively covered by tree elements |
|
character(len=labelLen), | public | :: | predefined | = | '' |
name of the predefined mesh generated on the fly |
|
integer(kind=long_k), | public | :: | nElems |
total number of elements |
|||
integer, | public | :: | nParts |
Number of parts, the mesh is partitioned into !< process%comm_size |
|||
integer, | public | :: | myPart |
The part to be processed locally (0:nParts-1) !< process%rank |
|||
integer, | public | :: | comm |
MPI communicator of the processes, the mesh is distributed on |
|||
integer, | public | :: | minLevel |
Minimal element level present in the mesh |
|||
integer, | public | :: | maxLevel |
Maximal element level present in the mesh |
|||
character(len=LabelLen), | public | :: | label |
Name of the mesh |
|||
character(len=LabelLen), | public | :: | comment |
Space for comments |
|||
integer, | public | :: | nProperties |
Total number of properties present in the mesh properties: fluid, solid, has boundaries, has elements, is deformed |
|||
real(kind=rk), | public | :: | effboundingCube(3,2) |
The information of real bounding cube which is read from the mesh header |
|||
type(tem_prophead_type), | public, | pointer | :: | Property(:) | => | null() |
declarations for each property (The bit position of the flag for the property, the total number of elements with it, and label for its declaration). For a detailed description see \ref tem_property_module |
character(len=pathlen), | public | :: | dirname |
Name of the directory, where the data for the mesh is read from. Has to have a trailing directory separator. |
|||
logical, | public | :: | meshChange | = | .false. |
did the mesh changed since last time dumping it?? |
write mesh information into lua file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(in) | :: | me |
Structure to store header in |
||
type(aot_out_type), | intent(inout) | :: | conf |
aotus lua state to write output |
Add description
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to store header in |
||
type(flu_State) | :: | conf |
lua flu state to read mesh from |
|||
integer, | intent(in) | :: | myPart |
The process local part (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
A routine to load global informations from the header file in the given directory.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to store header in |
||
character(len=*), | intent(in) | :: | dirname |
Directory containing the mesh informations |
||
integer, | intent(in) | :: | myPart |
The process local part (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
Routine to free allocated memory for the header again.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(inout) | :: | me |
A routine to dump global informations into the mesh header in lua format
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(in) | :: | me |
global type to be dumped |
||
logical, | intent(in), | optional | :: | root_only |
root dump global mesh when true and all process dump its own mesh when false |
Add description
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to load the mesh to |
||
type(flu_State) | :: | conf |
Directory containing the mesh informations |
|||
integer, | intent(in) | :: | thandle |
Handle for the table to read the description of the mesh from. |
||
integer, | intent(in) | :: | myPart |
Partition to use on the calling process (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
Generate the header for the simple full cube mesh.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to load the mesh to |
||
type(flu_State) | :: | conf |
Directory containing the mesh informations |
|||
integer, | intent(in) | :: | thandle |
Handle for the table to read the description of the mesh from. |
||
integer, | intent(in) | :: | myPart |
Partition to use on the calling process (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
Generate the simple single level mesh of a slice in the full cube.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to load the mesh to |
||
type(flu_State) | :: | conf |
Directory containing the mesh informations |
|||
integer, | intent(in) | :: | thandle |
Handle for the table to read the description of the mesh from. |
||
integer, | intent(in) | :: | myPart |
Partition to use on the calling process (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
Generate the simple single level mesh of a line in the full cube.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to load the mesh to |
||
type(flu_State) | :: | conf |
Directory containing the mesh informations |
|||
integer, | intent(in) | :: | thandle |
Handle for the table to read the description of the mesh from. |
||
integer, | intent(in) | :: | myPart |
Partition to use on the calling process (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
||
character(len=*), | intent(in) | :: | predefined |
Generate the single element mesh.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to load the mesh to |
||
type(flu_State) | :: | conf |
Directory containing the mesh informations |
|||
integer, | intent(in) | :: | thandle |
Handle for the table to read the description of the mesh from. |
||
integer, | intent(in) | :: | myPart |
Partition to use on the calling process (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |