学习中心

Course:

Modeling with Partial Differential Equations in COMSOL Multiphysics

使用偏微分方程(PDE)接口建模:使用标量方程的弱形式


本文为 “使用偏微分方程(PDE)接口建模系列” 课程的第 10 部分,将介绍如何在 COMSOL Multiphysics® 中使用弱形式设置偏微分方程。为此,我们将对使用内置物理场接口和 弱形式偏微分方程 接口定义的用户定义方程进行比较。首先,我们将介绍如何使用 弱形式偏微分方程 接口和 test 算子实现静电和电流方程。在该系列课程的下一部分,我们将深入探讨结构力学和平面应力。

最小化静电能量

偏微分方程的弱形式可能看起来有点神秘,因此让我们首先从静电角度出发,了解一些理论背景。

在 COMSOL Multiphysics® 中求解静电方程时,我们常常应用以下形式的高斯定律:

以及一组合适的边界条件,例如给定的表面电荷密度。在一部分边界,我们施加诺伊曼边界条件:

在另一部分边界,我们应用狄利克雷边界条件表示固定的电势:

处理静电问题的另一种方法是,在域 上将其视为最小化静电能量的问题:

其中, 为电场, 为电位移场。在此,我们只考虑线性各向同性材料。材料系数 是介电常数,简单来说,就是它告诉了我们材料储存电能的能力,从而向我们说明材料在电容器中用作电介质的合适程度。为了直观地理解这个最小化问题的含义,你可以想象一个电介质,或者等同于一个在边界上放置各种金属电极的绝缘域。大多数情况下(但并非所有情况都是如此),最小化静电问题可以理解为金属电极表面电荷进行重新分布,使得静电能量最小化。

将上述能量最小化,并在方程中加入另一个边界项,最终就能得到弱形式。首先,让我们回顾一下在优化问题中寻找稳定点的一些知识。

对于传统的实值平滑函数 ,我们知道,只要将一阶导数设为零,就能找到稳定点,即局部最大值或最小值的候选点:

但要注意的是,如果我们所考虑的域内部没有常规稳定点,则可能不存在这些点。

我们还知道,通过检查二阶和高阶导数,还可以获得有关该点是最大值、最小值还是鞍点的信息。

我们也可以通过使用一个小扰动 ,从函数在 附近的泰勒展开式的角度来理解这一点:

当数列的第二项为零时,这个函数就有一个稳定点,或者:

同样,我们可以在电势 中使用一个微小扰动,通过变分法理论扩展静电能量的表达式

进一步观察,这个表达式与传统函数 的泰勒展开式截然不同。 不是实值函数,而是 “函数的函数”,也称为 泛函。在这个示例中,函数 是电势,我们假定它是一个在整个域 中变化的场。

从这一点出发,我们还需要记住边界条件:

其中,仍需满足最小化问题的解 。不过,我们还要求选择扰动函数 以使这些边界条件也满足扰动函数 ,其中 被称为在边界条件上属于一类可接受的函数。

现在,如果我们扩展 ,将得到:

或写成下式:

其中 代表 中的二阶项。此外,由于是可接受的扰动,我们可以假设:

现在,类似于

稳定条件来自 中的一阶项。

我们可以将其展开为:

并定义一阶变分为

只保留线性项,得到

它被称为 的一阶变分。

然而,这并不是我们需要最小化的完整表达式或函数。为了得到物理上相关的结果,我们还需要在能量表达式中加入边界表面电荷的影响。如果把边界电荷计算在内,就能得到以下更通用的能量势表达式:

其中 

是表面电荷。

我们可以得到边界项的变分:

这就引出了存在表面电荷的情况下,一阶变分静定的更通用条件:

请注意,能量势表达式有时被称为狄利克雷能量,最小化方法被称为 狄利克雷原理

推导高斯定律

这个一阶变分方程与高斯定律 有什么关系?

为了找出答案,我们将方程稍作重新排列,从下列等式开始

为了使这个等式更加清晰,我们将设定

得到

现在,让我们进行分部积分:

其中 为计算域, 为边界。

这个分部积分表达式应与下面微积分形式的分部积分进行比较:

了解更多信息,请参见 https://en.wikipedia.org/wiki/Integration_by_parts

检查边界积分项

我们可以得出结论,即可以使用诺伊曼边界条件:

这样,我们就得到了

由于这个表达式需要对所有可接受的扰动函数有效,唯一可能的结论就是下式成立,

这样,我们就从最小化静电能量出发,得出了高斯定律。

从上面的推导中可以看出,诺伊曼边界条件很自然地出现在方程中。

那么,部分边界上有狄利克雷条件 又会是什么情况呢?

