超快脉冲激光技术的进步使得对极短时间尺度上的热传递的理解变得尤为重要。 在亚纳秒尺度下,传统的传热方程失效,必须采用更精细的模型,例如双曲线传热方程和双温度模型。本文,我们将简要回顾最常用的非傅里叶传热模型的相关理论,并探讨如何在 COMSOL Multiphysics® 软件中实现这些模型。
首先,我们将简要回顾科学工程领域最常见的偏微分方程之一:固体传热方程。其起点是能量方程,或者说是温度连续性方程 :
其中 为体积热容,
为热通量,
为体积热源。
该方程本质上是能量守恒表达,因此无论时空尺度如何变化都必须成立。为获得 的闭合形式偏微分方程,需先确定
的表达式。最简单直观的选择是傅里叶定律,该定律指出热通量与温度梯度成正比:
其中比例常数 称为热导率。将其代入连续性方程即可得到经典的热传导方程:
这是一个抛物型偏微分方程,故称为抛物型单步(POS)模型。(”单步”的含义将在本文后续内容中阐明。)
通过考察半无限介质域( )可深入了解该方程的特性:当
表面温度保持为
,而域内其余区域初始温度为
时,该问题存在如下解析解:
其中, 为介质的热扩散率,
表示误差函数。该解的动画演示见下图。由上述表达式可知,边界条件
的影响会立即传递至整个区域,这违反了狭义相对论。此现象源于推导该方程时采用的强假设——傅里叶定律。
尽管名为傅里叶定律,其实质是一种唯象关系,其从第一性原理的严谨推导涉及多重近似。但需注意的是:在常规的时间与长度尺度下,能量的空间传输速度足够快,可视为瞬时过程,因此对于大多数工程应用而言,热方程的这一缺陷在多数工程应用中可安全地忽略不计。
热方程解在简单半无限域中的时域演化动画。
当我们转向更短的时间尺度时,无法再像前文所述那样假设能量的空间传输是瞬时的。此外,还必须考虑电子与晶格之间能量传递的有限速度。下文将阐明前者如何导致双曲型热传导,后者又如何催生双温模型(参考文献1)。
我们不再假设热通量能瞬时响应温度梯度,而是提出如下”滞后型”傅里叶定律:
滞后时间 应与电子弛豫时间(即电子平均自由时间)相对应。如果滞后时间足够短时,上述表达式可展开为泰勒级数:
该表达式被称为 Cattaneo–Vernotte 模型(参考文献2)。将其代入连续性方程(在对后者进行时间微分后)可得到双曲型一步(HOS)模型:
该双曲型偏微分方程与波动方程相似,而且正如我们将在下文进行阐述的,热传导的有限速度确实会导致”热波”现象的出现。
若摒弃电子与晶格始终处于局部热平衡的这一假设,则需引入两个独立的温度场(晶格温度 与电子温度
)及其耦合关系项
。初始阶段,激光能量被电子吸收导致
急剧上升(步骤1),随后与
发生耦合(步骤2)。 在亚纳秒时间尺度下,热量通过晶格的扩散相对于电子输运可忽略不计,因此最终得到以下控制方程:
该模型称为抛物型双步(PTS)模型。虽然可消去 以获得
的闭合形式偏微分方程,但会产生繁琐的交叉项。保留这种耦合的偏微分方程与域常微分方程的形式更为便捷。电子-晶格耦合参数
的估计,可通过对所有可能跃迁的电子-声子能量交换率进行积分获得(参考文献3)。
若考虑电子热能传播的有限速度,可进一步建立双曲型双步(HTS)模型。与上述模型类似,当忽略晶格扩散时,该模型可表示为:
为获得精确结果,我们可能还需要考虑以下若干附加效应,例如:
虽然这超出了本文的讨论范围,但对于许多应用而言,考虑超快加热过程中可能发生的更复杂的过程(如烧蚀和熔化)至关重要。
默认情况下, COMSOL Multiphysics® 的传热接口仅支持 POS 模型,但借助偏微分方程(PDE)和常微分方程(ODE)接口,可在软件中轻松实现双曲型热传导与双温度模型。
以示例问题为例:考虑一层厚度为200 nm 的金膜,受到一个激光脉冲的照射,其吸收的激光脉冲通量 (此处假设与其电子温度和晶格温度无关),脉冲具有高斯时间分布,脉宽
和
。
包含激光波长信息,因其同时取决于薄膜反射率。 我们还假设光束半径远大于其穿透深度
,从而使问题简化为一维模型。因此,由该脉冲产生的体积热源可表示为(参考文献1):
前置因子确保了总吸收脉冲能量的正确归一化。该脉冲中心位于 ,故模拟起始点设为
以捕捉完整的脉冲。我们采用参考文献3中报道的金的材料参数,并假设其保持恒定。
为在 HOS 模型中包含时间的二阶导数项,需要使用 一般形式偏微分方程 接口。相关设置如下所示。
在 COMSOL Multiphysics® 中实现 HOS 模型。为了包含二阶时间导数项,需使用一般形式偏微分方程接口。
为了实现 PTS 模型,可以使用预定义的传热 接口模拟电子温度。由于该模型忽略晶格扩散,仅需一个域常微分方程即可求解晶格温度。所需设置如下图所示。
在 COMSOL Multiphysics® 中实现 PTS 模型。对于电子温度(左侧),可使用默认的传热接口,并添加因耦合引起的额外源项;对于晶格温度(右侧),则使用分布式常微分方程接口,并将耦合项指定为源项。
与上述设置类似,我们也可以通过替换电子温度的传热 接口为一般形式偏微分方程 接口来实现HTS模型。需要注意的是:本模型中热导率被视为恒定标量,但传热 接口与一般形式偏微分方程 接口均支持例如温度依赖的系数,以及用于模拟各向异性传热的张量形式。
让我们首先来看下 时的计算结果。下图展示了辐照后晶格温度的空间分布。可以看到,在该脉冲持续时间下,正如预期的那样,不同建模方案的结果基本一致。
脉冲持续时间为 1 纳秒时晶格温度随深度变化的曲线。在此时间尺度下,四种模型的预测结果高度一致。
接下来,我们观察 时的同类图谱(见下图)。 单步模型(POS 和 HOS)与双步模型(PTS 和 HTS)之间出现了明显差异:由于忽略了相对较快的电子热传递,单步模型预测的辐照表面附近晶格温度更高。然而,抛物型模型(POS 和 PTS)与双曲型模型(HOS 和 HTS)之间尚无明显差异。
脉冲持续时间为 100 皮秒时晶格温度随深度变化的曲线。单步模型(POS 和 HOS)预测在辐照表面附近的晶格温度更高。
当脉冲进入飞秒尺度( )时,这种差异变得更为显著,如下图所示。
脉冲持续时间为 100 飞秒时晶格温度随深度变化曲线。双曲型模型(HOS 和 HTS)中包含的二阶时间导数的影响开始显现。
此时,单步模型的预测结果要高出数百度,而双曲型模型因电子热传导存在有限速度,在辐照表面附近呈现出高于对应抛物型模型的温度值。
到目前为止,我们只考虑了晶格温度。若将电子温度绘制在同一坐标系(采用不同刻度),可直观展现电子温度与晶格温度的差异。结果如下方动画所示。
动画展示了 100 飞秒脉冲作用下电子温度(左)与晶格温度(右)随时间演变的分布。
接下来,为了进一步阐明包含二阶时间导数的影响,让我们比较双步模型对 条件下预测的电子温度分布。现在可以清晰地观察到热波在薄膜中传播的现象,如下图所示。需要注意的是,在该脉冲长度下,电子温度达到 了足以需要考虑辐射传热的数值,而当前模型中忽略了这一效应。
脉冲持续时间为 10 飞秒时,电子温度随深度变化的曲线图。可以观察到由HTS模型预测的热波传播现象。
最后,为了了解薄膜中热传递的动态过程,可绘制前表面(受辐照表面)与后表面温度随时间的变化曲线。但因尺度差异较大,必须将每组数据按其对应的最高温度进行归一化处理。
下图展示了脉冲持续时间为 100 飞秒时的结果。在此时间尺度下,抛物型模型与双曲型模型的差异尚可接受,但单步模型无法预测后表面温度的定性行为。 单步模型显示温度单调递增,而双步模型预测后表面温度会达到峰值——这是由于电子-晶格弛豫的过程比电子传热更缓慢所致。这些结果与参考文献 3 中的图 3 和图 4 高度吻合。
脉冲持续时间为100飞秒时,薄膜前表面与后表面归一化电子温度(双步模型)及晶格温度(单步模型)的时间演化曲线。
在本篇博客中,我们通过实现四种简单而重要的非傅里叶传热模型——抛物型单步模型(POS)、双曲型单步模型(HOS)、抛物型双步模型(PTS)和双曲型双步模型(HTS)——展示了如何利用 COMSOL Multiphysics® 模拟超快传热过程。
下载本文展示的示例模型文件:
随着 COMSOL Multiphysics® 软件 6.3 版本的发布,我们现在可以在当前时步中使用瞬态研究中的上一个解,即可以使用较早时间的解影响当前时间的解。这一功能有很多应用,包括求解延迟微分方程。这篇博客,让我们通过一个与众不同的示例来了解这项新功能。
前不久,我在山间徒步旅行时发现了一只旱獭(又名土拨鼠)。随手拍了几张照片后,我开始思考这种可爱的食草动物的生命周期。我的思绪很快就飘到了如何构建一个方程来描述在山间草地中觅食的旱獭种群数量的变化。

