网格划分

../_images/window_mesh.png

网格划分选项卡

Before the numerical calculations, the 3D calculation domain needs to be discretized. This discretization process is also known as mesh generation, one of the most crucial steps in any CFD assessment.

传统CFD工具使用结构化网格技术(单元格是六面体),而ZephyCFD使用非结构化网格技术(单元格是楔形:三棱柱)。 下面的第一张图显示了结构化网格的2D视图,第二张图显示了ZephyCFD中使用的非结构化网格。

Refinement Zones of Structured Mesh and Unstructured Mesh

结构化网格和非结构化网格的细化区域

Refinement Strategy of Both Meshes

两种网格的细化策略

如我们所见:

  • “仅在一点上”的细化不能用结构化网格进行而不影响细化到计算域边界。这种强大的限制并不存在于非结构化网格中。
  • 对于非结构化网格,建模者可以灵活地将更多的单元格精确地放置在需要它们的地方,而将较少的单元格放置在不需要它们的地方,这为精细的建模创造了新的机会:基于RIX的网格,制动盘尾流计算……
ZephyCFD使用圆柱形网格来模拟项目域中的风流,通过旋转外域边界周围的边界条件可以计算任何方向。
传统CFD工具中使用的笛卡尔网格被迫垂直于计算出的风向,因此为每个计算的方向生成一个网格。
Comparison between Cubic and Cylindrical Calculation Domains

立方和圆柱计算域的比较

自动生成一块以项目为中心的计算区域离散化两次

  • 一个稀疏网格 :用于初始化计算
  • 一个加密网格 :用于最终计算
../_images/coarsefine.png

注解

稀疏网格可以通过快速估算出结果当作加密网格的初始条件,可以加快最终网格收敛。

择风 CFD 的下一个版本将引入驱动盘尾流计算 (基于 CFD 计算的尾流效应仿真, 尤其适用与尾流间交互, 尾流地形交互) 模拟转子需要耗费大量的网格, 使用非均匀加密特别适合这类仿真.

Refined Wind Turbine Rotor in Actuator Discs Model

驱动盘模型中的精细涡轮机转子

进程选项

../_images/button_slope1.png

坡度轮廓标准:在执行异构网格细化时,选择一个斜坡轮廓作为感兴趣的区域。 这可以从分析选项卡中的 斜率等值线定义窗口 中定义。

../_images/button_run_type2.png

定义运行类型。 对于本地类型,定义用于CFD模拟的处理器数量。 Nproc 0将自动考虑最大可用资源(=总CPU数 - 1)。

网格参数

定义网格划分过程的参数

分为三组参数

  1. 水平离散化参数
  2. 竖直离散化参数
  3. 光滑处理参数
../_images/param_overview.png

水平离散化

用户可以决定根据分辨率目标或最大数目的单元格来构建网格。

../_images/param_criterion.png

方法的选择应当取决于将什么作为优先考虑:分辨率能保证较高的准确度,最大单元数量能控制计算损耗。注意,用mesh preview可以在启动进程前同时确定分辨率和单元数量。

也可以使用均质细化或异构细化来最小化单元格消耗。

../_images/param_resratio.png

因此,默认情况下会自动设置几个参数,以便:

  • 尽量减小边界处 (入流和出流)以及上部边界的影响
  • 尽量保证整个关注区域的精确度
  • 尽量保证稳定性充分利用计算资源
  • 根据设置网格数量自动合理分配网格块

如果需要,所有的参数都可以由用户自主修改。

注解

分辨率目标

../_images/wedge.png

楔形中的水平分辨率并不像在六面体指中一样定义:分辨率= max(a,b,c)

因此分辨率参数决定给定单元的两个节点之间的最大距离

实际上,得到的分辨率可能比目标更精细

从参数到结果分辨率的变化约为15%。

可用于水平离散化的参数如下所示:

细化网格的水平分辨率:

精确水平网格分辨率,以米为单位

注解

仅当选择“分辨率”网格精度标准时才使用此参数。

../_images/param_resfine.png

它直接定义最终计算网格的加密区域的最高网格分辨率。

取值范围

  • 1 m < resfine < 500 m

网格单元最大数量:

网格单元的最大数量,以百万个单元格为单位

注解

仅当选择“单元数量”网格精度标准时才使用此参数。

../_images/param_meshlim.png

根据指定的最大网格数量, 自动计算出适当的分辨率应用与最终计算网格中的加密区域.

取值范围

  • 0.1 < meshlim < 100

自动设置

  • meshlim=-1 => 自动设置激活
  • “meshlim” 由计算机内存自动计算, meshlim = 内存数 (Gb) - 1.e+6

nsect

可计算方向的数量

../_images/param_nsect.png

它定义了可计算方形数的最大值。这个参数直接影响在区域边界附近应用的水平分辨率。

取值范围

  • nsect in [8,12,16,18,24,36,48,72]
  • 扇区步长从 5度到 45度

“nsect”导致了稀疏网格与加密网格使用了相同的边界离散方式.

