Visualisation of distributed mesh

Hello,

I have a distributed mesh in parallel, but would like to visualise the exact partitions (e.g a colour map with a different colour for each distributed segment on each process) and then export this to paraview,

What would be the easiest way to do this?

Thanks,

from dolfin import *
mesh = UnitSquareMesh(32, 32)
XDMFFile("partition.xdmf").write(
	MeshFunction("size_t", mesh, mesh.topology().dim(), mesh.mpi_comm().rank))

image

2 Likes

I need the same thing for dolfinx, could you please provide a simple code?

import dolfinx
import dolfinx.io
from mpi4py import MPI
import numpy as np

mesh = dolfinx.UnitSquareMesh(MPI.COMM_WORLD, 10, 10)
num_cells_local = mesh.topology.index_map(mesh.topology.dim).size_local
mt = dolfinx.MeshTags(mesh, mesh.topology.dim, np.arange(num_cells_local, dtype=np.int32), np.full(num_cells_local, MPI.COMM_WORLD.rank, dtype=np.int32))

with dolfinx.io.XDMFFile(MPI.COMM_WORLD, "mf.xdmf", "w") as xdmf:
    xdmf.write_mesh(mesh)
    xdmf.write_meshtags(mt)
2 Likes

Thank you very much @dokken!

Using current API;

from dolfinx.mesh import locate_entities, meshtags, create_unit_square
import dolfinx.io
from mpi4py import MPI
import numpy as np

mesh = create_unit_square(MPI.COMM_WORLD, 10, 10)

num_cells_local = mesh.topology.index_map(mesh.topology.dim).size_local
mt = meshtags(mesh, mesh.topology.dim, np.arange(num_cells_local, dtype=np.int32), np.full(num_cells_local, MPI.COMM_WORLD.rank, dtype=np.int32))

with dolfinx.io.XDMFFile(MPI.COMM_WORLD, "mf.xdmf", "w") as xdmf:
    xdmf.write_mesh(mesh)
    xdmf.write_meshtags(mt)

Is not working, what I am missing in here? Here is the snapshot from paraview using 8 procs;

I cannot reproduce this with v0.5.0 using the XDMF3ReaderT. I can reproduce this with the S reader, so I would suggest using the T reader.

1 Like

Using XDMF3ReaderT is worked.