这只毛茸茸的旱獭是这篇博客文章的灵感来源。
回想大学时读过的一些关于数值方法的教科书,我想起了各种可能派上用场的方程,包括 Lotka–Volterra 方程和逻辑斯谛微分方程(logistic differential equation)。受这些方程的启发,我们假设应该写两个常微分方程(ODE):一个是草地上旱獭数量的变化率 ,另一个是可食用生物量的变化率
。
第一个方程描述旱獭种群变化率,其中包含与繁殖 和死亡
有关的项,稍后我们将详细讨论。第二个方程包含三个常数:增长率
,草地上可生长植被的最大质量
,旱獭每天的消耗率
。
现在,我们来看旱獭种群的方程。首先考虑与当前种群数量线性相关的繁殖项:
另一方面,旱獭的死亡率应该与可用资源有关,因此作为中间步骤,我们将定义每只旱獭每天的觅食面积:
式中, 为草地面积。我们假设草场面积越大,遇到捕食者的几率就越大。同时假设每个区域的 捕食者数量固定为
。因此,旱獭死亡率与当前的旱獭数量
、每只旱獭的日觅食面积以及捕食者密度成正比。于是,我们得到一个取决于两个未知数的死亡率方程。
进一步假设整个旱獭种群都会立即从冬眠中苏醒,我们将通过求解这些方程来预测夏季种群数量的变化,之后旱獭种群会重新回到洞穴中过冬。我们还将设置一个停止条件,以便在旱獭数量或植被数量下降到临界值以下时停止求解,这意味着种群或环境崩溃。

图片显示了如何模拟一组常微分方程。不同的常微分方程可以使用不同的单位。瞬态求解器 中还添加了 停止 条件功能。
如上图所示,在 COMSOL Multiphysics® 中可以使用 全局常微分方程和微分代数方程 接口求解这类方程。该接口定义了我们要求解的两个变量 和
,以及每个变量的时间导数方程和初始值
和
。我们可以通过求解这些方程来预测旱獭种群在夏季的变化情况。

植被生物量(绿色)和旱獭数量(棕色)的动态方程的解,其中标注了夏季末期的旱獭数量。夏季刚开始时,旱獭数量急剧上升,随后由于捕食增加而下降。
结果表明,刚开始旱獭的数量急剧上升,并迅速消耗掉可用的食物。这导致了一个调整过程,即由于捕食的增加而导致种群数量下降。再过一段时间,旱獭数量达到一个平衡状态。(顺便给感兴趣的读者提个醒:要确定这是否是一个 稳定的 平衡状态是相当有挑战性的)。
目前,我们得到了一些看似合理的结果,但也会有一些担忧。至少有两个重要因素需要考虑:
让我们来看看如何用数学方法来描述这两个因素,以及如何在模型中实现它们。针对第一个因素,我们希望将繁殖率作为受孕时种群数量的函数,并考虑妊娠期 ,在此期间繁殖率为零。因此,繁殖率方程变为:
式中, 为 Heaviside 阶跃函数。繁殖率还会受分式
的影响而下降,即妊娠期内种群数量下降的总和。我们还假设,一旦年轻旱獭开始觅食,成年旱獭的捕食就会停止。因此,在
之后,这一比例保持不变。
现在,我们得到一个延迟微分方程,可以结合使用 if() 语句与 at(time,variable) 算子将其输入软件。繁殖项可以写为
R0*if(t > Tg,at(t-Tg,M)*at(Tg,M)/Minit,0)
at() 算子中的第一个参数即为需要计算的第二个参数的上一时步。为了在求解过程中使用参考上一时步的功能,我们需要修改求解器的设置,如下图所示。通过使用 严格的时间步进 ,并且输出时步不大于延迟时间,来确保我们表征到分娩季节的开始。否则,模型的求解方法与之前相同。

图片显示了如何在解中启用时间算子。
让我们来看看将非恒定繁殖率纳入考量时的种群数量。首先,我们观察到,在没有旱獭出生的时期,种群数量会下降。之后,种群数量开始上升并逐渐趋于平稳。

在出生率中引入延迟项时旱獭的数量(棕色)和植被的生物量(绿色)。
最后,对死亡率进行修改,以考虑如果旱獭的平均数量在足够长的时间跨度内增加,捕食者的数量也会增加的情况。也就是说,我们需要追踪过去几天内旱獭数量的时间平均值。
与其对 期间的所有时步进行积分,不如应用微积分基本定理,并写出过去几天内平均种群数量变化率的方程:
我们可以通过在模型中添加另一个全局方程来简单地求解这个方程,但将从 开始计算。因此,我们使用另一个
if() 语句来定义。使用移动平均数扩大捕食者密度
,从而影响死亡率。再次求解,我们可以看到夏季结束时对旱獭种群的影响。
好消息!旱獭的数量增加了,它们可以在漫长的冬眠期钻进洞穴了。

仿真结果显示旱獭的数量(棕色)和生物量(绿色),其中繁殖率和死亡率都取决于上一个解。

实验观测证实旱獭数量有所增加。
需要强调的是,文中所举的示例只是为了在一个简单易懂的模型中展示一些令人兴奋的新功能。实际上,真实的种群动态模型比这要复杂得多,通常使用分区或基于区间的方法。即,使用不同的变量跟踪总种群的不同部分。博客使用 COMSOL Multiphysics® 模拟 COVID-19 的传播中讨论的预测流行病的 SEIR(易感者、暴露者、感染者、恢复者和免疫者)模型就是这种方法的一个入门示例。
这种基于区间的方法在化学工程中尤为重要,通常用于跟踪液滴和沉淀物的尺寸。关于这方面的模拟,以下案例模型做了详细介绍:
这篇博客,我们展示了在 COMSOL Multiphysics® 6.3 版本中模拟和求解延迟微分方程的基本原理。虽然这个简单的示例模型可以产生一些非常有趣的动力学,但请记住,此示例仅用于学习。只要理解了这个简单的示例,你就可以处理更复杂的建模任务了。例如,将这些时间延迟微分方程与空间微分方程结合使用。软件中的每个接口都支持这些新的算子。无论您想在多物理场仿真中使用哪种接口组合,参考上一个解的技巧都与我们在文中展示的完全相同。
想尝试自己动手模拟文中讨论的模型吗?请在 COMSOL 案例库中下载相关的 MPH 文件:
在天气晴朗、温度适宜的季节,大自然会吸引追求冒险的徒步旅行者和快乐的露营者。可是,有植被的地方也有等待寻找下一个目标的蚊子。露营者该怎么办呢?只要蚊子觉得捕蚊器比附近的血源更有吸引力,捕蚊器就有效。今天我们来看一个有趣的仿真案例,即通过基于方程建模的方法来看看捕蚊器是否能让露营者的森林小屋保持舒适无蚊,或者蚊虫是否会扼杀露营的乐趣。
为什么雌性蚊子更容易被人类和动物吸引?原因有很多。首先只有雌性蚊子才会吸血,因为它们需要血液中的蛋白质来产卵。根据 新加坡国家环境局的说法,不同种类的蚊子对某些引诱剂更敏感,这也是许多商用捕蚊器会将不同的引诱剂结合使用的原因。
视觉线索(如运动)和热线索(如体温)在吸引雌蚊进入血源方面起到一定的作用,但很大一部分因素是来自气味。蚊子更倾向于被二氧化碳、乳酸(人类汗液中的一种化合物)和某些信息素等物质吸引。在捕蚊器中使用这些线索作为诱饵有助于提高捕蚊器的效果。

叶子上的蚊子。照片由Syed Ali拍摄,来自Unsplash。
有了对蚊子难以抗拒的因素的基本了解,再加上装备的基于方程建模和粒子追踪功能的仿真软件,让我们来看一个简单的捕蚊器在吸引这些小家伙方面表现如何。
我们将利用 COMSOL Multiphysics® 软件的两个功能来进行基于方程的建模:一个是选择 数学 接口,另一个是解释用户添加的数学方程,以及生成数值模型时将其纳入的特征。
在制作捕蚊器模型时,需要考虑用什么数学方程来描述蚊子的飞行。一种方法就是用拉普拉斯方程来描述吸引物的浓度。本文示例中的模型求解的是速度势能的拉普拉斯方程,它被设计成与一般蚊子吸引物的浓度成正比。速度势能代表所有可能吸引蚊子的分子,包括二氧化碳和捕蚊器散发的气味。
为了更直观地理解这个模型场景,让我们把露营者带回来,假设他住在森林中的一间小木屋里。这是一个温暖的夜晚,为了睡得舒服,他决定打开窗户。他在床头安装了一个捕蚊器,认为这应该能保证他的安全。根据制造商的说法,这种捕蚊器应该比真正的血源有超过60%吸引力,所以他选择碰碰运气。

