您的位置:首页 >资讯 > 正文

环球热议:OpenFOAM工具renumberMesh详解

OpenFOAM自带的网格绘制工具较为简单,且使用时较为复杂繁琐。通常我们会选择利用较为成熟的网格绘制软件如Pointwise、ICEM等绘制好网格并将网格导入OpenFOAM算例文件夹中。


(资料图片仅供参考)

一些刚接触OpenFOAM的新手在将网格导入OpenFOAM并设置好算例进行计算时,通常直接执行求解器容易造成计算发散。其原因是缺少了在算例文件夹的顶层目录执行renumberMesh命令的过程。执行该命令的效果是降低导入网格的bandwidth与profile。

实际上bandwidth与profile是矩阵中的术语。对于一个N×N的对称矩阵A,第 i ii 行的bandwidth为:

β i ( A ) = min ⁡ { j ∣ a i , j ≠ 0 } \beta_i(\bold{A}) = \min\{j | a_{i, j} \ne 0 \}β i​ (A)=min{j∣a i,j​

​ =0}

矩阵整体的bandwidth为:

β ( A ) = max ⁡ { β i ( A ) ∣ 1 ≤ i ≤ N } = max ⁡ { ∣ i − j ∣ ∣ a i , j ≠ 0 } \beta(\bold{A}) = \max\{\beta_i(\bold{A}) | 1 \le i \le N\} = \max\{ |i−j| | a_{i, j} \ne 0 \}β(A)=max{β i​ (A)∣1≤i≤N}=max{∣i−j∣∣a i,j​

​ =0}

profile为:

Σ i β i ( A ) \Sigma_i\beta_i(\bold{A})Σ i​ β i​ (A)

bandwidth和profile反映了对称矩阵中非零元素在对角线周围的聚集程度。可以想到,降低bandwidth与profile对稀疏矩阵求解的收敛性与收敛速度有很大帮助。

为了更为直观的观察执行renumberMesh命令后发生的变化,我利用Pointwise随便绘制了一个底面直径为2米、高为2米的圆柱,其中包含了48000个网格。执行renumberMesh -overwrite对0文件夹及constant/polyMesh文件夹进行修正后,可以看到网格的bandwidth由40199下降为1153,profile由1.11116e+08下降为3.96072e+07。

Create mesh for time = 0

Mesh size: 48000Before renumbering :band : 40199profile : 1.11116e+08

Using default renumberMethod.

Selecting renumberMethod CuthillMcKee

Reading geometric fields

Reading volScalarField cellidReading volScalarField pReading volVectorField U

After renumbering :band : 1153profile : 3.96072e+07

Writing mesh to “constant”

从图像上来看,在执行renumberMesh命令之后,网格单元的ID会变得较为连续,如下图。这对于CFD求解是极其有益的。

标签:

热门资讯

资讯播报