The main documentation of the Get_Flag_Faces_of_Cells_Multi_Mesh Procedure contains additional explanation of this code listing.
subroutine Get_Flag_Faces_of_Cells_MMesh (Flag_Faces_of_Cells, Mesh) ! Input variable. type(Multi_Mesh_type), intent(in) :: Mesh ! Mesh object. ! Input/Output variable. type(integer,2) :: Flag_Faces_of_Cells ! Flag_Faces_of_Cells BNV. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Valid_State(Mesh),5) ! Mesh is valid. ! Flag_Faces_of_Cells is valid. VERIFY(Valid_State(Flag_Faces_of_Cells),5) ! Flag_Faces_of_Cells has correct dimensions. VERIFY(SIZE(Flag_Faces_of_Cells,1) == Mesh%NCells_PE,5) VERIFY(SIZE(Flag_Faces_of_Cells,2) == Mesh%Faces_per_Cell,5) ! !=polys. ! Set the Flag for each face. if (Mesh%Orthogonality == "Orthogonal") then Flag_Faces_of_Cells = Mesh%Flag_Faces_of_Cells else ! Coding for other mesh types not implemented yet. VERIFY(.false.,1) end if ! Verify guarantees. VERIFY(Valid_State(Mesh),5) ! Mesh is valid. ! Flag_Faces_of_Cells is valid. VERIFY(Valid_State(Flag_Faces_of_Cells),5) return end subroutine Get_Flag_Faces_of_Cells_MMesh