@@ -457,7 +457,7 @@ function Geometry.DiscreteModel(
457457 @assert size (cell_graph,1 ) == ncells
458458 @assert size (cell_graph,2 ) == ncells
459459
460- lcell_to_cell, lcell_to_part, gid_to_part = map (parts) do part
460+ lcell_to_cell, lcell_to_part = map (parts) do part
461461 cell_to_mask = fill (false ,ncells)
462462 icell_to_jcells_ptrs = cell_graph. colptr
463463 icell_to_jcells_data = cell_graph. rowval
@@ -473,9 +473,8 @@ function Geometry.DiscreteModel(
473473 end
474474 end
475475 lcell_to_cell = findall (cell_to_mask)
476- lcell_to_part = zeros (Int32,length (lcell_to_cell))
477- lcell_to_part .= cell_to_part[lcell_to_cell]
478- lcell_to_cell, lcell_to_part, cell_to_part
476+ lcell_to_part = collect (Int32,view (cell_to_part,lcell_to_cell))
477+ lcell_to_cell, lcell_to_part
479478 end |> tuple_of_arrays
480479
481480 partition = map (parts,lcell_to_cell,lcell_to_part) do part, lcell_to_cell, lcell_to_part
@@ -509,6 +508,15 @@ function Geometry.UnstructuredDiscreteModel(model::GenericDistributedDiscreteMod
509508 )
510509end
511510
511+ # PolytopalDiscreteModel
512+
513+ function Geometry. PolytopalDiscreteModel (model:: GenericDistributedDiscreteModel )
514+ return GenericDistributedDiscreteModel (
515+ map (Geometry. PolytopalDiscreteModel,local_views (model)),
516+ get_cell_gids (model)
517+ )
518+ end
519+
512520# Simplexify
513521
514522function Geometry. simplexify (model:: DistributedDiscreteModel ;kwargs... )
0 commit comments