geo模块
pygmsh中的geo模块,是最基本的几何生成方法,在这个模块中,Geometry这个类会被在最开始就建立,生成一个几何对象实例,这个对象可以是任意的,具体的几何形状可以通过类的方法进行生成,比如多边形用add_polygon()
这个方法,圆可以用add_circle()
方法。当然,也可以从最基本的点开始生成,在点的基础上生成线(这个线可以是直线,也可以是曲线或者贝塞尔曲线)。
geo模块中,在二维几何对象的基础上,可以进行一些简单的拉伸,旋转、扭转等操作,从而生成三维对象。
import pygmsh
with pygmsh.geo.Geometry() as geom:
geom.add_polygon(
[
[0.0, 0.0],
[1.0, -0.2],
[1.1, 1.2],
[0.1, 0.7],
],
mesh_size=0.1,
)
mesh = geom.generate_mesh()
with pygmsh.geo.Geometry() as geom:
geom.add_circle([0.0, 0.0], 1.0, mesh_size=0.2)
mesh = geom.generate_mesh()
mesh对象的操作
geom对象的generate_mesh()方法能够进行几何模型的网格划分,划分后会返回一个结果,这个结果这里就先称之为mesh。mesh中包含了节点坐标,单元的节点组成等等信息,当然node和element是最关心的数据。当然python是一种完全的面向对象的编程语言,这里的mesh实际上也是一种类,他的属性,以及它的方法都被用于体现表征数据信息。查看网格节点的坐标可以用points
属性,但是网格单元组成的信息,并不是被封装为属性,似乎是一个更为复杂的结构体,mesh.cells是一个meshio对象,mesh.cells_dict["triangle"]
可以用于查看三角单元的信息。
mesh.points # 获取节点坐标
mesh.cells_dict["triangle"] # 获取单元节点组成
由于mesh是meshio中的对象,它可以方便的输出为vtk文件,采用write方法即可完成。
mesh.write("xxx.vtk")
输出的vtk文件,可以直接采用paraview打开查看。
本站文章如非特别说明,均为原创。未经本人同意,请勿转载!转载请务必注明出处!
您好 请问您了解pygmsh支持导入模型文件的网格划分吗
你的文章让我感受到了不一样的风景,谢谢分享。 http://www.55baobei.com/eZ0LzPTTL7.html
你的文章让我心情愉悦,真是太棒了! https://www.yonboz.com/video/80617.html
你的才华让人瞩目,期待你的更多文章。 http://www.55baobei.com/d2zOiLTyEX.html
真好呢
你的才华让人瞩目,期待你的更多文章。 http://www.55baobei.com/d2zOiLTyEX.html
你的文章让我心情愉悦,每天都要来看一看。 https://www.4006400989.com/qyvideo/33863.html
你的文章内容非常专业,让人佩服。 https://www.4006400989.com/qyvideo/38664.html
你的文章让我心情愉悦,每天都要来看一看。 http://www.55baobei.com/SSbcmIYdGr.html
《麻辣女生》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/4359.html