小木屋模型,窗户打开,一个人正在睡觉,床头的架子上放着一个捕蚊器。
啊哦!我们的露营者犯了一个错误:他在睡梦中动来动去。他梦见了第二天早上的远足美景,他不停在动,毯子也在动,导致他的躯干和腿部没有遮挡。接着,一群蚊子从打开的窗户飞进来,它们在找血。这些蚊子要么去找露营者,要么去找捕蚊器。露营者是会平安无事,还是一觉醒来浑身发痒呢?
为了确定蚊子的去向,我们需要在模型中添加一些方程。本例中,我们使用狄利克雷边界条件特征添加了三个边界:打开的窗户、捕蚊器和露营者裸露的皮肤。由于捕蚊器比人的皮肤更有吸引力,我们为捕蚊器和皮肤分配了不同的速度势能,来表示这种对比。
我们还将在示例中使用 COMSOL Multiphysics 的附加产品——粒子追踪模块。当然,使用该模块的用户一般不会模拟蚊子群这样夸张的场景;更典型的例子是模拟代表离子、细胞、水滴、行星或恒星等的粒子。在我们这个有趣的例子中,每个粒子都代表一只蚊子。粒子追踪模块还包括求解用户定义的粒子运动方程的功能,我们在这里用它来解释蚊子在小木屋中的运动。该模型的设置是为了计算有多少粒子在选定的时间内到达某一点——在本例中,就是到达蚊子皮肤和捕蚊器的位置。
我们来看看模拟结果:
蚊子进入房间时的模型。每个黑点代表一只蚊子。红线代表一只蚊子的活动轨迹。
建立模型并求解后,我们可以绘制结果图,比较在 150 秒或 2.5 分钟内,有多少蚊子飞到了我们可怜的露营者的皮肤上,以及捕蚊器的情况。如下图所示,随着时间的推移,落在皮肤上的蚊子数量会增加,部分原因是野营者比捕蚊器更靠近打开的窗户。不过,落在诱捕器上的蚊子数量也在增加,并在给定时间的一半时超过了落在皮肤上的蚊子数量。

在 150 秒的时间范围内,比较落在皮肤上的蚊子数量和捕蚊器上的数量。
换句话说,他使用捕蚊器比不使用捕蚊器要好,而且(虚构的)制造商对预期性能也是诚实的。利用COMSOL软件基于方程的建模功能,我们能够求解自定义方程,分析蚊子行为与捕蚊器之间的关系,而这一切都不会造成蚊虫叮咬!
一个新的设计是源自人还是过程?我们可以想象一个新设计的产生过程:首先设计师先有一个设想,然后拿起铅笔把他的想法变成现实。当然,今天的设计师和工程师可能不使用铅笔,也可能没有一个最终的设计想法。相反,另一些设计师则通过使用一个过程为他们提出新想法,即一种被称为“衍生式设计”的方法(参考文献1)来创新设计。衍生式设计是一个基于规则的设计过程的总称,通常由计算软件驱动,生成遵循所设规则的形式。今天,我们来讨论使用基于方程的建模过程,也就是根据用户定义的规则和数值生成一个新颖的铅笔架设计。
人是衍生式设计过程的核心。就像自 16 世纪开始首次在英国出现时一样,铅笔被设计成我们今天熟悉的样子,帮助牧羊人记录他们的羊群,并且在今天仍然被广泛设用。随后,无数的铅笔(以及由铅笔促成的想法)被生产出来。但是,请注意,直到 19 世纪中叶,铅笔才与橡皮擦连在一起。
嘿,你们两个应该聚在一起!第一支现代石墨铅笔在16 世纪被发明出来,而橡胶橡皮则是 18 世纪的一个发明。把橡皮附在铅笔上,还经过了几十年的时间。
事后看来,我们很容易想知道为什么没有人更早地想到在铅笔上添加橡皮。擦除工具似乎是对书写工具的一个明显的补充,但是新的想法不一定会在我们期待的时候出现。人类创造力这种难以捉摸的特性是衍生式设计为什么如此强大的原因之一:它可以帮助我们更快地发现更好的想法。
衍生式设计的核心是基于规则的形式生成过程。指导项目的人设定生成过程的规则,包括将形成预期结果的价值观。然后,设计过程中使用这些价值观来产生符合其规则的形式。最重要的是,设计者并不事先创造正式的过程选项,用这个过程来评估它们。相反,这个过程本身会产生多个正式的选项。用户可以自己考虑哪些选项(所有这些选项都遵循用户定义的规则)最符合项目的广泛目标。

设计师在衍生式设计过程中的角色示意图,由跨学科团队在Generative Gestaltung一书中创建。图片由 Hartmut Bohnacker 提供,通过Wikimedia Commons获得许可(CC BY 3.0)。
衍生式设计方法非常适用于三维建模和其他增材制造技术,这些技术可以将材料塑造成非传统的但具有一定功能的形式。一些术语,如场景驱动设计 和拓扑优化,被用来描述衍生式设计方法在工程问题上的各种应用。场景驱动设计包括用户定义的边界条件和模拟值,用于确定指导生成过程的规则。各种术语可以帮助描述设计者设定用于指导生成过程规则的优先级。
陀螺几何的衍生式设计。

无人机设计的拓扑优化,显示了在一定载荷下的模拟位移。
在一篇关于数字化工程的文章中,来自 COMSOL 的 Kristian Ejlebjærg Jensen 解释说:
“拓扑优化和衍生设计的根本区别在于,拓扑优化是由问题的物理场驱动的,而衍生式设计则更多地由设计者自己的选择和需求控制。”
下面的动画展示了如何通过拓扑优化迭代无人机结构的刚性和轻量化设计。
以无人机为例说明了拓扑优化的过程。设计者可以更改体积分数和最小长度比例。设计师对设计没有其他明确的控制,因此最终形式主要由两种载荷工况的细节决定。
建立在有限元分析(FEA)基础上的仿真软件,支持衍生式设计方法。COMSOL Multiphysics® 软件中的求解器可以解释方程、表达式和其他数学描述,帮助生成模型。通过调整这些输入,我们可以启动一个针对特定优先级的衍生式设计过程。
例如,指导拓扑优化的规则可以优先考虑材料的有效使用以提供结构的完整性。拓扑优化还可以帮助工程师设计用于气态光声光谱或用于吸声的微晶格结构的3D 打印声学室。
虽然拓扑优化可以生成满足特定目标的设计,但其他相关优先级可能倾向于产生一个不同的结果。以下图显示的仿真散热器设计为例,这些设计是使用COMSOL Multiphysics 的一个附加产品优化模块生成的。左边的设计是通过参数优化 生成的,产生了大小和间隔均匀的散热翅片。拓扑优化应用了粒度更细和限制更少的生成过程,产生了如右图所示的复杂形式。

通过参数(左)和拓扑(右)优化生成的散热器设计。图片由 Fritz Lange 提供。
哪个设计更好?正如 Ejlebjærg Jensen 在上面的引述中所说,答案取决于“设计师的选择和需求”。也许更简单的形式热效率较低,但生产成本较低,这可能是与项目总体目标更相关的指标。即使基于规则的过程产生了新的形式,设计师仍然必须优先指导衍生式设计的过程。
基于这种考虑,我们以一个铅笔架模型为例,展示了 COMSOL® 软件如何支持衍生式设计和场景驱动的设计过程。
铅笔架模型的场景驱动设计展示了通过使用 COMSOL Multiphysics 强大的数学表达式功能,将基于方程的建模用于衍生式设计的一种方法。
铅笔架的几何形状包括用于构建域的 6 个参数化曲面。几何的其余部分由基于方程的建模定义,并通过拉伸映射网格进行网格化。
立方单元的网格(如左图所示)定义了铅笔架的几何形状。
系数形式偏微分方程 接口用于定义亥姆霍兹滤波器,它在边界上生成两个平滑场。(在之前的博文中了解更多关于通过这个接口进行数据过滤的信息)。然后,使用拉普拉斯方程将边界量变换为体积形式。最后,这些场被合并到一个分析表达式中,从而定义了几何形状。设计者可以改变偏微分方程的参数和/或表达式,以产生不同的形式,如下图所示的动画。
动画显示了改变三个值的效果:体积分数(空间)、控制支架角度的参数以及上下边缘的高度。
最终场可以导出一个 STL 文件,然后作为网格零件导入以供进一步分析。

以 STL 文件导出呈现的铅笔架。右侧的图像显示了通过 COMSOL® 软件内置的材料渲染特征施加的木材纹理。
在铅笔架示例中,该设计或多或少由分析给定场景驱动。但是,COMSOL Multiphysics 允许我们使用其他物理场量(例如应力、流体速度或电场)来驱动设计。这种可能性几乎是无限的。

生成的3D 打印版本的铅笔架设计。
点击以下按钮下载铅笔架的教学模型,开始进行衍生式设计:
众所周知,高尔夫球的凹痕对它的空气动力学特性非常重要,因为它们会产生能够减少球阻力的湍流。然而,这听起来是不是违反直觉?一般来说,光滑的物体比粗糙的物体更遵循空气动力学原理。在今天的博客中,我们将深入探讨这个看起来有明显悖论的问题,并学习如何在 COMSOL Multiphysics® 软件中模拟高尔夫球的轨迹,最终找到击球的最佳角度。继续阅读,了解如何获得一杆进洞的机会……
小时候,我偶尔会在下雨天和家人一起在附近的高尔夫球场散步,那是唯一没有高尔夫球手敢打球的时候。我们经常玩的游戏是寻找一些不幸的球手丢失的球,找到球最多的人将获胜。无数个阴雨天后,我们收集的高尔夫球越来越多!虽然我们不知道如何打高尔夫球,但是都认为球凹痕的存在是有原因的,可能是为了美观或者让球在空中飞得更快。

