I create mesh and write xdmf file and I get an error
TypeError: XDMFFile.write_meshtags() missing 1 required positional argument: ‘x’
import gmsh
from dolfinx.io import XDMFFile, gmshio
from mpi4py import MPIgmsh.initialize()
gmsh.model.add(“rectangle”)
lc=1e-1generate points for inner contour
gmsh.model.geo.addPoint(1, 1, 0, lc, 1)
gmsh.model.geo.addPoint(-1, 1, 0, lc, 2)
gmsh.model.geo.addPoint(-1, -1, 0, lc, 3)
gmsh.model.geo.addPoint(1, -1, 0, lc, 4)generate inner contour
gmsh.model.geo.addLine(1, 2, 1)
gmsh.model.geo.addLine(2, 3, 2)
gmsh.model.geo.addLine(3, 4, 3)
gmsh.model.geo.addLine(4, 1, 4)generate points for outer contour
gmsh.model.geo.addPoint(2, 2, 0, lc, 5)
gmsh.model.geo.addPoint(-2, 2, 0, lc, 6)
gmsh.model.geo.addPoint(-2, -2, 0, lc, 7)
gmsh.model.geo.addPoint(2, -2, 0, lc, 8)generate outer contour
gmsh.model.geo.addLine(5, 6, 5)
gmsh.model.geo.addLine(6, 7, 6)
gmsh.model.geo.addLine(7, 8, 7)
gmsh.model.geo.addLine(8, 5, 8)generate curveloops
gmsh.model.geo.addCurveLoop([1, 2, 3, 4], 1)
gmsh.model.geo.addCurveLoop([5, 6, 7, 8], 2)generate surface
gmsh.model.geo.addPlaneSurface([2, 1], 1)
gmsh.model.geo.synchronize()generate physical groups for boundary conditions
inside, outside, surface = 1, 2, 3
gmsh.model.addPhysicalGroup(1, [1, 2, 3, 4], inside, name=“Inner Contour”)
gmsh.model.addPhysicalGroup(1, [5, 6, 7, 8], outside, name=“Outer Contour”)
gmsh.model.addPhysicalGroup(2, [1], surface, name=“Surface”)finish gmsh
gmsh.model.mesh.generate(2)
create a DOLFINx mesh
dim = 2
gmsh_model_rank = 0
domain_com = MPI.COMM_SELF
domain, cell_markers, facet_markers = gmshio.model_to_mesh(gmsh.model, domain_com, gmsh_model_rank, dim)
domain.name = “Stator”
cell_markers.name = f"{domain.name}_cells"
facet_markers.name = f"{domain.name}_facets"with XDMFFile(domain.comm, f"rectangle_mesh_{MPI.COMM_SELF.rank}.xdmf", “w”) as file:
file.write_mesh(domain)
file.write_meshtags(cell_markers)
domain.topology.create_connectivity(domain.topology.dim - 1, domain.topology.dim)
file.write_meshtags(facet_markers)gmsh.finalize()