https://solvercube.com/sf/1nm/freecad/freecad-0-19-x-cfd-openfoam_210808/4wordpress.html
3:初步网格生成
我们首选的CFD工作台网格工具是由Creative Fields Holdings Ltd.开发的cfMesh软件。自OpenFOAM v1712起就已集成,因此无需外部安装。
3.1:从工作台选择器中选择,然后点击**CfdOF**
(**Create an analysis container with a CFD solver**工具栏中的图标。确保模型树中只添加一个(且唯一的)对象。**CfdAnalysis**
3.2:在模型树中选择对象以定义网格范围,然后点击**AdditivePipe**
(**Create a mesh**)从工具栏中。面板打开后,点击按钮启动网格任务。**CFD Mesh**`Write mesh case`
- 每次更改网格参数时都要点击按钮,它会重建工作文件夹中的“meshCase”目录,并保留设定参数值。
**Write mesh case**
3.3:用 — 或 — 给出数值,然后再次点击。然后点击按钮生成初步网格。网格工作完成后,通过按钮检查表面网格分布。**Base element size**`50.8 mm0.0508 mWrite mesh case**Run mesher**Load surface mesh`

- 确保小组报告了这条信息。
**CFD Mesh**`Meshing completed` - 这里的基底元件尺寸是基于在后期网格细化(减少75%)后,预计管径上约有10个单元(318毫米 / 10 = 31.8毫米)确定(即31.8毫米 / 0.75 = 50.8毫米)。
3.4:请注意,表面网格可视化只是一个“三角剖分”的表示(即不是真实网格元素)。要查看实际网格结构,最好用按钮操作的ParaView。我们会在分配边界条件后细化网格,所以现在请点击退出网格器。**Paraview**`Close`
- 如果按键加载 ParaView 失败,你可以用按钮手动打开 ‘meshCase’ 文件夹,然后从里面启动 Teminal,通过 启动 ParaView 。
**Paraview**`Editparaview –data=pv.foam &`
4:物理与材质设置
该练习涉及的物理参数是任意选择的,流量雷诺数(基于管道直径)为3.8 x 105.相关的湍流建模参数可以通过CFD Online提供的在线工具轻松估算。
4.1:在模型树中,展开分支以显示其下的对象。首先,双击该物体以启用湍流选项,然后再打开湍流选项。点击确认。**CfdAnalysis**`PhysicsModel**Viscous**RANSOK`
4.2:双击模型树中的对象,从中选择。接受 和 的默认值,然后点击关闭。**FluidProperties**`Water**Predefined fluid library**Density**DynamicViscosity**OK`
4.3:双击模型树中的对象。启用 ,并在 、 和 字段中保持 0 m/s 的值。同样,勾选默认值为0 Pa的选项。对于湍流参数,输入以下数值:**InitialiseFields**`Specify values**Velocity**Ux**Uy**Uz**Specify value**Pressure`
: 8.640e-4 (m2/s2)
: 2.030 (1/s)
点击确认。`*OK**`
注意
FreeCAD 面板中的单位错误地显示为,但写入输入时会被当作(因此无需转换)。deg/s`1/s`5:边界条件
在这个例子中,我们将从左端注入1 m/s,该流入从右端流出。
5.1:点击
(**Create a CFD fluid boundary**)以定义速度入口边界。旋转视角,这样你就能用鼠标左键选择左侧的横截面积。选中的表面以绿色高亮表示,点击任务面板中的按钮。**Add**
注意所选面的实体ID为,表示它是该对象的第N个面。
**AdditivePipe:FaceN**`AdditivePipe`
5.2:将类型改为 ,然后输入字段的值 (m/s)。选择 的选项,输入与初始场地的值相同的:**Boundary**`Inlet1Ux**Intensity & Length Scale**Turbulence specification`
**Turbulence intensity**:0.024**Length scale**:(或0.01448 m`14.48 mm`)
点击确认。**OK**
5.3:同样,我们会赋予压力出口边界条件,但这次先点击对面的截面面积,然后点击
(**Create a CFD fluid boundary**)图标。这样会打开面板,并相应地填满。**CFD boundary condition**`Boundary face list`
5.4:将 更改为 ,保持其余参数不变。点击确认。**Boundary type**`OutletOK`
5.5:我们可以继续选择所有其他面,以定义无滑移的“墙”边界条件。但这样做会让选择相同的面来生成边界层有点棘手。相反,我们最好在边界墙处理部分处理这部分。
- 如果你选择在这一步添加墙壁边界条件,务必关闭结果对象的可见性,这样就不会妨碍下一步选择相同的面。
**wall**
6:边界墙处理
在本节中,我们将利用固有的网格细化功能来分组目标墙面区域,以便分配合适的细化策略。
6.1:选择主网格对象——即本例中标记的那个——然后点击**AdditivePipe_Mesh**
(**Create a mesh refinement**)图标。
6.2:从图形中挑选五(5)个墙面,然后点击面板中的按钮将它们添加到列表中。Add Mesh refinement References
如果 FreeCAD 拒绝用选中的面填满列表,你可以先为该对象获取这些面,然后相应地排除进出口的两个面。ReferencesSelect from listAdditivePipe
6.3:勾选面板上的选项,将 增加到 。保持原样,点击关闭。Boudanry layersMesh refinementNumber of layers4OK
6.4:从模型树中展开条目,并将其重命名为更直观的名称,比如“WallFaces”。现在,点击AdditivePipe_MeshMeshRefinement图标边界条件 (Create a CFD fluid boundary),点击,然后选择列表控件。选中所有五(5)个面后,点击。关闭模型树中新创建对象的可见性。Select from listWallFacesSelect ObjectOKwall
注意,之前的实体现在分别被引用到。AdditivePipe:Face2AdditivePipe:Face6WallFaces:Face1WallFaces:Face5
7:重新网状
关于边界网格生成参数,我们需要重新审视网格生成任务。
7.1:双击模型树。点击按钮发起,然后点击。网格工作完成后,快速通过 检查表面网格分布。**AdditivePipe_Mesh**`Write mesh case**Run Mesher**Load surface mesh
7.2:你可以启动ParaView查看实际网格结构——比如按按钮(如果有效)或手动启动(见步骤3.4)。经过简短调查后,离开ParaView。另外,点击网格面板退出。ParaviewClose`
7.3:注意 FreeCAD 会根据需要调整单个对象的可见性状态。不过,你可以随时开关它们各自的可见性。在继续解题前保存FreeCAD文档也是个好主意。
8:求解
现在几何体和网格准备好后,你可以继续用OpenFOAM求解器求解模型。
8.1:双击模型树中的对象,点击按钮实例化案例数据。这会在你的工作文件夹中构建带有设定参数的“case”文件夹。**CfdSolver**`Write`
- 如果你更改了建模参数,务必点击按钮,这样它会相应地重建案件文件夹。
**Write**
8.2:点击并监控绘图窗口中的残差。收敛似乎在大约500次迭代后会停滞且波动(可能是因为流动瞬态)。大约1000次迭代后停止运行。**Run**
9:后期处理
遗憾的是,该面板尚未完全实现处理已解决数据的应用。你必须进入案件文件夹,完成剩余的后期处理任务。**Analysis control**
9.1:点击按钮打开案件根目录。**Edit**
9.2:通过右键点击打开终端,从上下文菜单中选择。对于分区分解的情况,首先需要使用命令重建解数据。**Open in Terminal**`reconstructPar`
$ reconstructPar
然后,通过输入以下方式启动ParaView:
$ paraview –data=pv.foam
9.3:花时间研究结果,绘制压力轮廓、速度矢量等。

最后编辑:秦晓川 更新时间:2026-08-11 11:23