问题描述

我正在求解瞬态模型,并更改了时代:研究设置中的字段,但是求解器仍在采用完全相同的时间段。似乎求解器所采用的时间段与我指定的时间无关。为什么是这样?

如何验证瞬态模拟的结果?

我增加了我正在模拟的总时间介绍,现在求解器的时间段和结果大不相同。为什么?

如何让求解器进行不同的时间段?

解决方案

默认情况下,在时代:下面的屏幕截图中显示的字段仅在数据写出的时间内控制,它不能直接控制求解器所采用的时间段,尽管它可以对初始时间表产生影响。增加开始时间和结束时间之间的输出时间段数量通常不会改变求解器实际使用的时间步。在大多数情况下,该软件在内部使用独立于这些输出时间的自适应或固定时间播放。因此,可以在求解器采取的时间步中插值存储的数据。该软件将自动确定一组求解器设置,这些设置对于模型中物理的组合是合理的,但是可以对其进行修改。

默认输出时间

时间依赖求解器的默认设置。

自适应时间播放

默认情况下,使用自适应时间播放方案解决了comsol多物理学中的大多数问题。这意味着该软件将自动调整时间步长以维护所需的相对耐受性。此的默认设置是物理控制如上面的屏幕截图所示。它也可以更改为用户控制然后,您可以手动输入不同的相对公差,如下面的屏幕截图所示。降低对数量较小的相对容忍度将导致时间段较小,从而提高解决方案的准确性并解决时间。

修改的相对公差

用户控制的相对公差。

用更紧密的相对容忍度重新溶解模型,并用更精细的网格重新溶解模型,这是您如何获得求解器来减少时间步长并验证模型的方法。为了获得对瞬态模型结果的信任,您必须将模型与其他模型与更精细的网格和更精细的时间段进行比较。重要的是要验证模型结果。

如果您的模型包括及时突然改变的负载,则还应包括事件模型中的接口。这将告诉求解器如何准确捕获溶液中的突然变化。用于使用事件, 看:知识基础1245:时间脉冲负载的求解模型

当求解器启动时,它会根据总仿真时间估算最初的时间步度。因此,如果在不同的总时间内两次求解相同的模型,则初始时间步可能会有所不同。如果开始时间后立即发生重大发生的事情,这可能会导致不同的结果。要指定初始时间步长,请转到时间依赖性求解器设置,时间步入部分,启用初步步骤:选项并输入固定的初始步骤大小,如下屏幕快照所示。请注意,该软件仍然可以免费选择小于此值的时间步,但不会使其更大。还要考虑是否事件可以改用。

指定初始时间段。

指定求解器尝试采用的初始时间步度。

在解决方案期间,求解器将根据需要自动使时间步长较小,以根据需要解决解决方案中的任何快速变化。当解决方案逐渐变化时,它还将使时间步长更大。您可以通过进入时间依赖性求解器设置,时间步入部分,更改最大步骤约束:从其默认值的值自动的要点持续的或者表达,如下面的屏幕截图所示。这持续的选项指定最大可能的时间段,并且表达选项可以根据模型中的任何全局表达方式使最大时间段约束变化。

指定最大可能的步骤

指定求解器将采用的最大可能的时间段尺寸。

不可能明确控制自适应时间段所需的最小时间段。当您观察到求解器的时间段非常小时,这表明您的模型正在接近奇异性,解决方案正在向无穷大射击,或者鉴于当前的相对容忍度和网格尺寸,解决方案的变化速度要快于可分解的速度。也可以看看:知识库1261:进行网状精炼研究,,,,知识基础1127:改善非线性时间依赖性模型的收敛性, 和知识库1240:手动设置变量的缩放

手动时间播放

您的模型也可能使用恒定的时间播放方案。默认情况下,用固定的时间段解决了一些类别的问题,例如瞬态压力声学模型。通过固定的时间段,可以更好地求解许多波型问题(在时间和空间上振荡的溶液场振荡)。要找出是否使用了固定的时间步,请转到时间依赖的求解器设置,时间步进部分。在那里,您将看到用于计算解决方案的方法。这将是bdf,,,,广义α, 或者runge-kutta。有关这些方法的描述,请参见知识库1062:BDF,广义alpha和runge-kutta方法在此下方,您会看到一个下拉求解器采取的步骤,这要么自由的,,,,中间的,,,,严格的, 或者手动的。这自由的选项使求解器可以自由选择如上所述的时间步。这手动的TIMESTEP选项修复了时间步。

修改时间播放

在求解器采取的步骤的选项之间切换。

使用时手动的时间播放,您可以显式设置所采用的时间步,而相对公差条目不再影响求解器行为。有关如何为波型问题选择时间步的指导,请参见:知识基础1118:BDF,解决时间依赖的波知识基础1244:解决载荷中的步骤变化解决波型问题

其他求解器选项

还有其他两个时间播放选项:中间的严格的。这些通过迫使求解器采取其他时间段来修改免费时间播放算法的行为。

中间的选项,求解器将在请求的输出时间之间的每个间隔内添加一个额外的时间步,但是求解器仍可以自由选择此中间步骤。与收紧相比,此选项相对较少相对耐受性, 使用事件,或设置最大步长,如前所述。

严格的选项迫使求解器在请求的输出时间准确地进行时间步长。该求解器仍然可以自由引入介于两者之间的其他时间段,以维持指定的公差或由于事件。通过在请求的输出时间准确地引入时间步,数据插值没有。

如果要在求解器采取的确切时间步中输出结果,请转到时间依赖性求解器设置,输出部分,设置存储的时间:求解器采取的步骤, 如下所示。请注意,此选项可能会生成大量输出数据。当。。。的时候指定值使用选项(默认值)该软件将通过在实际求解器时间段之间进行插值来以所需的时间点写入数据。

保存求解器采取的步骤

将数据保存在求解器所采用的时间段中。

在第5.6版中,此选项已更改,如下屏幕截图所示。还有其他选项可以仅保存每几个时间步,或仅在最接近所请求的时间段的求解器时间步中保存数据。

保存求解器采取的步骤

将数据保存在第5.6版中求解器所采用的时间段。

如果要减少模型中存储的数据量,也请参见:知识库1255:减少模型中存储的数据量