将目标介绍到隔离的求解器中

2021年1月19日

comsolMultiphysics®软件中的核心技术之一是隔离的解决方案方法,该方法用于非线性多物理(和单物理)问题,以迅速收敛到解决方案。您是否知道可以使用附加的全局方程来增强该求解器,该方程可用于调整模型输入以实现所需的输出?让我们了解更多!

加速求解器收敛

每当您解决多物理问题问题时,您都在求解一个非线性方程系统。这个方程式系统通常很大,这意味着要解决的时间需要大量时间和计算资源。

加速求解器收敛的一种方法是使用所谓的隔离求解器。该求解器将整个大型方程组或方程矩阵采用,并将其分解为几个较小的矩阵。通常,这些子膜中的每一个都对应于单个物理。在解决方案方法中,该软件将在所谓的隔离步骤中求解其中一个。踏上所有子膜后,求解器将检查收敛性并根据需要进行迭代,直到达到收敛为止。

这种方法适用于广泛的问题,对于具有较高计算要求的3D模型特别有吸引力,并且在这种情况下几乎总是默认值。

线图绘制了一系列输入值的扫描,并为所需的模型输出和估计所需的工作点提供注释。
可以使用扫描一系列输入值来预测模型响应并估算所需的工作点。

通常,在求解模型时,我们正处于根本不想更改几何形状的情况下,但确实想更改一些其他模型输入,以单个特定的目标。也就是说,我们希望该模型产生特定的输出。

例如,我们可能希望达到所需的温度,热负载,流速或任何其他派生值。正式地说,这是一个优化问题,可以使用优化模块。但是,对于仅一个单个模型输入而变化的情况,使用优化模块可能有些过度杀伤,我们将在这里查看一些调整输入以获取所需输出的替代方法。

查找此模型输入的最简单方法是通过参数扫描。也就是说,我们指定要更改的输入,给出一系列值范围的值,然后绘制输出与输入的结果图。从此图中,我们可以视觉选择我们要达到的操作点。

这是一种非常传统的方法,但有些昂贵。通常,响应曲线是非常非线性的,尽管通常是单调的,因此您通常需要求解感兴趣范围内的两个以上的值,而解决方案时间将随着您要解决的值的数量而扩展。(有一个警告:您可以使用簇扫或者批处理功能,但这两者都需要大量的硬件资源,此博客文章将假设我们有一些硬件约束。)

使用寻求目标的全局方程式

今天,让我们看一下解决这个问题的替代方法,非常有效的方法。我们将向隔离的求解器介绍一个寻求目标方程式。这可以简单地完成:

  • 一个全球ODE和DAE界面
  • 仔细构造方程式
  • 对求解器设置进行了一些调整

让我们看一个代表性的例子。

典型的焦耳加热问题的示意图,将两个电极之间的材料包含在带有标记的零件的材料之间。
焦耳加热问题的示意图,其中包括两个电极之间的材料。所有材料特性都是温度的函数。

考虑一下焦耳加热上面说明的问题:将两个电极应用于包含不同电导率的介质,就像在组织消融模型。由于我们将在材料特性中考虑的温度非线性,这种模型实际上可以产生一些复杂的结果

“全局方程设置”窗口,带有附加的全局方程式,如“扩展的全局方程”部分中显示。
如何向模型引入附加的全局方程式。

让我们支持我们要做的是调整一个电极相对于另一个接地电极的电势,以使包含在包含物中的恰好3瓦。电极上的施加电势是变量v_applied,我们将通过添加一个全局方程如上图所示,进入我们的模型。我们输入的方程式看起来很简单:

v_applied-nojac(sqrt(3 [w]/intop(ec.qrh))*v_applied)

该方程将在每个隔离迭代中为此求解,将更新v_applied。根据通过A的耗散来缩放施加的电压集成操作员。使用平方根,因为我们知道,至少在集团模型中,损耗与电势差的平方成正比。内部的一切nojac()操作员不为雅各布贡献,其中的项基于上一个隔离步骤处的值,或者在第一步中的初始值。请注意,初始值v_applied必须是非零的,并且一个不错的初始值将导致更快的收敛。

隔离求解器的设置窗口的屏幕截图,并扩展了一般和方法和终止部分以实现全局方程。
隔离的求解器设置全局方程电位

在隔离的求解器设置中,我们确实需要确保在电流的隔离步骤之后求解该隔离的步骤,因为更新表达式基于计算的电气损耗。我们还希望确保在电流之前或求解全局方程之前计算温度场,因为当材料电导率与温度为非线性时,这些温度场可能会影响损耗计算。