有没有想过为什么高尔夫球有凹痕?
很多年过去了,现在 我 是那个在高尔夫球场丢球的不幸的高尔夫球手了(我想生活已经轮回了)。然而,现在我有机会通过工程师的视角再看一遍那些熟悉的球:为什么它们有凹痕?我可以使用 COMSOL Multiphysics 模拟高尔夫球吗?我可以优化我的击球方式以减少丢球,并有可能打出标准杆吗?上一篇篇博客已经帮助我改进了我的高尔夫挥杆方式,但我需要更多可以帮助我的信息,所以我找到了我的教科书……
历史上,科学家们研究了许多不同形状周围的流动。例如,涡街是由圆柱体绕流产生的。虽然球体不会产生这种大的交替流动结构,但流动特性也可以与雷诺数联系起来。对于一个直径为 的球体,在密度为
, 动力黏性为
, 速度为
的流体中,雷诺数 Re 由下式定义:
(1)
低雷诺数的流动被称为层流,黏性力占主导地位。反之,如果雷诺数很大,流动则是湍流,惯性力占主导地位。与其比较阻力的绝对值 ,即物体对流动的阻力,较为常规的做法是定义无量纲阻力系数
:
(2)
其中, 是球的横截面积。
Gustave Eiffel 和 Ludwig Prandtl 几乎同时观察到,根据流态的不同,球体的阻力系数不是恒定的,甚至在很小的雷诺数范围内也有显著的差异。这种阻力系数的突然下降通常被称为 阻力危机,在其他类型的球(如足球和橄榄球)中也可以观察到这一点。唯一的区别是阻力危机发生的位置,如下图所示。

一个光滑的球和一个高尔夫球的阻力系数分布比较。高尔夫球的凹痕已将阻力危机转向较低的雷诺数值,但与光滑的球相比,其下降幅度较小。另请注意,仅在有限的雷诺值范围内,高尔夫球的阻力系数较小。
已知球手击出的高尔夫球的典型速度约为 260 公里/小时(160 英里/小时),考虑一个官方高尔夫球设计( 42.67 毫米),可以得到一个典型的雷诺数
。从上图可以看出,高尔夫球的阻力系数落在雷诺数的理想范围内,其阻力系数大约是光滑球阻力系数的一半。这就解释了高尔夫球上有凹痕的原因。对于特定的雷诺数范围,高尔夫球受到的阻力较低。因此,球可以运动的更远。
你可能对这个答案不满意。我们观察到,有凹痕的高尔夫球具有较低的阻力,但我们还没有解释 为什么 阻力危机发生在较低的速度下。要理解这种现象,我们必须仔细观察球体周围的流动。
首先,我们复习一下物体的阻力,它有两个来源:
对于钝体,例如光滑的球,压差阻力在所研究的雷诺数范围内最为明显。因此,球体周围的压力分布将决定其总阻力。
在不涉及湍流理论的情况下,首先在球体的前部形成层流边界层(流动在几乎不交换质量或动量的不同层中被分离)。从这个角度来看,有两种分离,具体取决于流动的类型:
高尔夫球和光滑球体后面的湍流尾流的比较。雷诺数约为 1e5。

由湍流边界层分离产生的带凹痕的高尔夫球(上部)的湍流尾流和由层流边界层分离产生的光滑球(底部)的湍流尾流比较。请注意,高尔夫球的分离点位于更远处的下游,尾流也更小。
大量能量在湍流尾流中损失,从而使压力显著下降。因此,作为球体的主要阻力,压差阻力主要受尾流区域大小的影响。根据这些信息,理解阻力系数图更容易了。对于高尔夫球来说:
现在,我们第一次明白了为什么高尔夫球会有凹痕,因为阻力更低,球可以走得更远。为了知道球可以走多远,我们首先需要计算它的轨迹。作用在球上的力和初始条件如下图所示,忽略浮力的影响,因为球几乎比相应体积的空气重 1000 倍。

初始条件和作用在高尔夫球上的力。
在之前的文章中我们用 7 号铁杆以 145 公里/小时(90 英里/小时)的轴速击打球,并从最终结果中获知以下初始条件:
使用牛顿第二运动定律对一个质量为 ,加速度为
和重力为
的球进行分析:
(3)
重新排列方程2,计算阻力模:
(4)
同样,用取决于球的旋转速度 的升力系数
来定义因马格努斯效应而产生的升力
:
(5)
Bearman 和 Harvey 在 1976 年对升力系数与高尔夫球旋转速率的相关性进行了广泛的研究(参考文献 1)。他们还观察到阻力系数也应该取决于旋转(第一幅图的曲线对于特定的旋转速率是有效的)。为了更普遍的描述,引入了一个无量纲自旋因子, 即圆周速度与流速之比 :
(6)
虽然说这个结果通过研究老式高尔夫球获得的,而且现在的曲线可能有所不同,但 Bearman 和 Harvey 的结果适用于现有文献中最大范围内的雷诺数和自旋因子。因此,本博客中获得的结果不应该看作是现代高尔夫球的真实值。通过结合使用 COMSOL 模型和曲线拟合 App 教学案例中对参考文献1 中图 9 使用曲线数字化仪 App 获得的数据进行三次多项式曲线拟合获得下图所示曲线:

以自旋因子计算的阻力和升力系数分布。
光滑球的阻力系数取自标准阻力相关性(见第一幅图),升力系数近似等于旋转高尔夫球的升力系数(实际上更小)。
最后,由于摩擦会减慢旋转速度,因此可以使用指数衰减对旋转速率进行建模,如 Smits 和 Smith 提出的(参考文献2)。
(7)
式中, 是一个实验常数。
考虑到阻力与球的运动方向相反,升力与球的运动方向垂直,我们通过在 x 轴和 y 轴上的投影得到以下方程组:
(8)
其中,.
该方程组由一组常微分方程 (ODE) 组成,由于所有变量之间的依赖关系,它可能看起来很复杂。然而,使用 COMSOL Multiphysics 来实现和求解实际上很简单。
实现这个问题的最简单的方法是在一个 0 维组件中使用 事件 接口,它既能使用全局方程节点求解 方程8,又可以在球落地时()停止计算。
第一步是设置研究使用的不同变量。在软件中,它们是通过不同的函数和全局参数来计算的。特别的, smooth 参数决定了被发射球的类型:
smooth=0)smooth=1)变量 xt 和 yt 是位置的时间导数,由事件接口计算。
第二步是使用相应的初始条件建立方程8的方程组。由于已经定义了所有参数和变量,因此这一步很简单。

离散状态接口用于定义球是否已经落地。
与上一篇博客一样,添加一个最适合开/关条件的离散状态 变量,代表球的整体状态:它要么已经着陆,要么没有。刚开始,认为球没有落地,所以 landed=0。


指示器状态接口可以简单看作当前高度。一旦球落地,离散状态就会打开。
只有当球接触地面时,离散状态才会更新。我们不知道这个事件什么时候会发生,但可以用数学方法来翻译它(高度变成负数)。这正是隐式事件节点目的:当指示器状态(此处为当前高度)满足特定条件时,事件就被触发。
最后一步是创建研究 节点。可以使用参数研究 依此计算高尔夫球和光滑球,瞬态研究可以用于求解球的轨迹。当事件被激活时,需要修改瞬态研究中的求解器序列,以停止计算。
现在,一切都设置好了,让我们开始研究吧!
高尔夫球和被 7 号铁杆击中的光滑球的轨迹的实时动画。与光滑球相比,有凹痕高尔夫球受到的阻力要小得多(颜色图例显示了阻力系数)。请注意,球在轨迹的顶部受到阻力危机,因此速度(或雷诺数)变低。
请注意,人们可能会发现,如果忽略阻力或升力,轨迹的形状不是抛物线。球首先几乎直线上升,然后在达到最大高度后突然下降。从结果可以看出,与光滑的球相比,带凹痕的高尔夫球前进了 25%(30 米或 33 码)。换句话说,现在离草地更近了,并且不需要额外的力!
这个解释来自这样一个事实:在整个飞行过程中,对抗球运动的阻力对于高尔夫球来说非常小(原因在开头已经提到)。当球达到其最大高度时,与高度成正比的势能也达到最大值。这种能量转移是在损失动能的情况下进行的;所以球走得更慢。因此,雷诺数减少(或等效地,自旋因子增加),阻力因此增加。
绝对运球距离 150m(165 码)远大于普通球员的典型高尔夫击球距离(128 m 或 140 码),但处于职业高尔夫球员典型击球距离的下限。考虑到阻力和升力数据并非源自现代高尔夫球,该结果是合理的。
凹痕对高尔夫球的影响现在应该很清楚了:它们使球飞得更远。然而,实际上,这并没有说明我应该如何 击球。假设杆身速度和攻角恒定,我应该给球一个什么发射角度,才能使运球距离最佳?第一种方法是运行参数研究甚至是优化研究,来找到该值。下图显示了在给定攻角和旋转速率下,由发射角度决定的运球距离。