../_images/param_9.png ../_images/param_10.png ../_images/nsect_sequence.png

注解

The higher the number of computable directions, the finer the mesh near the domain boundaries, and the higher will be the resulting number of cells.
To avoid unnecessarily high number of cells in areas which are not part of the domain of interest, a distance ratio set to 0.75 has been introduced, which defines a circle at 75% of the distance between the area of interest boundary and the boundary of the domain.
Within this area, the cells increase in size by a factor of 8 between the boundary of the area of interest and the circle defined by this ratio. Beyond this circle, the cells adapt their size to match the number of input directions (2 cells on boundary per input direction)

区域半径

区域半径,单位为米:

../_images/param_diadom.png

定义了风流将被计算的圆形区域。

取值范围

  • diaref > diamin
  • 1 0000 < diadom < 50 000

自动设置

  • diadom=-1 =>激活自动设置
  • 自动设置会在加密区域上额外增加 20km的直径
../_images/param_7.png

区域直径:风流会在整个计算区域中进行评估

实例中采用了自动设置的 “diadom”.。(基于加密区域额外增加了 20km直径)

diaref

细化区域半径

../_images/param_diaref.png

定义一块分辨率为”加密区域水平分辨率”(“resfine”)的区域的大小.

取值范围

  • diaref > diamin
  • 1 km < diaref < 30 km

注解

给定项目的最小直径 (“diamin”)由项目布局自动计算。

考虑到实体周围50米的额外距离,它定义了一块包含全部项目单位的圆形区域。

自动设置

  • diaref=-1 =>激活自动设置
  • 自动设置会相对项目最小直径额外增加 500m的范围
../_images/param_4.png

目标区域直径:它定义一块包含全部项目单位的区域。

../_images/param_5.png

加密区域:网格在该区域自动加密

示例中采用了自动设置的“diaref”(因此额外的加密直径为 1000米)

非均匀加密:

加密非均匀率: “resratio”

../_images/param_resratio.png

取值范围

  • 1 <= resratio <= 10

影响

  • resratio=1 => 均匀加密
  • resratio>1 => 激活非均匀加密: 在项目单位 (测风塔/风机/结果点/雷达) 周围定义的 resdist 范围区域内, 使用加密区域网格分辨率
  • 当 resratio>1 时, 加密区域的最低分辨率控制在 resratio × resfine.

注解

参阅和非均匀划分相关的 技术说明

resdist

非均匀加密距离,以米为单位

注解

该参数只在非均匀加密激活时可用

../_images/param_resdist.png

考虑测风塔,激光雷达,点位等之间的距离,我们可以得到非均匀加密面积。

取值范围

  • 100 m <= resdist <= 500 m

多区域

多个加密区域

注解

该参数只在非均匀加密激活时可用

../_images/param_multizone.png

可以只生成一个区域, 覆盖全部单位,也可以生成多个加密区域, 相隔较近的单位被融合在一个区域中。

取值范围

  • multizone in [‘Single Zone’,’Activated’]

注解

“ 单区域” 加密在单位分布较为稀疏时, 可以用来控制单位之间区域的分辨率. 典型案例即是在稀疏的测风。塔排布中央有山脊, “单区域” 加密可以保证山脊处具有高分辨率。

../_images/example_multizone.png

稀疏网格的水平分辨率:

用于初始化计算的精确水平网格分辨率,以米为单位

../_images/param_rescoa.png

它直接定义初始化计算网格的加密区域的最高网格分辨率.

取值范围

  • 100 < rescoa < 500

自动设置

  • rescoa=-1 => 激活自动设置
  • “rescoa” 可根据 rescoa = 4 × resfine 自动计算

垂直离散化

单元垂直尺度的控制定义在3个不同的区域:

  • 冠层区域
  • 风机区域
  • 顶端区域

为什么是3个区域?

这3个区域对应3个兴趣区域:

海拔范围[m] 0-10 10-150 150-2500
网格大小[米] 2-4 4-8 8-800
兴趣区域 地面障碍物 风机 边界层

对每个区域,我们定义三个参数

  • 区域高度,单位是米
  • 最大垂直分辨率,单位是米。在区域内单元尺寸受到最大分辨率限制。
  • 膨胀系数:应用特定的地理膨胀系数,单元的高度可以增长。

默认情况下,ZephyCFD生成一组预定义的值,以便:

  • 减少顶部边界的影响
  • 保持良好(当垂直分辨率降低时鲁棒性降低)
  • 在转子上保持良好的精度
  • 在整个树冠体积中保持高精度
../_images/vert_1.png

顶端区域

../_images/vert_2.png

区域最低高度: ”htop”, 以 m 为单位。根据高出计算域最小高度定义顶端边界条件的高度

最大垂直分辨率dztop,单位为米

顶部区域膨胀系数exptop

取值范围

  • 2500 m < htop < 10000 m
  • 100 m <= dztop <= 1000 m
  • 1 <= exptop <= 1.5

自动设置

  • htop=-1 => 自动设置激活

自动设置将根据地形变化选用一个合适的最小高度,如下:

