求解具有不一致初始值的瞬态模型
求解comsol多物理学中的瞬态研究(即时间依赖性)研究®,重要的是要设置模型,以便初始条件与负载和边界条件一致。这对于任何时间依赖的模型都很重要,但是在进行瞬态流体流量研究时尤其值得注意。在本文中,我们将解释为什么这种一致性很重要,它对您的模型的影响以及当您的初始值不一致时可以用来求解瞬态模型方程的不同方法。
背景
为了说明上下文为什么需要与负载和边界条件一致的初始值有必要使用示例。一个简单的流体流量模型在下面表示,由一个长3米和1米宽的2D通道组成,左边界是入口,右边界是出口。我们要求解流体通过通道的层流。流体的密度为1 kg/m3粘度为0.01 pa·s。在入口处指定了1 m/s的速度,并将零压力边界条件应用于出口。
流体流量示例模型的图。
这些边界条件导致速度值(U = 1 m/s)的速度值与通道中速度(U = 0 m/s)的初始值之间的不匹配。这被称为初始值不一致。
comsol多物理UI的屏幕截图显示了样本模型的入口边界条件的设置。 在软件中为我们的示例设置的模型设置,并显示了入口边界条件的设置。
当您的模型不一致的初始值不一致时,您可以观察到求解器执行非常小的时间步骤或结束计算并报告错误消息,如以下内容:
未能找到一致的初始值。
最后一个时间步骤没有收敛。
错误消息说明了禁止模型计算完成的错误源。
comsol多物理学®默认情况下,软件将尝试通过使用向后的Euler方法进行少量时间步骤来调和不一致的初始值。默认情况下,初始时间步长基于总仿真时间跨度确定。但是,也有可能指定初始时间步并更改向后的Euler方法使用的初始步骤的分数 - 向后分化公式(BDF)方法,以进行一致的初始化。这些设置将影响一致的初始化过程的结果。
这设置窗口显示默认设置时间依赖的求解器。
如果向后的Euler步骤太大,或者模型中的边界条件相互不一致或模型中的物理,则一致的初始化可能会失败。更常见的是,结果可能与预期相去甚远,而求解器可能需要在模拟开始时采取很小的时间步骤才能从初始解决方案发展。这是不希望的,因为它可能导致较长的解决方案时间。
在许多情况下,不需要严格需要这种一致的初始化,并且最好将其关闭以确保模型从一致的初始值中平稳地增加所有负载和边界条件。在本文中,我们将为您提供两种方法。我们推荐的用于计算具有不一致初始值的瞬态模型的方法如下:
- 用A初始化时间依赖性研究固定学习步骤
- 随着时间的推移加强边界条件
请注意,如果您的边界条件确实不一致,那么本文中的决议将不适用。始终仔细检查模型中的施加载荷和边界条件以确保一致性。我们在这里概述的建议仅适用于适当的问题,因此您的模型必须先满足该门槛很重要。
方法1:通过固定研究初始化时间依赖性研究
您可以使用第一种使用不一致的初始值来解决时间依赖的模型的方法是通过固定研究初始化瞬态研究。如下所述,有几种方法可以做到这一点。
使用多个步骤
一项研究可以包括多个研究步骤。默认情况下,每个研究步骤的结果将传递到以下研究步骤,作为其初始值。当一个固定学习步骤是在与时间相关研究步骤,该研究将首先解决稳态假设下的字段,然后使用这些计算为瞬态步骤提供一致的初始值,从而覆盖了内部指定的初始值初始值物理接口中的节点。如下屏幕截图所示,只要两个步骤在同一研究中,就不需要其他更改。解决研究时,将重新计算这两个步骤。
A固定研究步骤用于计算瞬态研究步骤的初始值。
您可以在附带的模型文件中亲眼目睹此多步示例的流体流量示例。
使用多个研究
因变量设置部分的值
也可以将分析分为两项单独的研究。这样,固定学习步骤和与时间相关研究步骤在两个不同的研究中分别添加。此设置要求因变量的值在设置的部分与时间相关研究步骤设定为参考固定研究的结果,如下屏幕截图所示。
设置与时间相关研究步骤节点,使用从先前的固定研究中计算出的初始值。
您可以探索如何在包含的模型文件中为流体流量示例实现此版本的方法这里。
尽管可以使用此策略,但确实带有许多缺点:
- 首先,根据您建模的问题,可能不存在固定解决方案。这对于在湍流开始附近的流体流量模型尤其常见,在湍流开始时,稳态边界条件会导致不稳定的(时变)流场。在数值上很难找到用于模型的稳态解决方案的情况。请参阅我们的资源讨论如何改善非线性固定模型的收敛性学习如何解决此类案件。
- 其次,瞬态模型的目的可能是研究系统从重点状态演变而来的启动行为。
无论哪种情况,都使用下面描述的第二种方法。
使用withsol操作员
将分析分为两项单独的研究时,参考固定研究结果的另一种选择是使用用Sol操作员。这使用操作员使您可以从一项研究中提取并使用解决方案作为另一项研究的输入。这等同于进行更改因变量的值研究步骤的设置部分,在上一节中进行了讨论。
在里面初始值节点,我们可以输入适当的语法用Sol操作员的格式为:使用SOL('tag',expr)
。进行分组分析,其中'标签'
是,我们进入'sol1'
参考固定研究的求解器序列,以及Expr
,我们输入适当的物理变量(你
为了X- 流体流速度场的组成部分,v
为了y- 流体流速度场的组成部分或p
对于压力)。
设置初始值节点,其中使用sol _operator用于参考固定研究的解决方案。
更多细节和使用用Sol操作员有关此主题的学习中心文章可用。
方法2:随着时间的推移加强边界条件
您可以使用的第二种方法来计算具有不一致初始值的时间相关模型,就是随着时间的推移增加模型中的负载和边界条件。
瞬态模型中的载荷和边界条件可以从与初始值一致的值中提高。最常见的情况是一个平衡系统,其中初始值到处都是零。comsol多物理学®软件包括几个内置功能,您可以用来从这些初始值过渡到其他值。在此示例中,我们使用内置步如下屏幕截图所示,具有平滑功能。
Comsol多物理UI的屏幕截图显示了带平滑的步骤函数设置和一个功能图,该功能图显示了从初始值中向上显示的斜坡。设置步平滑功能。
还有其他几个功能也包括平滑选项,如上所述这里,我们讨论步骤过渡的建模。默认情况下,这些都将在平滑区域开始时具有等于零的时间导数,这很有帮助,因为不会有突然的步骤或更改,并且可以逐步过渡。
我们可以使用平滑步函数以修改瞬态流体流量模型的负载和边界条件,如下屏幕截图所示。可以下载相应的模型文件这里。
comsol多物理UI的屏幕截图显示了设置窗口和平滑步骤函数的功能图。平滑步功能用于增加边界条件。
在模型的研究中,您将需要选择一个时间跨度的平滑时间,而平滑度对手头问题是现实的。但是,与其使用物理上现实的平滑,引入非常逐渐的渐变可能是合理的,因为这可能更容易解决。
设置与时间相关学习步骤。在我们步定义功能并提高速度进口模型中的边界条件。
请注意,并非所有问题都需要这种平滑。一些问题,尤其是不涉及对流的传热问题,可以通过对负载的步骤进行更改来解决。如果这些步骤更改在仿真时间跨度中发生,则应使用事件如所述,接口准确对这些情况进行建模这里,我们讨论用脉冲载荷的及时解决模型。
进一步学习
使用上述任何一种技术来求解具有不一致的初始值的瞬态模型,应解决找到一致初始化的问题,并且您不必更改模型中的研究设置。但是,如果您发现自己仍在遇到融合问题,这可能是由于一些原因:
提交有关此页面的反馈或联系支持。