使用 7 号铁杆在 -4.3° 的攻角和 6113转/分的初始旋转下进行的参数研究的结果。最佳发射角度似乎应该在 20° 左右。
从上图中可以看出,最佳攻角似乎在 20° 左右。然而,职业高尔夫球手(理论上,他们应该平均接近最佳角度)平均以 16° 的角度射击。出了什么问题?这是因为我们关于恒定旋转速率的假设是错误的:以更大的发射角度击球意味着击球时杆面需要“更加水平”。就像网球中的球被“切割”一样,由于摩擦力变大,高尔夫球旋转得更快,但速度变慢。

在恒定攻角下,两个动态杆面倾角的比较。角度是基于水平线测量的。当动态杆面倾角增加时,发射角增加。由于动态杆面倾角和攻角(通常称为“旋转倾角”)之间的角度变大,球会旋转得更快。
找到发射角度、旋转速率和球速之间的关系并不直接,而且实验或模拟结果并不重要。那么,既然我们已经建立了一个高尔夫球模型,就对它进行参数化吧!

教学案例模型的参数化结果。使用三次样条对这些点进行插值以获得更平滑的曲线。正如预期的那样,较大的发射角会增加旋转速率,而速度则会减小。
我们必须谨慎对待结果,并应该进行更详细的研究,包括网格收敛研究,与其他轴的曲线比较等。尽管如此,此结果仍然与现相当一致。

7 号球杆的运球距离,取决于非恒定旋转的 -4.3° 攻角的发射角度。曲线已转移到较低的发射角度值,以更好地表征真实情景。
现在,我们可以使用正确的自旋和速度值再次运行参数研究。请注意,曲线已向左移动。换句话说,似乎减小发射角度(即动态杆面倾角)有助于减少自旋,并为球提供更高的平移动能。与预期一样,该曲线并没有以 16° 为中心。然而,为了获得这个结果,人们提出了许多假设(例如阻力和升力的分布,以及自旋速率的相关性),这些假设对最终结果有很大影响。关于现代高尔夫球和球撞击分析的数据越多,越有助于获得更准确的结果。
在这篇博客中,我们回答了一个看似简单的,与特定雷诺数范围内球体湍流边界层的行为有关的高尔夫球凹痕的问题。同时对工程中的一个经典过程进行了介绍。对普通物体的观察使我们对复杂的物理现象有了更深入的理解,反之我们也能够使用 COMSOL Multiphysics 对其进行建模和验证。最后,我们找到了一个最佳的发射角度,并提取了对真实击球有用的信息。
很多高尔夫球观众可能也问过和我一样的问题。要记住的教训是,请尽量降低动态倾角,同时保持相同的攻角,以降低旋转速度。虽然仿真结果看似简单,但我不确定如何在球道上做到这一点。所以,如果要打好高尔夫球,需要请教专业的高尔夫教练,而不是模拟工程师!
单击下面的按钮,访问文中的模型文件,尝试自己动手 COMSOL Multiphysics 中计算高尔夫球的轨迹。
磁体中的磁矩动力学可以通过微磁模型描述,即朗道-栗弗席兹-吉尔伯特方程(Landu–Lifshitz–Gilbert equations,LLG)。我们使用 COMSOL Multiphysics® 软件中的“物理场开发器”开发了一个定制的“微磁模块”,可用于在 COMSOL® 软件框架内进行微磁建模。这个定制的微磁模块可以直接与其他附加模块耦合进行多物理场微磁仿真,例如磁-偶极耦合、磁-弹耦合、磁-热耦合等。微磁模块软件包以及用户指南可以在文末提供的网址中下载,欢迎试用。
磁振子学 是自旋电子学或磁学的子分支领域(参考文献1),类似的还有声子学和光子学。磁振子学更侧重于研究由磁性体系的元激发,即自旋波(或量子极限中的磁振子)携带的能量和信息传输。自旋波可以携带能量、线性动量、角动量,因此可以用来编码信息。由于具有极小的阻尼和无焦耳热等特性(参考文献2),钇铁石榴石 YIG (Y3Fe5O12) 等磁绝缘体是操控自旋波的理想材料。此外,自旋波还可以与磁结构相互作用(参考文献3),例如磁畴壁、磁涡旋和磁斯格明子等,从而为磁存储器的设计和操控提供了一条新途径。这使得磁振子技术有望成为下一代信息技术的候选者。
在这篇博文中,我们将演示如何在 COMSOL Multiphysics 中使用“微磁模块”对自旋波动力学进行数值微磁仿真。
磁性材料中磁矩的动力学由 LLG 方程控制。微磁模型的核心是将一个或多个晶胞中的所有磁矩视为一个半经典的宏自旋,用单位向量 定义表示为
其中, 是总磁化强度的时空分布函数,
是材料的饱和磁化强度。
该单位磁矩向量的时间演化遵循 LLG 方程(参考文献 4)
其中,点表示时间导数, 是旋磁比,
是吉尔伯特阻尼系数,
是施加在局域磁矩上的有效场,可以被定义为
其中, 为真空磁导率,
为磁系统的自由能,包括所有可能的相互作用。
假设一种最简单的情况:在沿 z 方向施加的静态磁场中的一个宏自旋。有效场很简单,可以表示为 。从宏自旋稍微偏离平衡 z 方向的初始状态开始,宏自旋矢量根据 LLG 方程按右手定则围绕有效场进动。在吉尔伯特阻尼(以
表示)作用下,系统的动能最终消散,宏自旋驰豫到其能量最小值,即与有效场平行。这种进动的动力学与铁磁共振 (FMR) 相关,其进动角频率与外加场的强度呈线性关系。
当引入非局域相互作用时会出现自旋波,例如,在连续极限中采用以下形式的短程交换相互作用 ,其中
为交换刚度系数。存在交换相互作用的情况下,单个宏自旋的进动模式可以传输到相邻的宏自旋,导致角动量流的传播,即自旋波。
电磁波和弹性波以及自旋波都可以通过纳米结构设计进行空间上的限制或调控。此外,自旋波还可以通过磁结构(磁矩在空间中的非均匀分布)来调控,例如磁畴壁,即具有相反磁化强度的两个磁畴之间的过渡区域。理论和实验都表明,磁畴壁可以作为自旋波的传导通道,用于设计可重构的自旋波电路。
微磁仿真不仅可以帮助解释实验结果,也有很多成功的例子表明,该方法可以预测新现象,并通过实验进行验证。
市场上有两种主流的开源微磁仿真软件:面向对象的微磁框架(OOMMF)和支持GPU 加速的 Mumax3。
但是,我们更喜欢使用 COMSOL Multiphysics 进行微磁仿真。原因有两个:
对 COMSOL Multiphysics 的微磁模块感兴趣的用户可以将编译后的模块文件 Micromagnetics Module.jar 安装到本地 COMSOL 归档文件夹中,之后在选择物理场时就会出现一个新的物理场接口 Micromagnetics (mm)。

微磁模块 (V1.33) 的用户界面如下图所示。

微磁模块(V1.33)具有其他开源微磁仿真软件所具有的几乎所有功能,包括但不限于:
基于微磁模块,我们展示了许多有趣的自旋波物理并提出了各种自旋波器件,例如自旋波二极管(参考文献5)、自旋波光纤(参考文献6)、自旋波偏振片和波片(参考文献7-8)以及存算一体化的磁逻辑门(参考文献9)等。
如上所述,COMSOL Multiphysics 的一项优势是附加模块之间的多物理场耦合能力。自旋波可以被磁场、晶格形变、温度梯度等操控。将自旋波与其他激发(如电磁波和弹性波)耦合,获得的系统可以结合两者的优点,产生丰富的物理现象,促进信息的产生和传输。下面,我们将演示基于微磁模块可以完成哪些多物理场耦合。
腔磁振子学(Cavity magnonics)(参考文献 10)是磁振子学和腔量子电动力学 (CQED) 的交叉学科,后者的应用之一是通过操控光子-物质相互作用来实现量子信息处理。腔磁振子学的典型构型是内部放置磁体的微波腔。磁体中的磁矩进动模式与微波腔中的驻波模式或行波模式耦合。这样的系统为研究自旋流的操控和磁矩的非线性动力学提供了一个新的选择(参考文献 11-12)。腔磁系统可以通过耦合微磁模块和射频模块来模拟。对于静磁模拟,并不需要考虑电磁波本身的动力学行为,因此将微磁模块和 AC/DC 模块(磁场)相互耦合就足够了。
自旋力学(spin mechanics)包括磁矩和晶格形变之间的相互作用。在具有磁弹耦合(或磁致伸缩)的材料中,磁化强度(自旋波)在空间和时间上的变化对晶格产生等效力,而晶格形变(弹性波)对磁化强度产生等效场。例如,如下面的动画所示,面内磁化的碟状薄膜被磁场激发,进动的磁化引起磁性薄膜及其衬底的弹性形变,从而辐射弹性波。自旋力学问题可以通过耦合微磁模块和固体力学模块来模拟。
在金属磁体中,自旋极化电流对局域磁矩施加自旋转移矩,使得磁结构能够被电流驱动。由于各向异性磁阻 (AMR)的存在,磁性薄膜内的电导率取决于局域磁化强度和电流方向的相对取向,因此可以使用微磁模块和 AC/DC 模块对电流、自旋转移矩和磁结构之间的相互作用进行建模。
如下面的动画所示,施加在两个电极上的电压通过自旋转移矩改变磁结构的空间分布(上图),进一步改变局域电导率和电流密度分布(下图)。在电流的持续作用下,磁结构最终演化至稳定的构型,使得两个电极之间的电导增加。有研究表明这种正反馈行为可用于类脑计算(参考文献13)。
您可以通过 COMSOL 模型交流区免费下载微磁模块文件。下载的压缩文件包括:模块安装文件,以及带有安装说明和示例的用户指南。我们非常欢迎和感谢您的任何建议、报告和交流。更多功能将在未来的版本中及时更新。
同时,为了帮助您更好地学习使用该模块,您可以访问作者及其团队更新的案例模型: 微磁模块教程示例。
作者对复旦大学肖江教授的指导和复旦大学微纳电子器件与量子计算机研究院的支持表示感谢。
余伟超本科毕业于同济大学物理科学与工程学院应用物理学专业,获理学学士学位,后赴复旦大学物理学系理论物理专业直接攻读博士研究生,获理学博士学位,曾任复旦大学物理学系博士后研究员、日本东北大学金属材料研究所助理教授,现任复旦大学微纳电子器件与量子计算机研究院青年研究员。余伟超博士的研究兴趣包括自旋电子学和磁学基本现象的理论研究、磁结构和自旋波的动力学、以及磁系统与其他多物理系统之间的耦合,如微波腔自旋电子学(磁子和光子之间的耦合)和自旋力学(自旋波和弹性波之间的耦合)等。他提出并设计了新型自旋电子器件和基于磁性体系的非常规计算概念,例如基于磁系统的存算一体逻辑门和具备自主学习功能的类脑计算架构。他还开发了基于有限元方法的微磁仿真模块,具有与其他多物理场系统双向耦合的能力,有助于基础磁学的研究和新型自旋电子器件的设计。
你有没有思考过,冰淇淋、布丁和糖果外表鲜艳的黄色是如何制作的?维生素 B2 可以作为食品添加剂,为这些产品染色。在工业上,维生素 B2 主要是通过生物技术工艺生产的。我们日常生活中的许多产品都包含通过这种工艺生产的成分,包括生物乙醇(燃料)、柠檬酸(一种清洁剂)和维生素 C(一种食品添加剂)。我们通过包含各种生化反应的微生物的新陈代谢作用来生产出这些化合物。今天这篇博文,让我们看看如何通过仿真理解代谢途径的动力学机制。

