本章将重点讲解如何通过物理组(Physical Groups)标记仿真所需的边界条件和区域,并导出网格数据供外部求解器(如FEniCS、OpenFOAM)使用,同时提供完整的代码示例。
1.1 物理组的作用
- 标记仿真参数:将几何实体(曲线、曲面、体积)与物理意义关联,例如:
- 边界条件(速度入口、压力出口、对称面)。
- 材料区域(流体域、固体域)。
- 数据导出:确保求解器能正确识别不同区域。
1.2 定义物理组
1.2.1 标记边界条件
# 获取所有曲线
curves = model.getEntities(1)
# 标记入口(曲线ID=1)和出口(曲线ID=2)
model.addPhysicalGroup(1, [1], name="inlet")
model.addPhysicalGroup(1, [2], name="outlet")
1.2.2 标记材料区域
# 获取所有曲面
surfaces = model.getEntities(2)
# 标记流体域(曲面ID=1)和固体域(曲面ID=2)
model.addPhysicalGroup(2, [1], name=