我们可以通过添加虚拟表面电荷(虚拟通量),在适用的边界上处理这类边界条件:

这里,我们调整虚拟表面电荷,一般来说,虚拟表面电荷在边界上是空间变化的,因此我们得到

在实际应用中,我们可以通过拉格朗日乘数等方法应用这种虚拟表面电荷。有关拉格朗日乘数的更多信息,请参阅 COMSOL 文档和博客:强制约束中数值问题的处理方法

偏微分方程的弱形式

在处理一般形式的偏微分方程时,使用变分法最小化能量的方法是行不通的,因为一个偏微分方程可能对应的不是能量最小值,而是一个鞍点。接下来,我们重点讨论推导的最后一步:

并概括出这一表达式需要对所有可接受的扰动函数 有效。

现在,让我们看看如何从高斯定律等偏微分方程开始,推导出它的弱形式。这个过程可以推广到各种各样的偏微分方程和偏微分方程组。

从高斯定律偏微分方程开始:

具有诺伊曼边界条件

我们将偏微分方程与一个可接受的函数 (从现在起称为 试函数)相乘,并对域进行积分:

稍后,我们将看到如何使用专用 test 算子在基于方程的用户接口中引入试函数。

接下来,进行分部积分,利用边界条件得到高斯定律的弱形式:

请注意,这只是之前推导的回顾。

与偏微分方程的原始强形式相比,使用弱形式有哪些好处?

其中一个优点与导数阶数有关。在使用有限元法进行计算时,解是通过分段多项式函数逼近的。通过使用分部积分法,我们降低了方程中导数的阶数。原始方程在空间有二阶导数,而弱形式只有一阶导数。由于这个特征,我们能够使用低阶多项式,而如果直接根据偏微分方程的强形式执行求解方法,则无法使用低阶多项式。这样一来,可以让我们更轻松、更高效地实施。

另一个好处是,弱形式偏微分方程是在积分意义上定义,而不是逐点定义。方程

即使存在不连续性,也能在数学上以连续的方式使其有效,例如,材料系数 或边界条件上发生突变。即使解本身存在这种不连续性,方程的弱形式仍然有效。

弱形式的解也称为 弱解,与原偏微分方程的强解相对。或者,我们也可以说弱解是存在的。为了模拟真实的情景,允许不连续会非常重要。弱方程形式弱解 的概念可以用数学方法精确表示,点击这里提供的两个链接可以了解更多有关它们的信息。

基于这些原理,COMSOL Multiphysics® 将自动使用 系数形式偏微分方程一般形式偏微分方程 接口将任何方程转换为偏微分方程的弱形式。通过 弱形式偏微分方程 接口,您可以直接在弱形式上输入方程,非常方便。许多内置的物理场接口也是基于弱形式的,您甚至可以检查和修改这些接口;更多信息请参见本系列课程的 第 11 部分

弱形式的电流偏微分方程

电流守恒的偏微分方程类似于静电偏微分方程:

这里,材料系数是电导率 。右侧源项 ,表示来自外部源(如电化学反应)的注入电流密度。

需要被最小化的相应能量函数是

在此方程中, 是电场, 是域中的电流密度, 是流经边界的电流密度。这个表达式与静电情况下的能量表达式基本相同。

请注意,由于电流方程表示的是稳态偏微分方程,因此只需乘以任意时间间隔,即可将总功率损耗转换为总能量损耗。在国际单位制中,这相当于将瓦特转换为焦耳。

对于给定的电流密度,电流偏微分方程有一套相关的边界条件 ,在部分边界满足诺伊曼边界条件:

还有一个固定的电势 ,作为其他部分边界的狄利克雷边界条件:

该偏微分方程的相应弱形式为

请注意,在分部积分步骤中源项不会改变。

按照惯例,弱形式偏微分方程 接口假定方程都移到了右侧,因此我们需要的方程是:

同样,您也可以使用弱形式偏微分方程实现任何形式的泊松方程或类似扩散的守恒定律。事实上,使用系数形式偏微分方程或弱形式偏微分方程可以实现任何方程,一般形式偏微分方程也是如此。

点电荷和点源

能够使用弱形式描述和求解方程,我们就可以处理点电荷或更广义的点源。例如,我们有一个符合高斯定律的点电荷:

其中, 是为原点施加了单位电荷的狄拉克 δ 函数。请注意,δ 函数与前面变分微积分推导中使用的类似符号无关。这个偏微分方程在通常的强意义上没有任何解,但在弱意义上是完全合理的。更一般地说,我们可以写成

其中, 是原点的电荷量。

当将其表述为一个弱方程时,我们得到