一些糖果通过添加食品添加剂维生素 B2 获得鲜艳的黄色。图片由 Evan-Amos 提供—。通过Wikimedia Commons 获得许可(CC BY-SA 3.0)。
为了理解和优化生物技术过程和所涉及的微生物,系统生物学和代谢工程领域使用数学模型来研究这个系统。这些模型通常基于这样的假设:微生物细胞及其内部的耦合生化反应可以被看作是完美的混合系统。通常使用理想釜式反应器来研究这种系统。术语代谢反应网络 描述了具有多种耦合反应的生物化学反应系统。
在COMSOL Multiphysics® 软件的附加产品——化学反应工程模块中,反应工程接口提供了对理想釜式反应器建模的预定义功能。除了基于质量作用定律的化学动力学建模的预定义功能外,研究人员和工程师还可以利用基于方程建模的强大功能来定义自己的动力学表达式。完成定义后,具有化学、动力学和热力学的理想釜式反应的模型就可以自动生成具有物质传输和反应的全空间相关模型。
在这篇博文中,我们将使用反应工程 接口和基于方程的建模功能来建立酵母糖酵解代谢途径的模型,该代谢途径是活细胞的核心反应。这个模型可以帮助我们理解 Wolf 等在实验中观察到的波动的动力学及其含义(参考文献 1)。
糖酵解代谢途径是几乎所有生物体内的中心反应序列。这条途径将单糖,如葡萄糖,转化为代谢中间产物。在这个转换过程中,储存在糖中的能量被释放出来,并形成能量载体分子 ATP(三磷酸腺苷)和 NADH(还原型烟酰胺腺嘌呤二核苷)。这些高能量分子为细胞内的其他过程提供能量。此外,糖酵解产生的代谢中间产物被用于其他代谢途径,例如,合成细胞材料的结构单元,如脂肪酸或氨基酸。
考虑到这一点,很明显,糖酵解代谢途径与其他代谢途径相互关联,形成一个庞大的代谢反应网络。复杂的反应方案会产生非线性的系统动力学。
众所周知,在某些条件下,酵母的糖酵解代谢途径的代谢化合物的浓度会发生波动。这些波动可以在酵母细胞内和细胞间传播。研究人员 Wolf 等人对这种现象进行了调查,开发了一个酵母细胞中的糖酵解代谢途径的最小模型。该模型包括以下过程的集总反应。
这个最小模型反映了实验观察到的波动的本质。让我们看看这个模型是什么样的,以及做了哪些假设。
下面是所研究的代谢途径的基本反应方案,包括通量,如下所示。

厌氧糖酵解途径的基本反应方案。酶反应的缩写用方框标出。方案和缩写改编自 Wolf 等人。(参考文献 1)。
在所考虑的条件下,呼吸作用是不存在的,因此在反应方案中被忽略了。因此,乙醇是这里糖酵解的主要最终产品。葡萄糖通过细胞外通量()运输到细胞内。乙醇和甘油的浓度在模型中是固定的,因为假设细胞内和细胞外大池之间达到平衡。考虑的次要的通量是:
除了葡萄糖、乙醛和乙醇之外,细胞膜被认为对其他代谢物是不可渗透的。
此外,衍生的九变量代谢物模型如下所示。

九变量代谢物浓度模型的方案。方案和缩写改编自 Wolf 等人。(参考文献 1)。
在九变量模型中,大多数反应被假定为不可逆的。第一基础反应方案中所示的 GAPDH 和 PGK 的酶反应被合并为一个可逆反应 (),在九变模型方案中显示。
基于质量作用定律的速率表达式被用来描述所有酶反应。对于 HK-PFK 反应 (),考虑了调节特性。这意味着反应被 ATP (
) 所抑制。细胞内的腺嘌呤核苷酸 (
) 和 ATP (
),以及烟酰胺腺嘌呤二核苷酸 NAD+ (
) 和 NADH (
),被假设为常数。
在细胞内外完全混合溶液的假设下,Wolf等人(参考文献 1)使用微分代数方程(DAE)系统来描述该模型。关于初始条件、速率常数等更详细的信息可以在 Wolf 等人的论文中找到(参考文献 1)。
在 COMSOL Multiphysics 中,反应工程 接口是为上述系统创建模型的合适工具。只需输入最后一个反应方案中所述的反应,并主要使用预定义的质量作用定律动力学定义动力学,就可以轻松创建模型。这遵循了“所见即所得”的原则。

只需在反应工程接口中输入反应方案的反应,就可以快速定义模型的核心。
作为模型中手动定义的特殊速率表达式的示例, HK-PFK 反应(反应 1)的速率表达式如下所示:
(1)
(2)
这里,ATP 对酶反应的抑制 () 由
描述。我们将在下面看到如何在 COMSOL® 软件中实现这个过程。
最后,对于 COMSOL Multiphysics 模型,我们使用了完全混合间歇式反应器的预定义功能。乍一看,这似乎与反应方案及其通过细胞膜的通量是相反的。直观地说,我们想到了连续搅拌釜式反应器(CSTR)。然而,由于我们无法控制上述模型中的流出量,因此一个带有额外手动定义的通量来源的间歇式反应器模型 是合适的。
接下来,让我们看看模型的构建过程是如何在 COMSOL® 软件中完成的。
为了定义上述模型并计算瞬态代谢物浓度,我们可以使用反应工程 接口创建一个零维模型,并在 COMSOL Multiphysics 中使用瞬态研究。
在模型向导中,我们可以为空间维度选择 0D:

要为理想的间歇式反应器创建 COMSOL Multiphysics 模型,请为空间维度选择 0D。
在选择物理场步骤中,选择化学物质传递分支下的反应工程 接口:
在选择物理场步骤中选择反应工程接口。
在模型向导 的最后一步,为研究类型选择瞬态:
完成这些操作后,我们可以使用反应工程 接口下默认的间歇式反应器、定容的反应器类型。对于 ,下面将介绍如何用 “额外源 “来修改。
接下来,我们可以使用反应工程 选项卡下的 反应 功能来定义模型中考虑的每个反应。在反应公式 部分的公式 字段中,我们输入所考虑反应的化学计量。例如,为了定义不可逆反应的化学计量,我们可以使用 => 作为反应箭头。
如果需要一个用户定义的反应速率表达式,而不是典型的质量作用定律,我们在反应速率 部分选择 用户定义,然后输入相应的表达式。在这里,参数以及用户定义变量和内置变量都可以用来定义反应速率的表达式。通过使用反应 功能,COMSOL® 软件自动为参与定义反应的代谢物创建物种 节点。这意味着代谢物的平衡方程是自动生成的。
例如,为了定义方程1,我们使用反应工程 接口的内置浓度变量 re.c_S1 和 re.c_A3,分别用于代谢物 和
,k1 是参数 节点中的定义参数,f_A3 是方程2 在变量 节点中定义的变量。

