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