htopmin = 5 * ( max(Zground) - min(Zground) )htop = max( htopmin , 2500 )Ztop = cst = min(Zground) + htop

风机区域

风机区域高度: “hturb”, 以 m 为单位

风机区域最大垂直分辨率: “dzturb”, 以 m 为单位

风机区域扩张系数: “expturb”

取值范围

  • 80 m <= hturb <= 500 m
  • 5 m <= dzturb <= 20 m
  • 1 <= expturb <= 1.5

冠层区域

../_images/vert_3.png

冠层区域高度: “hcanop”, 以 m 为单位

冠层区域最大垂直分辨率: “dzcanop”, 以 m 为单位

冠层区域扩张区域: “expcanop”

地面最小垂直分辨率: “dzmin”, 以 m 为单位

取值范围

  • 0.01 m <= dzmin <= 2 m
  • 10 m <= hcanop <= 80 m
  • 2 m <= dzcanop <= 5 m
  • 1 <= expcanop <= 1.5

自动设置

  • hcanop=-1 => 自动设置激活

冠层区域高度会被自动得出,根据如下公式:

hcanop = max(10 , 30 * max(rground))

注解

注意:引入此参数主要用于 3D 冠层模拟,目前尚不可用

平滑处理

有不同的方法可用于平滑边界附近的地形。

一般平滑处理

参数“nsmoo”定义在地面网格上进行平滑处理的循环数。 nsmoo 越大,平滑处理强度越大。

参数“smoocoef”定义每个平滑处理循环的强度。smoocoef 越大,平滑处理强度越大。

取值范围

  • 1 <= nsmoo <= 5
  • 0 <= smoocoef <= 0.5

z_{new} = z_{old} * (1-smoocoef) + AVERAGE (z_{old}\ around\ point) * smoocoef

../_images/Smoothing_NewZ.png
../_images/Smoothing_Nsmoo_Smoocoef.png

入流平滑处理

参数“insmoo”

定义选址边界附近平滑方式

取值范围

  • insmoo 可选 [‘without’, ‘extra’, ‘flat’]
  • 选项’without’: 没有特定的平滑处理方式
  • 选项’extra’: 选址边界的地形被平滑处理
  • 选项’flat’: 选址边界直到平坦地势间的地形被平滑处理
../_images/Smoothing_Insmoo_Without.png ../_images/Smoothing_Insmoo_Extra.png ../_images/Smoothing_Insmoo_Flat.png ../_images/Smoothing_Insmoo_Conclusion.png

Automatic Run

../_images/Automatic_run.png

ZephyCFD offers to automate the meshing and calculation processes using the “Automatic Run” option. In this case the meshing parameters are chosen based on the ANALYSE results, and a set number of calculations are started in the CALCULATE section based on the climatology analysis.

网格划分预览

../_images/button_mesh_preview.png

一旦设置了进程选项和参数,启动进程前就可以计算你想要产生的分辨率和单元数。选择一个合适的云配置或者确保你的硬件能够处理该网格划分的尺寸是很有用的。

小心这个进程会冻结你的图形用户界面,因为它不在队列中,你也不能监视它。对于复杂的位置,完成它需要几分钟。

可视化

网格划分选项卡具有 等高图 可视化功能,以及特定的3D可视化模块:

../_images/window_visu_3D.png

3D划分可视化窗口

存储优化

../_images/button_clean.png

在“网格划分”框中,单击此按钮可删除与所选网格相关的主文件,从而有效地释放硬盘上的空间。

仍然可以生成地面可视化和清理网格的报告。

警告

一旦网格被清除,就不可能再用它来运行计算了。

技术说明

非均匀加密应用

引入非均匀加密是为了在保证精确度的前提下减少网格数量

下例当中, 根据非均匀加密比率的变化, 给出了网格数量的结果

  • 非均匀加密比率 resratio 由 1 到 10
  • 恒定加密区域分辨率: resfine = 10
../_images/table.png

其他参数设定:

  • 可计算方向数量: nsect = 36
  • 自动设置区域直径: diadom = -1
  • 自动设置加密区域直径: diaref = -1
  • 初始化网格加密区域分辨率: rescoa = -1
  • 非均匀加密距离: resdist = 250
../_images/param_21.png ../_images/param_22.png ../_images/param_23.png ../_images/param_24.png

非均匀加密, 何时使用?

方法的选择应主要与将用于运行计算的计算机器相关联。

选择非均匀加密与否主要与硬件条件相关.

根据单位布局与地形条件合理选择使用非均匀加密有时会导致一些效应的丢失。

它特别适用于山脊位置。

非均匀加密, 尾流效应计算的中间步骤。

择风 CFD 的下一个版本将引入驱动盘尾流计算 (基于 CFD 计算的尾流效应仿真, 尤其适用与尾流间交互, 尾流地形交互)

模拟转子需要耗费大量的网格, 使用非均匀加密特别适合这类仿真.

下图展示了模拟转子的网格。

../_images/now1.png

非均匀加密使得风机叶轮得以被加密, 进而在CFD中计算尾流.