使用工具栏中反应工程选项卡中的反应功能来定义模型的所有相关反应。化学计量在反应公式部分的公式输入字段中定义。在反应速率部分,我们可以选择用户定义来定义单个速率表达式。
接下来,使用 额外源 功能为代谢物平衡方程 添加源术语
。J0 是在参数节点中定义的参数。

引入在工具栏的全局部分中找到的额外源,将源项 J0 添加到代谢物的平衡方程中 。
为了建立由于氰化物 () 引起的乙醛的细胞外降解模型,我们在模型中引入了反应 10。在反应的产物侧,设置了一个随机系数
为 0,因为当我们想通过反应特征来定义一个反应时,需要说明一个产物。这完美地将速率表达式定义为与产物浓度无关。

通过反应特征,反应 10 的产物侧的随机系数 为 0,用于定义
。假设一个质量作用定律的动力学表达式,这就给出了一个与产物浓度无关的速率表达式,并再现了反应方案。
最后,通过应用 反应工程 接口的上述特征定义模型后,我们可以求解具有瞬态研究的模型。

求解时间依赖模型会产生 ATP 的有波动的代谢物浓度()和 NADH (
)。
上述仿真结果图再现了 Wolf 等人(参考文献 1)论文中图4 的结果。它们都得出代谢物浓度也有相同的波动。
在这篇博文中,我们展示了如何使用化学反应工程模块的反应工程 接口对微分方程和代数方程描述的代谢途径进行建模。对用户友好的图形界面中的预定义功能加速了这类任务的模型构建过程。此外,通过使用 COMSOL Multiphysics 基于方程的建模功能,我们可以创建独立的用户定义模型。此外,还可以通过这种方式对更复杂的反应系统进行建模和分析。
单击下面的按钮尝试模拟本文讨论的模型:
想阅读更多关于反应动力学建模的信息吗?请阅读这些博客文章:
在处理随空间变化的导入数据时,我们经常面临的挑战是:确定需要什么级别的网格细化才能准确解析输入数据,以及它将如何影响我们的多物理场问题的解决方案。对于这种情况,我们可以使用 COMSOL® 软件的“自适应网格细化”功能,根据模型结果细化网格。事实证明,我们还可以使用自适应网格细化功能,根据输入数据进行细化。下面,让我们了解更多详细内容!
考虑下面显示的问题,一块材料从上方加热,具有来自外部数据文件的空间变化热负荷,并且具有一些独特但非常不均匀的结构。

从外部数据文件中读取的非均匀外加热负荷的视图。
在 COMSOL Multiphysics® 软件中,我们可以简单地使用自适应网格细化来解决问题。COMSOL® 软件会根据用户的指定自动细化网格多次,从而提供更准确的问题解决方案。下面绘制了该算法的几次迭代。

结果显示了使用自适应网格细化时的网格(顶视图)。从均匀的网格开始,COMSOL 软件会调整单元大小,以准确解决由于空间变化所施加的热负荷而导致的解中的变化。这再现了所施加载荷的空间变化,但需要多次迭代才能使这种结构变得明显。
我们可以观察到的是自适应网格细化算法从默认网格开始,它不知道施加的热载荷的形状。只有在多次迭代之后,算法才真正开始很好地识别负载的分布,并且这些初始迭代存在一些计算开销。
如果有更好的方法呢?如果我们可以告诉软件我们想要从一个已经适应实验数据形状的网格开始呢?当然,我们仍然希望执行自适应网格细化,但我们希望从更合理的初始网格开始这个细化过程。
事实证明,通过仅对导入的数据实施亥姆霍兹滤波器(Helmholtz filter)并在其上调整网格就可以了,这很容易做到。我们已经在之前的博文中介绍了亥姆霍兹滤波器的概念和实现以及一些好处。现在让我们看看它的另一种功能。
我们可以在模型的顶面上实现一个亥姆霍兹滤波器方程,过滤器半径很小(认为这个半径类似于输入数据的空间分辨率)并在非常粗糙的网格上求解它,就在表面。亥姆霍兹滤波器方程本身是线性的,因此可以在任何网格上求解,自适应网格算法将能够识别该网格需要细化的位置。我们只需要对求解器和网格设置进行一些小的调整。

用于启动自适应网格细化的网格仅应用于零件的顶面。
在静止 步骤中,我们求解亥姆霍兹滤波器,只需要进行一项更改。必须修改用于自适应 的几何实体 选择,以便仅在定义过滤器的区域(在这种情况下,只是单个边界)上执行自适应。您还可以选择增加最大适应数并尝试适应方法,尤其是常规修改和重建网格选项。

定义边界自适应网格细化的设置。
所有其他设置都可以保留默认值。求解时,我们将获得一系列网格,这些网格仅根据边界上的过滤器解决方案进行调整,如下所示。解算器中可能会出现一些消息,表明体积内没有网格,但这是需要的:我们只想调整表面上的网格,而不是对体积进行任何重新划分网格。

自适应网格细化算法生成的前四个网格的序列。这些仅存在于顶部边界上。
接下来,我们要在用于解决传热问题的体积网格定义中使用一个适配的表面网格。我们需要做的就是添加另一个用户定义 类型的网格,并在其中添加一个参考 特征,紧跟在网格序列中始终存在的全局尺寸 特征之后。之后,我们添加了一个 Free Tetrahedral 特征,就有了一个完整的网格,它可以被用来解决传热问题。

根据先前自适应细化边界网格之一的结果构建新的体积网格。
事实上,从这个网格开始,我们甚至可以执行额外的网格细化。优点是我们已经开始使用非常适合所施加载荷的网格。因此,对于这个问题,我们不需要对热解进行非常多的自适应网格细化。

从基于输入数据细化的网格开始,我们不需要多次细化网格来获得对模型解决方案的信心。
我们可以在这里看到,在这种情况下有明显的计算优势。任何时候你正在读入空间变化相当大的实验数据时,研究这种技术都是值得的,因为它可以节省大量的计算工作。另一方面,如果数据相对平滑,没有急剧的过渡,那么就没有必要研究这种技术了。
还值得一提的是,在这种情况下,我们专注于二维平面,因此我们也可以使用将热分布视为图像文件的方法,并将该图像转换为一组曲线,可以在任何二维工作平面。但是,该方法仅适用于二维平面,而此处介绍的方法也适用于曲面甚至体积。
单击下面的按钮,访问与本文中讨论的模型示例相关联的文件:
您有没有遇到过想要将实验数据作为载荷或边界条件的情况?如果这些数据随空间或时间变化并且包含噪声,那么可能需要非常精细的网格,或者求解器可能需要非常短的时步。实际上,我们通常不希望或不需要这样做。一种可能的解决方案是,对输入数据进行过滤来使其更加平滑。接下来,让我们了解更多详细操作。
首先,假设一些输入数据样本,如下图所示。我们先不考虑数据代表什么,并假设横轴代表空间或时间。可以观察到,这些数据包含明显的噪声,并且具有明显的趋势。在模型中使用这些数据之前,我们想降低噪声。

包含明显噪声的数据样本。
在这里,我们可以使用一种被称为所亥姆霍兹滤波器(Helmholtz filter)。这种类型的滤波器是最近提出并被证明在拓扑优化领域非常有用。实际上,这个功能是COMSOL 优化模块的内置功能,但也可以手动实现,这也是我们将要介绍的内容。
亥姆霍兹滤波器可以简便地求解偏微分控制方程:
式中, 是输入数据,
是滤波后的数据。
方程中有一个参数 ,我们称之为滤波器半径。
除了控制方程外,还需要设置边界条件。我们将从齐次诺依曼条件(homogeneous Neumann condition)开始,即在边界处,场梯度为零。原因在后文进行了解释(为了保证过滤后的数据满足能量守恒)。我们将在一维组件中中通过系数形式偏微分方程 接口,使用基于方程的建模方法求解上述控制方程。
首先,我们将实验数据读入插值表格特征,如下面的屏幕截图所示。将外推设置为常数。我们很快会发现,由于亥姆霍兹滤波器中的边界条件,需要对插值函数做扩展,获得“缓冲区”,以使滤波后的数据更符合真实情况。
接下来,我们将 一维组件 引入模型并将 单位制 设置为 无。
然后,在 几何 中创建一个 间隔 特征,如下面的屏幕截图所示。注意为插值函数的扩展数据留出求解域。

软件正在定义应用滤波器的域。
针对单个未知数 u,我们现在将 系数形式偏微分方程 接口引入 组件 中,如下面的屏幕截图所示。保持离散化为默认的二次拉格朗日设置,并再次保持所有数据无量纲。

在 系数形式偏微分方程 特征的设置中,我们定义如下所示的设置。将扩散系数 设置为全局参数 FilterSize 的平方,将 吸收系数 设置为1。将实验数据作为源,并将所有其他项设置为零。
默认的边界条件 零通量 是所需的 齐次诺依曼 条件,在计算域的两端,将滤波后数据的导数固定为零,为滤波器引入末端效应,这就是向几何和数据引入额外填充区域的原因。
也可以使用 狄利克雷 边界条件,在边界处固定 u 的值。此外,还需要手动将网格大小设置为小于实验数据的分辨率。

