我正在尝试在 gmsh 的框中创建子卷。创建子卷后,我想根据列表重命名它。我的列表有四列:前三列是和坐标x
,最后一列是名称。我想根据最后一列重命名创建的子卷。这是我的清单:y
z
indices=[[1.,1.,1.,'lower'],[1.,1.,6.,'upper']]
基于点 1.,1.,1 中的列表。我的音量应命名为“较低”,并在第 1.、1.、6 点中。作为“上”。然后我应该找到一个接近这些点的四面体,找出值标签是什么,并用这个体积标签将所有四面体更改为“更低”。我对另一卷也这样做。目前我正在手动进行。如果有人帮助我在 gmsh 中自动执行此操作,我将不胜感激。这是我的脚本:
points=[[0.,0.,5.],[0.,5.,5.],[10.,5.,5.],[10.,0.,5.]]
import gmsh
gmsh.initialize()
gmsh.model.occ.addBox(0,0,0,10,5,10)
for [x, y, z] in points:
gmsh.model.occ.addPoint(x, y, z)
gmsh.model.occ.addLine (9, 10)
gmsh.model.occ.addLine (10, 11)
gmsh.model.occ.addLine (11, 12)
gmsh.model.occ.addLine (12, 9)
gmsh.model.occ.addCurveLoop([13,14,15,16], 10)
gmsh.model.occ.addSurfaceFilling(10, 10)
gmsh.model.occ.synchronize()
gmsh.model.occ.fragment(gmsh.model.occ.getEntities(2), gmsh.model.occ.getEntities(3))
gmsh.model.occ.synchronize()
gmsh.model.mesh.generate(3)
lower = gmsh.model.addPhysicalGroup(3, [1])
gmsh.model.setPhysicalName(3, lower, "lower")
upper = gmsh.model.addPhysicalGroup(3, [2])
gmsh.model.setPhysicalName(3, upper, "upper")
gmsh.option.setNumber("Mesh.MshFileVersion", 2.2)
gmsh.fltk.run()
gmsh.clear()