Skip to content

curve_field fails in parallel #95

@JaroslavHron

Description

@JaroslavHron

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions