对周期性热负荷进行建模

Author Image

作者Walter Frei

2015年 2月 16日

我们经常收到关于周期性或脉冲性热负荷的建模问题。也就是一个热负荷在已知时间内反复启用和停用的情况。使用COMSOL Multiphysics 中的事件接口,我们可以轻松、准确并且高效地对这种情况进行建模。这篇文章,我们将为您介绍这种建模技术,它适用于多种类型的瞬态仿真,在这些仿真中,负荷的变化发生在已知时间内。

编者注:这篇博客于 2022 年 10 月 4 日更新,以反映更新后的建模功能。

瞬态仿真简介

首先,我们先从概念上来简单了解一下在 COMSOL Multiphysics 中求解瞬态问题时使用的隐式时间步进算法。这些算法根据用户指定的容差来选择时步。虽然这允许软件在求解中出现渐变时采取非常大的时间步进,但缺点是使用太宽的容差会跳过某些瞬态事件。

为了理解这一点,我们以一个普通微分方程为例来说明:

\frac{\partial u}{\partial t} = -u + f(t)

其中,强制函数f(t)是一个从t_s开始,在t_e结束的矩形单位脉冲。给定初始条件u_0=1,我们可以用解析法或数值法在任意时间长度上求解这个问题。

解析解的示意图。

如上图所示,在解析解的图中,当激励函数为零或一时,我们可以观察到解呈指数下降和上升。为了求解这个问题,我们使用默认的瞬态求解器,来看看两个不同相对容差的数值解:

两种容差的数值解。
相对容差为 0.2 和 0.01 时的数值解(红点),并与解析结果(灰线)进行了比较。

从上面的图中我们可以看到,非常宽松的相对容差 0.2 并不能准确描述负荷的变化。当设置比较严格的相对容差 0.01 时,得到了合理的解。我们还可以观察到,点的间距显示了求解器所使用的不同时间步进。很明显,在解变化缓慢的情况下,求解器采用了较大的时间步进,而在启用和停用热负荷时采用了较小的时间步进。

然而,如果容差设置得太宽松,当热负荷的宽度变得非常小时,求解器可能会完全跳过热负荷的变化。也就是说,如果t_st_e移动到相互非常接近时,对于指定的容差来说总热负荷太小。当然,我们可以通过使用更严格的容差来缓解这种情况,但还有一个更好的选择。

我们可以通过使用显式事件来避免收紧容差,显式事件是一种让求解器知道它应该在一个指定的时间点评估解的方法。从这个时间点向前,求解器将继续像以前一样,直到达到下一个事件。让我们看看上述问题的数值解决方案,在t_st_e时间段内采用显式时间,以 0.2 的相对容差进行求解,这是一个非常宽松的容差:

突出显示显式事件使用的图像。
使用显式事件时的数值解,即使采用非常宽松的相对容差 0.2,与解析结果相比也相当吻合。在远离事件的位置,要采取大的时间步进。

上图说明,每当启用或停用负荷时,显式事件功能就会产生一个时间步进。宽松的相对容差允许求解器在解逐渐变化时采取大的时间步进。在事件发生后立即采取小的时间步进,以使解的变化得到良好的求解。因此,我们既能很好地解决热负荷的启停问题,又能采取大的时间步进,使整体计算成本最小。

现在,我们已经介绍了相关的概念,接下来,我们来看看如何实现这些显式事件

一个传热的例子

我们来看一个 COMSOL Multiphysics 案例库中的例子,并稍作修改以包括周期性热负荷和事件接口。在硅晶片激光加热例子中,激光被建模为分布式热源,在旋转的硅晶片表面来回移动。

激光热源本身沿着中心线在晶圆上来回穿越,周期为 10s。为了尽量减少加热过程中晶圆上的温度变化,我们希望在热源位于晶圆中心的时候周期性地关闭激光。

为了建立这个模型,首先我们引入一个事件接口,并在其中定义一个离散状态变量。这个变量的名字是ONOFF,它的初始值是 1,如下面的截图所示。

COMSOL Multiphysics用户界面的特写图,突出显示了离散状态1的模型开发器,以及展开了相应的离散状态部分的设置窗口。
事件接口中的离散状态屏幕截图。

我们可以使用离散状态变量来修改代表激光热源的施加热流,如下图所示。

COMSOL Multiphysics界面的特写视图,显示了突出显示热流1的模型开发器和相应的设置窗口,展开了热流部分。
使用离散状态变量设置施加的热通量边界条件。

到目前为止,我们只是将施加的热负荷乘以一个单位常数。接下来,我们可以使用两个可以改变ONOFF变量的显式事件。其中第一个事件将在两秒后触发,并将ONOFF状态变量设置为零(停用热负荷)。它将每 5 秒重复一次。第二个事件将在 3 秒后触发,将状态变量转回1(启用热负荷),这也将每 5 秒重复一次。

COMSOL Multiphysics 用户界面的特写视图,显示了带有显式事件1的模型开发器,并展开了事件计时和重新初始化部分的相应设置窗口。
显示事件设置。第一个事件的作用是停用热负荷。第二个事件在 3s 后开始,作用是将热负荷重新启用。

不必再做其他改动,但我们可能想确保在每个事件被触发之前和之后都能立即得到结果。有两个设置可以确保这一点,如下面的截图所示。首先,需要打开瞬态求解器设置窗口。在输出部分,可以启用在事件前/后存储解选项。或者,可以将要存储的时步下拉设置改为求解器采用的步长

COMSOL Multiphysics用户界面的视图,突出显示了瞬态求解器1的模型开发器与,展开了常规和输出部分的相应设置窗口。
用于在事件前/后存储解的瞬态求解器设置。

非脉冲和脉冲热负荷的比较。
非脉冲(左)和脉冲(右)热负荷的比较。

您可以将这个模拟结果与原始模型进行比较,看看整个晶圆的温度差异。在周期性热负荷下,温度的上升是比较平缓的,任何时间点的温度变化都比较小。

结束语

我们研究了使用事件接口对周期性热负荷进行建模的问题,并介绍了为什么它能很好地结合精度和低计算量的要求。如果您想了解更多信息,请查阅我们的知识库文章求解包含时变载荷阶跃变化的模型,您还可以用事件接口做更多的事情。

博客分类


评论 (0)

正在加载...
浏览 COMSOL 博客
Baidu
map