Now, I need to build myself mesh by pygmsh
. The mesh means:
points = [
[x0, y0, z0],
[x1, y1, z1],
...
[xn, yn, zn]
]
connections = [
[c11, c12, c13],
[c21, c22, c23],
...
[cm1, cm2, cm3]
]
How can I input this mesh to pygmsh
?
I try to build this mesh
by geom.add_polygon
, but it do not work.
The complete code to reproduce my problem is:
import pygmsh
p0 = [0, 0, 0]
p1 = [1, 0, 0]
p2 = [1, 1, 0]
p3 = [0, 1, 0]
p4 = [0, 0, 1]
p5 = [1, 0, 1]
p6 = [1, 1, 1]
p7 = [0, 1, 1]
with pygmsh.geo.Geometry() as geom:
s1 = geom.add_polygon(
[p0, p1, p2, p3]
)
s2 = geom.add_polygon(
[p4, p5, p6, p7]
)
s3 = geom.add_polygon(
[p0, p1, p5, p4]
)
s4 = geom.add_polygon(
[p1, p2, p6, p5]
)
s5 = geom.add_polygon(
[p2, p3, p7, p6]
)
s6 = geom.add_polygon(
[p0, p3, p7, p4]
)
surface = geom.add_surface_loop([s1, s2, s3, s4, s5, s6])
geom.add_volume(surface)
mesh = geom.generate_mesh()
points = mesh.points
elem = mesh.cells_dict['triangle']
And, it reports a bug:
Traceback (most recent call last):
File "C:/Users/qiang_zhang/Desktop/readSU2/test3.py", line 42, in <module>
mesh = geom.generate_mesh()
File "D:\Anaconda\envs\work\lib\site-packages\pygmsh\common\geometry.py", line 374, in generate_mesh
gmsh.model.mesh.generate(dim)
File "D:\Anaconda\envs\work\lib\site-packages\gmsh.py", line 1973, in generate
raise Exception(logger.getLastError())
Exception: Could not recover boundary mesh: error 2
How can I build myself volume? Any suggestion is appreciated~~~