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 |