Hello, I have a problem with 1D mesh. The simple code below gives me an error only when I run it from mpirun. Is there any way to overcome this problem?
I use ngsolve 6.2.2305.post35.dev. Thank you in advance for your comment.
The error messages (output):
segi: 0
points: 1 3
surfels:
Traceback (most recent call last):
File "/path/to/file/test.py", line 28, in <module>
mesh = m.Distribute(comm)
^^^^^^^^^^^^^^^^^^
netgen.libngpy._meshing.NgException: no surface element found
Code:
import ngsolve
from netgen.meshing import *
def mesh1d():
m = Mesh(dim=2)
# Nodes
p1 = m.Add(MeshPoint(Pnt(0, 0, 0)))
p2 = m.Add(MeshPoint(Pnt(1, 0, 0)))
p3 = m.Add(MeshPoint(Pnt(2, 0, 0)))
# Element 0D
idx_left = m.AddRegion("left", dim=0)
idx_right = m.AddRegion("right", dim=0)
m.Add(Element0D(p1, index=idx_left))
m.Add(Element0D(p3, index=idx_right))
# Element 1D
idx = m.AddRegion("material", dim=1)
m.Add(Element1D([p1,p3], index=idx))
return m
comm = ngsolve.MPI_Init()
if comm.rank==0:
m = mesh1d()
mesh = m.Distribute(comm)
else:
mesh = Mesh.Receive(comm)