This routine smoothens fluid domain with maximum level jumps of 1.
This is done by running over all leaf, flooded, non-intersected node at each level and check for neighbor in all 26 directions. If neighbor exist in protoTree and is not a leaf then get eligible children of neighbor in the inverse direction of iDir and check if any of eligible children is not a leaf then refine myself.
Algorithm: Iterate over minLevel, maxLevel-2 - Iterate over all nodes in iLevel + if iNode is leaf, flooded and non intersected boundary * Iterate over 26 directions ++ if neighbor in iDir exist in protoTree and not a leaf ** get eligible children of neighbor in inverse iDir -- if any of eligible children in protoTree is not a leaf +++ refine iNode
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(sdr_protoTree_type), | intent(inout) | :: | proto |
preliminary tree on which childern are created |
||
| type(sdr_confHead_type), | intent(inout) | :: | header |
some global information on solver name and version |
||
| integer, | intent(in) | :: | maxLevel |
Maximum level in the fluid domain |