First check count number of valid elements (non-solid) in each BC. Then rearrange BC elements list so it contains only valid elements. Update fields%bc%elemLvl%stencilPos fields%bc%elemLvl%posInNghElems accordingly.
\todo: do this for both SBB and LIBB?
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
integer, | intent(in) | :: | nBCs | |||
integer, | intent(in) | :: | nFields | |||
integer, | intent(in) | :: | levelPointer(:) | Level pointer |
||
type(tem_levelDesc_type), | intent(in) | :: | levelDesc(minLevel:maxLevel) | Level Descriptor |
||
type(glob_boundary_type) | :: | globBC(nBCs) | ||||
type(mus_field_type) | :: | fields(nFields) |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | nValid(minLevel:maxLevel) | number of valid BC elements |
|||
integer, | private, | allocatable | :: | posInBCElem(:,:) | positions of only valid elements (non-solid) in bc_elems_type |
||
integer, | private | :: | iBC | ||||
integer, | private | :: | iField | ||||
integer, | private | :: | iLevel | ||||
integer, | private | :: | iElem | ||||
logical, | private | :: | allWall |