首页/文章/ 详情

Gmsh模块与OpenSees的交互操作

1年前浏览2629

1. 引言

OpenSees自身没有前后处理功能,于是许多研究者为OpenSees开发了GUI,有些是免费的,有些则是收费的;有些是独立的应用,有些则是基于开源的第三方软件,其中发展比较成熟的一个GUI是GiD+OpenSees,它是GiD的一个插件,在Anura3D中曾经使用过【安装Anura3D指南---基于物质点法(MPM)的岩土数值模拟】。

另一种为OpenSees开发GUI的途径是使用Gmsh,Gmsh是非常流行的免费网格划分软件,ADONIS【有限元软件ADONIS网格划分的重大更新 (V3.90)】、Neper【在Windows系统下安装和使用Voronoi生成器Neper】和Irazu【FDEM-Irazu的数值模拟流程和材料参数选择】均使用了Gmsh作为它们的网格划分器。


2. Gmsh模块

首先安装Gmsh的Windows版本(V4.11.1),然后安装Gmsh Python模块。

pip install gmsh
Gmsh模块的主要方法有:
(1) initialize() 初始化Gmsh

gmsh.initialize()
(2) add_point ()  在(x, y, z) 创建一个


point1 = gmsh.model.geo.add_point(0, 0, 0, 1e-2)point2 = gmsh.model.geo.add_point(100, le-2)
(3) add_line() 创建从点1到点2的线

line1 = gmsh.model.geo.add_line(point1, point2)
(4) add_curve_loop() 创建由线形成的面

face1 = gmsh.model.geo.add_curve_loop([line1, line2, line3, line4])
(5) add_plane_suface() 在面上创建曲面并连接曲面

gmsh.model.geo.add_plane_surface([face1])
(6) synchronize() 同步从Gmsh模型创建的Gmsh数据结构。

gmsh.model.geo.synchronize()
(7) generate() 生成网格

gmsh.model.mesh.generate()
(8) write() 创建给定模型名称的网格

gmsh.write("GFG.msh")
(9) run() 创建图形用户界面

gmsh.fltk.run()
(10) finalize() 完成Gmsh API

gmsh.finalize()

      

3. 交互原理

首先作为前处理在Gmsh中产生网格文件,通过gmsh2opensees模块把参数传递到OpenSees中,计算结束后把结果返回到Gmsh中,作为后处理在Gmsh中显示【OpenSeesPy---使用Python操作OpenSees命令】。

4. 结束语

本文简要描述了使用Gmsh作为前后处理器与OpenSees的交互过程,虽然实现了基本的自动化处理,但由于Gmsh和OpenSees都是通用软件,内含了非常复杂的功能,因此需要花费更多时间进行试验。




来源:计算岩土力学
通用岩土材料试验曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-10-11
最近编辑:1年前
计算岩土力学
传播岩土工程教育理念、工程分析...
获赞 151粉丝 1108文章 1782课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