1. 装好这两个 Python 库,有限元建模效率翻十倍
系列:《从零到一:gmsh Python API 与 OpenSeesPy 联合建模实战》测试环境:gmsh 4.15.2, Python 3.10+, Windows 10 / macOS / Linux
一、你在装什么?
gmsh 有两种形态:
| | | |
|---|
| Python 包 | pip install gmsh | | |
| 完整安装包 | | | |
本系列只用 Python 包。如果你想在 GUI 里看网格,两种可以都装,它们互不冲突。
二、一句命令装完
pip install gmsh==4.15.2
锁定 4.15.2 是因为 gmsh 的 API 在不同大版本间可能有改动。所有文章的代码都在这个版本下测试通过。
OpenSeesPy 你应该已经装了(如果你读过我的 OpenSeesPy 基础系列)。如果还没:
pip install openseespy
Windows 用户注意:openseespy 在 Windows 上偶尔因编译依赖报错。如果 pip install 不成,用 conda:
conda install -c conda-forge openseespy
三、10 秒验证:复制这段代码跑一下
importgmshgmsh.initialize()print(f"gmsh {gmsh.option.getNumber('General.VersionMajor')}."f"{gmsh.option.getNumber('General.VersionMinor')}")gmsh.model.add("hello")gmsh.model.occ.addRectangle(0,0,0,1,1)gmsh.model.occ.synchronize()gmsh.model.mesh.generate(2)gmsh.write("hello.msh")print("成功!文件 hello.msh 已生成。")gmsh.finalize()
如果输出:
gmsh 4.15成功!文件 hello.msh 已生成。
环境就绪。
四、一个重要的约定:单位制
gmsh 不存储物理单位——坐标 (0,0,0) 到 (10,0,0) 对你来说可能是 10 毫米,对 gmsh 来说只是数值 10。
OpenSeesPy 的默认单位制是 N / m / kg / s。
本系列全程统一使用这套单位制。这意味着:
- 一根 10m 长的梁,gmsh 里写
(0,0,0) 到 (10,0,0)
五、requirements.txt
在项目目录下放一个 requirements.txt:
gmsh==4.15.2openseespy==3.8.0.0numpy>=1.21.0
下篇预告:用 7 行 Python 代码创建你的第一个 gmsh 模型——矩形板、网格、导出,一气呵成。