dolfinx
dolfinx copied to clipboard
Use bitset in VTKHDF read mesh, removing MPI_Allgatherv call.
Rather than communicating all mesh cell types globally using MPI_Allgatherv use a bitset to do a set union on the cell type and degree. Using 8 cell types, and degrees 1-8, this fits into a 64-bit bitset.
Addresses issue #3701
I think a medium term fix would be that the mesh construction/factory function takes only the cell types on the calling process. Then this issue (largely) disappears.
Once the mesh topology is built, information on the cell polynomial degree can be communicated (at the same time that the geometry data is communicated.