This routine builds a description of the faces on each level. The resulting array of tem_face_type ranges from the minimal level of the mesh to the maximal level of the mesh.
\todo Remove all the unnecessary faces from the face descriptor
\todo JZ: this is very memory consuming since we store them in different arrays several times.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(treelmesh_type), | intent(inout) | :: | tree | Tree representation of the mesh to buid the faces for. |
||
| type(tem_BC_prop_type), | intent(in) | :: | boundary | The boundaries of your simulation domain. |
||
| type(tem_commPattern_type), | intent(in) | :: | commPattern | The communication pattern you use for the buffer. |
||
| type(tem_comm_env_type), | intent(in) | :: | proc | Process description to use. |
||
| type(tem_face_type), | intent(out), | allocatable | :: | faces(:) | The created face descriptors (one for each level). |
|
| integer, | intent(in) | :: | nEligibleChildren | The number of eligible children for the vertical face dependency |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(tem_levelDesc_type), | private | :: | levelDesc(1:3,tree%global%minLevel:tree%global%maxLevel) | ||||
| type(tem_levelDesc_type), | private, | allocatable | :: | levelDescX(:) | |||
| type(tem_levelDesc_type), | private, | allocatable | :: | levelDescY(:) | |||
| type(tem_levelDesc_type), | private, | allocatable | :: | levelDescZ(:) | |||
| integer, | private | :: | iLevel |