深入理解数值计算网格(8)–自适应迭代网格

在前处理网格划分中,如果网格数量偏少,在物理场变化大的地方,网格内部不足以表达这种变化,从而导致计算偏差。类似于用多边形模拟圆形,线段数量越多,越接近圆形。

网格加密通常有以下几种标准:

1. 根据几何特征,比如在曲面,曲线,孔边等加密。这种加密依赖于几何拓扑信息,但并不准确,比如在尖角处网格加密反而得出错误的结果。

2. 根据业务特点,比如流体在边界层,电磁仿真在金属部分需要加密,在初次划分网格的时候就可以进行设置;

3. 根据两次仿真所得物理参数结果,比如在应力/压力/速度/温度变化梯度大的地方;

4. 根据两次仿真业务数据进行加工,比如HFSS根据S参数误差,能量误差,CFD中根据压力,速度误差。

1.加密策略

加密策略涉及到什么时候加密,如何加密,加密效果如何评价等等。

按照加密的阶段,可以分为两种,一种是在仿真之前加密,一种是在仿真计算后加密。

仿真前加密,是利用对象已有的特性,包括几何特性和仿真属性,几何特性比如孔边,大曲率曲线曲面,仿真属性比如接触单元,有电流经过的金属,明确确定物理场会发生突变的单元,确定的荷载,边界条件位置。仿真前加密一般基于已有仿真经验,加密单元的位置比较准确,但是仿真结果的准确度很难确定。

仿真后加密就是一般性自适应网格加密,UML活动图如下:

微信图片_20221024231329

其中如何“评价仿真结果”是很重要的一环,一般的做法是“根据两次仿真所得物理参数结果,比如在应力/压力/速度/温度变化梯度大的地方”,也有根据单元内部数值计算误差的统计误差作为评估标准。每种物理场的评价指标和方法都不尽相同,但总的原则都是相似的。

2. 加密算法和参数

在网格加密流程中,求解器会给出需要加密的单元。这就涉及到两个问题:

  1. 如何使用加密算法

  2. 加密尺寸如何确定

 

给出需要加密单元,不考虑效率,其实最理想的方法是重新划分网格,在给出需要加密尺寸的地方设置局部网格参数,但这种方法比较耗时,而且如果加密单元少的话,比较浪费资源。

常用的做法是在已有网格的基础上进行加密,直观的方法是将原有网格拆分成更小。这种做法理论可行,但实际应用中会碰到很多问题,首先是网格质量无法保证,以三角形为例,一个等边三角形,正中间加点分成三个三角形,每个三角形的最大角度成为120度的钝角三角形;其次网格数量很难控制,二维三角形单元必须分为三个,而三维四面体则必须分为9个,如果加密网格尺寸只要加密到原尺寸的0.8。这种直接拆分法无法满足需求;最后直接拆分网格,导致相邻单元的尺寸梯度突变,反而不符合物理场的平滑过渡的要求。

加密尺寸可以由求解器给出,如果求解器只给出了加密单元,而没有加密尺寸。就意味着,加密尺寸需要在网格自适应迭代过程探索,增加了网格加密和求解迭代的次数。

在给定加密单元和尺寸的前提下,通用的方法还是类似波前法,将所在区域挖空,然后根据加密尺寸局部参数要求,重新生成新的网格,新网格生成后,再对周围网格进行优化微调。在该过程中,涉及到了网格的删除,编辑,再生成,再编号等一系列操作,开发难度要高于初始生成网格。

3.收敛问题

收敛问题涉及网格划分中经常碰到另外一个问题:

网格是否越密越好?

答案是否定的

网格不可能无限度的加密,因为过度加密即使没有加密上的误差,也会引起数值计算上的误差。比如建筑的仿真尺度以米为单位,无限加密到毫米尺度时,如果原始单位为米,则会出现数值计算上的误差,也就是说网格加密并不是因为物理场本身的变化,而是数值误差引起的变化。

如果网格已经满足了仿真精度的要求,再加密网格并不会增加仿真结果的精度,除了徒增加计算资源外,还会造成计算收敛结果的震荡。

网格收敛同样也要符合模型的计算规则,比如针对结构有限元中的沙漏和自锁现象,网格加密的力度要比较激进,而非普通的渐进式的加密。

网格加密的收敛是比较适合用AI算法进行,因为实际应用中,每种产品的结构基本上不会有太大的变化,这就使得网格的参数能较好的进行统计计算;网格的加密也是迭代生成,天然适合AI算法的训练;当所有网格参数训练完善时,自适应加密网格也就不需要了,直接在初始网格阶段敲定所有参数。

4.商业软件的现状

很早以前网格的划分依赖于工程师的经验,很多时候需要在算出结果后重新划分网格,来回折腾。现如今自适应加密网格已经成为商业仿真软件的标配,如果你使用的软件还没有使用到自适应网格加密,可以试试其它软件。

© 版权声明
THE END
喜欢就支持一下吧
点赞5954 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容