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**1786029588635.png(**Create an analysis container with a CFD solver**工具栏中的图标。确保模型树中只添加一个(且唯一的)对象。**CfdAnalysis**
1786029590236.png

3.2:在模型树中选择对象以定义网格范围,然后点击**AdditivePipe** 1786029589202.png(**Create a mesh**)从工具栏中。面板打开后,点击按钮启动网格任务。**CFD Mesh**`Write mesh case`
1786029590836.png

  • 每次更改网格参数时都要点击按钮,它会重建工作文件夹中的“meshCase”目录,并保留设定参数值。**Write mesh case**

3.3:用 — 或 — 给出数值,然后再次点击。然后点击按钮生成初步网格。网格工作完成后,通过按钮检查表面网格分布。**Base element size**`50.8 mm0.0508 mWrite mesh case**Run mesher**Load surface mesh`

1786029591731.png

  • 确保小组报告了这条信息。**CFD Mesh**`Meshing completed`
  • 这里的基底元件尺寸是基于在后期网格细化(减少75%)后,预计管径上约有10个单元(318毫米 / 10 = 31.8毫米)确定(即31.8毫米 / 0.75 = 50.8毫米)。

3.4:请注意,表面网格可视化只是一个“三角剖分”的表示(即不是真实网格元素)。要查看实际网格结构,最好用按钮操作的ParaView。我们会在分配边界条件后细化网格,所以现在请点击退出网格器。**Paraview**`Close`
1786029626404.png

  • 如果按键加载 ParaView 失败,你可以用按钮手动打开 ‘meshCase’ 文件夹,然后从里面启动 Teminal,通过 启动 ParaView 。**Paraview**`Editparaview –data=pv.foam &`

4:物理与材质设置

该练习涉及的物理参数是任意选择的,流量雷诺数(基于管道直径)为3.8 x 105.相关的湍流建模参数可以通过CFD Online提供的在线工具轻松估算。
1786029642049.png

4.1:在模型树中,展开分支以显示其下的对象。首先,双击该物体以启用湍流选项,然后再打开湍流选项。点击确认。**CfdAnalysis**`PhysicsModel**Viscous**RANSOK`
1786029643428.png

4.2:双击模型树中的对象,从中选择。接受 和 的默认值,然后点击关闭。**FluidProperties**`Water**Predefined fluid library**Density**DynamicViscosity**OK`
1786029643406.png

4.3:双击模型树中的对象。启用 ,并在 、 和 字段中保持 0 m/s 的值。同样,勾选默认值为0 Pa的选项。对于湍流参数,输入以下数值:**InitialiseFields**`Specify values**Velocity**Ux**Uy**Uz**Specify value**Pressure`

  • 1786029643437.png: 8.640e-4 (m2/s2)

1786029643807.png: 2.030 (1/s)
点击确认。`*
OK**`
1786029643941.png

  • 注意1786029643814.pngFreeCAD 面板中的单位错误地显示为,但写入输入时会被当作(因此无需转换)。deg/s`1/s`

    5:边界条件

    在这个例子中,我们将从左端注入1 m/s,该流入从右端流出。
    5.1:点击1786029643799.png(**Create a CFD fluid boundary**)以定义速度入口边界。旋转视角,这样你就能用鼠标左键选择左侧的横截面积。选中的表面以绿色高亮表示,点击任务面板中的按钮。**Add**
    1786029644851.png

  • 注意所选面的实体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**
1786029662274.png

5.3:同样,我们会赋予压力出口边界条件,但这次先点击对面的截面面积,然后点击1786029661119.png (**Create a CFD fluid boundary**)图标。这样会打开面板,并相应地填满。**CFD boundary condition**`Boundary face list`
1786029663542.png

5.4:将 更改为 ,保持其余参数不变。点击确认。**Boundary type**`OutletOK`
1786029663915.png
5.5:我们可以继续选择所有其他面,以定义无滑移的“墙”边界条件。但这样做会让选择相同的面来生成边界层有点棘手。相反,我们最好在边界墙处理部分处理这部分。
1786029687509.png

  • 如果你选择在这一步添加墙壁边界条件,务必关闭结果对象的可见性,这样就不会妨碍下一步选择相同的面。**wall**

6:边界墙处理

在本节中,我们将利用固有的网格细化功能来分组目标墙面区域,以便分配合适的细化策略。
6.1:选择主网格对象——即本例中标记的那个——然后点击**AdditivePipe_Mesh**
1786029687159.png
(**Create a mesh refinement**)图标。
1786029687685.png

6.2:从图形中挑选五(5)个墙面,然后点击面板中的按钮将它们添加到列表中。Add Mesh refinement References
1786029701673.png
如果 FreeCAD 拒绝用选中的面填满列表,你可以先为该对象获取这些面,然后相应地排除进出口的两个面。ReferencesSelect from listAdditivePipe
6.3:勾选面板上的选项,将 增加到 。保持原样,点击关闭。Boudanry layersMesh refinementNumber of layers4OK
1786029753523.png
6.4:从模型树中展开条目,并将其重命名为更直观的名称,比如“WallFaces”。现在,点击AdditivePipe_MeshMeshRefinement图标边界条件 (Create a CFD fluid boundary),点击,然后选择列表控件。选中所有五(5)个面后,点击。关闭模型树中新创建对象的可见性。Select from listWallFacesSelect ObjectOKwall
1786029852244.png
注意,之前的实体现在分别被引用到。AdditivePipe:Face2AdditivePipe:Face6WallFaces:Face1WallFaces:Face5

7:重新网状

关于边界网格生成参数,我们需要重新审视网格生成任务。
7.1:双击模型树。点击按钮发起,然后点击。网格工作完成后,快速通过 检查表面网格分布。**AdditivePipe_Mesh**`Write mesh case**Run Mesher**Load surface mesh![1786029542074.png](/uploads/freecad/images/m_788a01c8bf8534b4382d7a47310cb39b_r.png) 7.2:你可以启动ParaView查看实际网格结构——比如按按钮(如果有效)或手动启动(见步骤3.4)。经过简短调查后,离开ParaView。另外,点击网格面板退出。ParaviewClose`
1786029544227.jpeg
7.3:注意 FreeCAD 会根据需要调整单个对象的可见性状态。不过,你可以随时开关它们各自的可见性。在继续解题前保存FreeCAD文档也是个好主意。
1786029544762.png

8:求解

现在几何体和网格准备好后,你可以继续用OpenFOAM求解器求解模型。
8.1:双击模型树中的对象,点击按钮实例化案例数据。这会在你的工作文件夹中构建带有设定参数的“case”文件夹。**CfdSolver**`Write`
1786029501389.png

  • 如果你更改了建模参数,务必点击按钮,这样它会相应地重建案件文件夹。**Write**
    8.2:点击并监控绘图窗口中的残差。收敛似乎在大约500次迭代后会停滞且波动(可能是因为流动瞬态)。大约1000次迭代后停止运行。**Run**
    1786029501653.png

    9:后期处理

    遗憾的是,该面板尚未完全实现处理已解决数据的应用。你必须进入案件文件夹,完成剩余的后期处理任务。**Analysis control**
    9.1:点击按钮打开案件根目录。**Edit**
    1786029501666.png
    9.2:通过右键点击打开终端,从上下文菜单中选择。对于分区分解的情况,首先需要使用命令重建解数据。**Open in Terminal**`reconstructPar`
    $ reconstructPar
    然后,通过输入以下方式启动ParaView:
    $ paraview –data=pv.foam
    9.3:花时间研究结果,绘制压力轮廓、速度矢量等。
    1786029439504.png

1786029485363.png

作者:秦晓川  创建时间:2026-08-06 23:16
最后编辑:秦晓川  更新时间:2026-08-11 11:23