“我怎么知道什么时候停止计算?” 和“我怎么知道我的网眼足够好?” 是在运行SOLIDWORKS Flow Simulation研究时经常被问到的问题。答案是确保解决方案既完全收敛又独立于网格。在实践中,这可能需要反复试验以及过程中的一些经验。但是,SOLIDWORKS Flow可以帮助我们同时完成这两项工作!这是如何做…
让我们首先说明实现两者的更直接方法-收敛。
随着稳态流仿真遍历迭代过程,我们可以看到目标参数(目标)是否达到恒定值(收敛)。Flow会自动设置标准(可以被覆盖)以确保这些目标已达到该恒定状态。一旦它们解开,求解器将停止,这在计算控制选项的“完成”选项卡上进行控制。如果我们的目标是真正的融合,那么运行更多的迭代并不能为我们提供不同的解决方案,很容易地说我们已经达到了一个好的解决方案,但这还不是全部。
我们可以从粗网格中得到一个收敛的解,而对于同一研究,使用细网格可以得到一个完全不同的收敛解。光是融合并不能说明我们已经找到了一个好的解决方案-我们需要在这里做更多的工作。
通过任何模拟研究,我们都希望发现Goldilocks值在进一步细化网格的情况下无法给出更准确的结果。然后,我们可以使用该网格进行进一步的研究,从而以最少的时间和最少的计算量获得准确的解决方案。当运行同一研究的多个场景时,这是一个非常有用的地方。要达到这一点,通常需要进行网格独立性测试,在该测试中,我们可以更改元素的数量,并查看其如何影响目标参数。
下面显示了您可能希望看到的图。
现在,如果我告诉您,您可以在一项研究中确保SOLIDWORKS Flow Simulation中的收敛性和网格独立性,并在最需要优化的地方优化网格呢?很整洁吧?
为此,我们需要深入研究计算控制选项上经常被忽略的“优化”选项卡。在这里,我们可以设置用于在求解器认为最佳的位置执行网格细化中间计算的选项。我以Flow Simulation课程第​​1课中的简单Coletor为例。这是一个非常典型的内部流动问题,将单个入口分成多个出口。一个好的解决方案将显示出口体积流量的收敛值和网格无关值,因此我们将使用目标对其进行监视。
细化策略告诉软件何时执行网格细化。将其设置为目标收敛意味着我们的目标收敛后将优化网格。可以从创建的目标中选择目标;在此示例中,我选择了所有这些。在收敛之后添加延迟以确保在下一次网格细化开始之前目标已经完全收敛是很有用的。类似地,可以设置最终网格细化之后的迭代松弛间隔,以确保解决方案运行了足够长的时间以完全收敛。在这里,我将延迟设置为20次迭代,将松弛间隔设置为50次(尽管这些因研究而异)。重要的是,在“完成”选项卡上,我们可以设置要在解决方案结束之前完成的优化次数。我们要确保已将最大优化次数和优化级别至少设置为该值。在这里,我为所有三个值选择了5。如果有任何局部网格细化,也可以在此处进行控制。
那么,我们可以从中得到什么结果呢?从粗糙的网格开始研究,我们看到目标值收敛,一旦这些目标收敛,网格就会自我完善。这种细化的网格与较粗的网格具有不同的收敛解,因此我们看到目标值发生变化并收敛于新值。完全收敛后,将再次细化网格,直到达到指定的细化次数。在这里,我们看到感兴趣的参数的值(在这种情况下为出口量之一)随着解决方案的进行而变化。网格细化后,我已经突出显示了,很酷,看看发生了什么!
SOLIDWORKS Flow不仅会细化网格,而且还只会在特定区域进行细化。它是如何做到的?有用的是,该软件可以查找高压梯度和高速梯度,其中粗网格的整个单元的平均值将给出较差的结果。在此进行优化可确保准确捕获这些高梯度。在这里,我们可以看到在入口处细化网格时(由速度着色)的阶段,请注意,存在一个较粗的网格,其中没有明显的速度梯度–是吧?
注意:力度颜色不成比例。 手动运行网格独立性研究时,我们将遍历并提取每个网格中的元素数量以及相应的收敛目标值以进行绘制。在一项研究流程中执行此过程可以生成“优化表”。进行一些后期处理,我们就可以针对每个网格绘制收敛目标值与元素数量的关系,以获得网格收敛图。这样可以轻松轻松地看到最好的网格物体。或者,如果尚未达到网格无关的解决方案,则可以提高最大细化的总体水平并继续进行研究。在这种情况下,可以看出,在第4个网格处,我们达到了最终解决方案值的2%之内,大约有500000个元素(请注意此图表上的对数刻度)。如果我们要进行未来的研究,那么我们将继续使用这一研究。
下次运行Flow Simulation时,请尝试使用自动优化选项。您会惊讶于找到快速而准确的解决方案的最佳位置有多么容易!
|