-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Hi, I am having problem with following mesh generation. It is ok in serial run but fails in parallel.
from firedrake import *
import netgen
from netgen.geom2d import SplineGeometry, CSG2d, Circle, Rectangle
ngmesh = netgen.libngpy._meshing.Mesh(2)
if COMM_WORLD.rank == 0:
geo = CSG2d()
circle = Circle(center=(0.2,0.2), radius=0.05, bc="circle")
rect = Rectangle(pmin=(0,0), pmax=(2.2,0.41), bc="pipe", bottom="b", left="l", top="t", right="r")
geo.Add(rect-circle)
ngmesh = geo.GenerateMesh(maxh=0.02)
mesh_tmp = Mesh(ngmesh)
mesh = Mesh(mesh_tmp.curve_field(2, location_tol=1e-8))
in parallel it gives following error irrespective of the location_tol parameter as mentioned in #76
Traceback (most recent call last):
File "/srv/beegfs/cluster/work/hron/GIT/dfg-benchmark/netgen_fail.py", line 23, in <module>
mesh = Mesh(mesh_tmp.curve_field(2, location_tol=1e-8))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "petsc4py/PETSc/Log.pyx", line 250, in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
File "petsc4py/PETSc/Log.pyx", line 251, in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
File "/srv/beegfs/cluster/work/hron/APPS/venv_firedrake@2025.10.1/lib/python3.11/site-packages/ngsPETSc/utils/firedrake/meshes.py", line 179, in curveField
permutation = find_permutation(
^^^^^^^^^^^^^^^^^
File "petsc4py/PETSc/Log.pyx", line 250, in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
File "petsc4py/PETSc/Log.pyx", line 251, in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
File "/srv/beegfs/cluster/work/hron/APPS/venv_firedrake@2025.10.1/lib/python3.11/site-packages/ngsPETSc/utils/utils.py", line 38, in find_permutation
raise ValueError(
ValueError: It was not possible to find a permutation for every cell within the provided tolerance
Metadata
Metadata
Assignees
Labels
No labels