python-api: occ saves all elements even with Mesh.SaveAll = 0
These MWEs create a 1x1 square, mesh it 2D but define a single physical line. The expected behavior is to get in the .msh
file only the elements belonging to such entity.
The expected behavior is opbtained by this internal-kernel script (call it geo.py
):
import gmsh
gmsh.initialize()
gmsh.model.geo.addPoint(0, 0, 0, 0, 1)
gmsh.model.geo.addPoint(1, 0, 0, 0, 2)
gmsh.model.geo.addPoint(1, 1, 0, 0, 3)
gmsh.model.geo.addPoint(0, 1, 0, 0, 4)
gmsh.model.geo.addLine(1, 2, 1)
gmsh.model.geo.addLine(3, 2, 2)
gmsh.model.geo.addLine(3, 4, 3)
gmsh.model.geo.addLine(4, 1, 4)
gmsh.model.geo.addCurveLoop([4, 1, -2, 3], 1)
gmsh.model.geo.addPlaneSurface([1], 1)
gmsh.model.addPhysicalGroup(1, [1], 1)
gmsh.model.geo.synchronize()
gmsh.model.mesh.generate(2)
gmsh.write("geo.msh")
gmsh.finalize()
The same input using OCC would be (call it occ.py
):
import gmsh
gmsh.initialize()
gmsh.model.occ.addRectangle(0, 0, 0, 1, 1, 1)
gmsh.model.addPhysicalGroup(1, [1], 1)
gmsh.model.occ.synchronize()
gmsh.model.mesh.generate(2)
gmsh.write("occ.msh")
gmsh.finalize()
It writes all the elements as if Mesh.SaveAll=1
(it is not).
Edited by jeremy theler