最后一项为原点分配了一个单位电荷。我们也可以把它写成

其中, 是试函数在原点的值。

有关示例,请参阅 点源实现 案例模型。

使用弱形式实现电流方程

现在,我们来看看如何使用 弱形式偏微分方程 接口来实现内置 电流 接口的方程。

在本例中,我们将从 COMSOL 案例库中复现 起搏器电极 模型(如下图所示)。在这个示例中,您还可以找到完全从零开始构建该模型的文档,包括分步操作说明。

The Application Libraries window with the pacemaker electrode tutorial model selected and the corresponding information window.
选择了起搏器电极教程模型的案例库。

在模型向导中,选择 弱形式偏微分方程 接口,将 场名称因变量 名称改为 V,然后更改单位。对于单位,分别为自变量 V 选择电势 (V) 和为 源项量 输入自定义单位 A/m3

The Select Physics with the Weak Form PDE interface selected and the corresponding Review Physics Interface window.
模型向导中的物理场设置,用于使用 弱形式偏微分方程 接口实现电流方程。

在本示例中,选择稳态研究,然后点击 此处 下载模型几何后将其导入。

The Model Builder with Import feature selected, the corresponding Settings window, and the Graphics window showing the pacemaker electrode geometry. The Model Builder with Import feature selected, the corresponding Settings window, and the Graphics window showing the pacemaker electrode geometry. 导入的起搏器电极的几何结构。


我们想要实现的弱形式方程是

在这个例子中,我们没有源项,因此

如何在用户接口中输入弱形式?我们可以使用 test 算子。例如,如果因变量是 V,那么相应试函数的语法就是 test(V)。在用户接口中,您可以在单独的文本框中输入边界和域的积分。

从域积分开始

使用 test 算子,您可以在用户界面中输入域积分:

(-(test(Vx)*Vx+test(Vy)*Vy+test(Vz)*Vz))*sigma

其中,test(Vx)test(Vy),和 test(Vy) 是试函数 的梯度分量。在本系列课程的第 11 部分,我们将进一步了解 test 算子。 下图显示了在 弱形式偏微分方程 接口中的弱表达式。

The Model Builder with the Weak Form PDE interface selected and the corresponding Settings window.

起搏器电极示例的弱形式表达式。

如下图所示,材料属性 sigma 被定义为全局参数。

The Model Builder with the Parameters node selected and the corresponding Settings window showing the Parameters table.

电导率的材料属性。

对于边界条件,我们在 4 个表面上设置了 狄利克雷边界条件 ,如下图所示。这与电流内置物理场接口(电流 接口)中的 接地 边界条件相对应。

The Model Builder with the Dirichlet Boundary Condition selected, the corresponding settings, and the Graphics window showing a close-up of the model. The Model Builder with the Dirichlet Boundary Condition selected, the corresponding settings, and the Graphics window showing a close-up of the model. 边界条件设置为接地。


如下图所示,我们将在电极顶端的 4 个表面上添加另一个 狄利克雷边界条件 。这与预定义电流物理场接口中的 电势 边界条件相对应。

The Model Builder with a second Dirichlet Boundary Condition selected, the corresponding Settings window showing the prescribed value of V, and the Graphics window showing the tip of the model. The Model Builder with a second Dirichlet Boundary Condition selected, the corresponding Settings window showing the prescribed value of V, and the Graphics window showing the tip of the model. 添加了外加电势的边界条件。


在本例中,我们不会使用其他类型的边界条件。不过,如果您还想设置表面电荷密度,可以使用 通量/源 边界条件来设置。

计算求解后,您会得到因变量 V 的默认曲线图,如下图所示。

The Model Builder with a slice plot selected, the corresponding Settings window, and the Graphics window showing the model in the Rainbow color table, where the model is mostly blue and green. The Model Builder with a slice plot selected, the corresponding Settings window, and the Graphics window showing the model in the Rainbow color table, where the model is mostly blue and green. 电势的可视化切面图。


与本课程之前的示例一样,您现在可以自己动手尝试为电场分量、电流密度分量等量定义变量。

进一步学习

文中介绍的示例模型均可下载,不过我们建议您按照本文的指导从头开始构建模型,然后可以打开使用 弱形式偏微分方程 接口构建的模型和使用案例库中的软件预定义物理场接口构建的模型的模型文件,并进行比较。这将加强您练习如何在 COMSOL Multiphysics® 中使用弱形式设置偏微分方程。

此外,COMSOL 博客中有多篇文章讨论了弱形式方程的概念,如何在软件中实现,以及弱形式方程的离散化等问题,欢迎阅读:


请提交与此页面相关的反馈,或点击此处联系技术支持