用于在隔离求解器中实现下限的下限设置窗口的屏幕截图。
隔离求解器中的上限和下限特征。

隔离的求解器还为我们提供了为要解决的变量提供上限和下限的选择。也就是说,如果有任何迭代会计算v_applied比指定值更大或更小,求解器将简单地使用限制值。这在下限方面特别有用,因为我们永远不希望应用的潜力达到零,因为从那时起的进一步更新是不可能的。如果我们知道有一个值得设定电位的值,则上限也很有帮助。

当我们使用隔离方法解决此模型时,我们也可能要监视v_applied查看每次迭代时如何更新它。我们可以通过探测并通过下面的屏幕截图中显示的设置。隔离的求解器还包括一个公差因子,将默认公差乘以0.001固定求解器特征。使该数字小于其1的默认值1将拧紧求解器的收敛标准。还要注意,如果收敛非常慢,则可以增加隔离求解器所需的迭代次数。

隔离的求解器设置的屏幕截图,并在求解部分时扩展,以显示如何在每次迭代中绘制探针。
如何在每个隔离的迭代以及公差因子设置中绘制探针。

对于我们这里遇到的问题,融合非常迅速。隔离求解器和探针图的收敛图如下所示。当然,永远无法保证非线性问题的融合,并且全局方程的此附加更新通常确实会减慢收敛性,但是在很多情况下,可以使用此技术使用,尤其是在选择合理的初始值时。应该注意的是,根据您所控制的物理和价值,可能需要不同形式的更新等式。在这种情况下,我们使用比率的平方根,但是您也可以在迭代之间使用线性或指数缩放。我们还可以将这种方法视为一种比例控制器或定点迭代方案。

并排线图显示了左侧的分离求解器收敛,并探测右侧的全局方程。
隔离求解器的收敛性和附加全局方程的探针图。

这种方法的最大优点是,我们只使用一个解决方案,使用计算有效的隔离方法来达到设计点。这个解决方案可能比没有全球方程式要多的迭代次数要多,但是快速获得所需解决方案的优势几乎总是超过这一成本。另外,如果您想在时域求解,那么只要可以在每个时间步骤中满足全局方程式,就可以使用此方法无需修改即可使用。

当然,这种方法确实会失败,在这种情况下,您可以采用一种使用完全耦合而不是隔离方法的替代方法,但这是即将到来的博客的主题,因此请继续关注!

自己尝试

与此示例关联的模型文件可通过下面的按钮获得:


评论(5)

发表评论
乐动体育app
加载...
吉姆·弗雷斯(Jim Freels)
吉姆·弗雷斯(Jim Freels)
2021年1月19日

亲爱的沃尔特,谢谢您提供此博客文章。它似乎是用户可以用来帮助解决大多数问题的非常强大的工具。但是,一个问题是:2 .mph文件“自己尝试”的链接似乎不起作用。

吉姆·弗雷斯(Jim Freels)
吉姆·弗雷斯(Jim Freels)
2021年1月20日

文件现在在这里工作。再次感谢沃尔特!

伊瓦尔·凯尔伯格(Ivar Kjelberg)
伊瓦尔·凯尔伯格(Ivar Kjelberg)
2021年1月20日

嗨,沃尔特,

将问题与模型完全耦合到完全耦合:研究1 - 固定研究1,为什么您不更改其中的全球颂歌的选择?对我来说,这两个固定的求解器似乎非常“相同,我本来可以改变每个研究的适用节点与时间序列相同吗?还是我错过了什么?
真诚的,伊瓦

沃尔特·弗莱
沃尔特·弗莱
2021年1月20日 comsol员工

你好吉姆,伊瓦,
关联的文件链接已更新。请注意,本文有后续行动,此处:
//www.dvdachetez.com/blogs/using-global-equations-to-indroduce-coupled-goal-seeking/
伊瓦尔(Ivar)询问的文件与该文章有关。

托尔加·卡基尔(Tolga Cakir)
托尔加·卡基尔(Tolga Cakir)
2021年2月4日

嗨,沃尔特,我读了这篇非常有用的文章,既隔离又完全耦合。但是,我试图在CFD流量分析中应用相同的概念。在我的示例中,我希望像您对V_Applied一样更改BC,直到达到目标质量流目标为止。我知道有大量边界条件,但是由于(根据我的经验)更容易收敛,我经常更喜欢使用速度入口条件。是否有暗示以及如何在流体流量分析中应用相同的目标寻求概念?我相信许多用户会喜欢这样的示例。

探索comsol乐动体育赛事播报博客