使用基于方程的建模方法定义亥姆霍兹滤波器方程。
现在,我们可以求解不同过滤尺寸的过滤器并比较结果。如下所述,滤波器大小增大将导致平滑效果增强,随着滤波器半径增大,滤波后的数据逐渐接近原始数据的平均值。滤波器大小非常小时,几乎没有影响。
了解亥姆霍兹滤波器的这个关键特性很重要:只要使用齐次诺伊曼边界条件,它就能 保持能量守恒。这意味着原始数据和滤波后的数据在整个计算域上的积分是相同的。
然而,在两端没有缓冲区的子域上,上述并不完全正确。还需要注意的是,狄利克雷 边界条件不能实现能量守恒,因此应谨慎使用。

使用不同半径的滤波器滤波的数据示例。
现在,我们已经过滤了数据,接下来看看如何在模型中使用这些数据。以一个二维轴对称材料的瞬态加热为例,过滤后的数据将代表在暴露表面施加的热载荷。在我们的模型中,由于热模型将被用于不同的组件中,因此需要引入一种方法将数据从一维组件移动到时间维度,以便在二维轴对称组件中使用。这可以通过 广义拉伸算子 来实现,即将 t 的 x 表达式定义为一个目标映射。这项特征会将来自一维组件的数据映射或拉伸到时间轴上,并使其在整个模型中可用。

屏幕截图显示了广义拉伸算子的设置。
在二维轴对称组件的热模型中,我们可以施加一个热源,如下面的屏幕截图所示,热载荷为 comp1.genext1(u)[W/m^2]。请注意,我们为载荷添加了单位,因为 u 是无量纲的。

将 组件1 中定义的滤波数据调用到组件2 中的热模型中。
我们可以将研究分为两个步骤。第一个步骤为求解过滤方程的 稳态 步骤;第二步为求解热问题的 瞬态 步骤。我们将求解更严格的相对容差1e-4,并以求解器采用的所有时步输出结果,如COMSOL 知识库所述。
还需要注意的是,如果数据在没有噪声的情况下具有明显的、剧烈的幅度变化,则应改用事件接口通告求解器。
求解不同的滤波半径值,并绘制域内峰值温度随时间的变化图,我们可以看到滤波对传热问题求解的影响。对于这个示例,峰值温度随时间的变化较小。


热模型的结果绘图,使用不同的滤波半径滤波后的数据作为热源。
是否使用滤波器的最大的差异在于求解时间不同。求解没有过滤的模型共需要约 700 个自适应时步,而以中等滤波器大小求解模型需要约 130 个时步,求解效率提高了5倍以上!
在今天的博客中,我们展示了如何基于附加组件和滤波方程对输入模型的数据使用亥姆霍兹滤波器。我们不仅可以对一维数据,还可以对二维或三维数据进行过滤,并且可以对任意几何形状和任意密度的输入数据进行处理。特别是在二维或三维中,该方法将优于大多数其他滤波技术,因为它利用了有限元基函数的局部紧凑支撑性,并允许非均匀空间网格离散化,从而获得可以高效求解的稀疏线性矩阵。

通过亥姆霍兹滤波器在任意表面上进行空间过滤。过滤后的数据用较粗的网格就可以很好地求解。
上图示例展示了任意表面上未过滤和过滤后的场分布,直观地呈现了二维平滑处理。请注意,对数据进行过滤意味着使用此数据的模型可以在相对较粗的网格上求解,这为我们带来了额外的计算优势。事实证明,我们甚至可以使用这个亥姆霍兹滤波器来设计一种网格,使其可以很好地满足输入数据的变化,这将是另一个话题了,欢迎继续关注我们的博客!
与点击下方按钮,下载与这些方法相关的文件,尝试自己动手建模:
今天,我们将在 COMSOL Multiphysics® 软件的模型中引入一个目标搜索方程,该方程与全耦合方法结合使用可以求解非线性问题。在计算上,尽管这种方法比我们之前介绍的分离式求解方法成本更高,但其在鲁棒性方面却具有一些独特的优势,并能够突显 COMSOL® 软件的一个核心优势。
正如之前的博客文章(在将目标搜索的方法引入分离式求解器)中所讨论的那样,我们可以使用一个额外的全局方程扩展多物理场模型,在该方程中,我们能够定义如何更新模型的输入来实现特定的输出。这种方法通过分离式求解的方法,依次解决问题(所有各种物理场问题)的一部分,然后通过全局方程来更新输入。
尽管这种方法在计算上非常有效,但是由于使用了分离式求解器,它依赖于临时更新方程,因此使用该方程需要对问题的底层物理知识有所了解。
这篇博文中,我们将介绍另一种替代方法。在该方法中,我们基于一个使软件计算符号导数的方程来更新输入。这种方法可能更加鲁棒和通用,但确实会带来计算成本。下面,我们先来看一下如何实现此方法,再说明其优缺点。
这里,我们仍以之前使用的同一示例模型来说明。即将两个电极施加到一个带有夹层的介质上的焦耳热问题。材料的电导率和热导率随温度呈非线性变化。我们模型的目标是调整顶部电极和接地电极之间的电势差,以使夹层的电流损耗为3瓦。
就像在我们之前的博客文章介绍的一样,这可以通过全局方程 来实现,尽管这一次,我们在物理场的影响范围内添加了一个额外的全局方程。但是,对于前一种方法,此额外方程在单独的分离式求解器迭代中使用临时缩放来更新施加的电势。在这篇文章介绍的方法中,当与受影响的物理场同时求解时,我们将使用一个对雅可比矩阵有贡献项的方程。

在物理场接口内引入全局方程。
下面,我们修改之前的示例并进行演示。我们仍然需要为施加的电势引入一个全局方程 V_applied,但是现在我们需要一个满足电势方程且同时求解的方程。为此,我们在电流 物理场中添加了 全局方程 特征。注意,我们输入的残差方程在解点必须等于零。我们输入的方程是:
intop(ec.Qrh)/ 3 [W] – 1
其中,intop() 是一个在夹层中定义的积分算子。稍后我们将看到该方程的无量纲化的一些优势。方程重新排列后等效于:
intop(ec.Qrh)= 3 [W]
这可以理解为:计算 V_applied 的值以使夹层中的损耗等于 3 瓦。我们还可以写出该残差方程表示的内容:
在计算雅可比贡献时,对于模型中的所有未知数,我们采用其符号导数。通过检查,我们可以看到:
而关于电势的其他两个导数 ,以及温度场
,将为非零。这意味着全局方程在 Jacobian 对角线处引入零,但在相应行中引入了许多非零项。这影响了我们必须在非线性迭代中使用的线性系统求解器的类型。
这些附加项才是真正有趣和有用的贡献。这些项告诉非线性求解器如何更新 V_applied,以使我们的全局方程等于零。也就是说,软件会自动找出 V_applied(全局方程)要更新的内容。(回想一下以前的方法,我们必须根据一些物理知识来构建自己的更新方程。)
但是,这些附加项会产生计算成本。它们确实要求我们同时求解全局方程和电势方程,并且由于它们同时引入了非对角项和对角线为零,因此它们要求全耦合方法在求解电势场和全局方程时,使用直接线性求解器。此外,以上所示的导数在初始条件下必须为非零,否则雅可比行的整个行将为零。在这种情况下,这有点不太容易实现,因为在指定的初始值处电势必须存在非零梯度。
有两种方法可以在电势中引入非零梯度。最简单的方法是在电流物理场中指定一个空间变化的初始条件,如下面的屏幕快照所示。这很容易做到,至少在这种情况下,但是可能并不总是有效,因为我们确实引入了非物理的初始值。

将初始值引入电流物理场将导致电势场的非零梯度。
一个更好的方法是引入一个全局方程 变量 V_applied 来求解方程:
V_applied / 1 [V] – 1
该方程简单地设置 V_applied 等于 1[V],然后软件将求解方程组并计算一致的电势场。请注意,这就是为什么使用无量纲的残差方程会有所帮助的原因。如下面的屏幕快照所示。

引入一个额外的全局方程以查找初始值。
一旦我们求解了这个固定值 V_applied,并切换回使用原始的全局方程,就可以将该问题的解用作初始值。在 COMSOL 软件中,这可以通过修改研究步骤的模型配置 复选框,然后在两个研究步骤 中启用/禁用两个不同的全局方程来实现。也就是说,在第一个研究步骤中,我们只需指定 V_applied,然后在第二个步骤中求解 V_applied,以使夹层中存在所需的损耗,如下面的屏幕快照所示。

修改第一步研究的模型配置,其中求解初始值的全局方程。在第二步中,应用相反的设置。
第二步确实需要调整默认求解器设置。我们有两种选择:

全局方程和电势必须同时使用直接求解器求解。
建议从第一种方法开始,如果内存要求太高,则尝试第二种方法。请注意,对于三维模型,直接求解器的内存需求随着问题的大小而迅速增加,这是主要的限制。
今天我们介绍的是一种可用于解决 GUI 中搜索目标问题而无需依靠任何编程的方法。在之前的文章中我们还讨论了解决此类问题的其他方法:
尽管需要更高的内存,但今天介绍的全耦合目标搜索法的显著优点是它可以快速而稳定地收敛。注意,该技术也可以在时域中使用,只要可以在每个时间步上满足全局方程即可。
这种强大而快速的收敛是雅可比矩阵内附加项的结果,并突显了 COMSOL Multiphysics 在解决高度非线性耦合的多物理场问题上的另一项技术优势。这项技术以及前面讨论的技术,对于分析师而言,都是一种很有用的工具。