用用户定义的耦合手动定义多物理模型


在comsol多物理学中®,您可以在物理界面之间手动管理耦合,该物理接口没有耦合功能。我们将其称为使用用户定义的耦合的手动方法。在这里,我们讨论了如何通过模型中物理现象的结合来实现该方法。该方法需要比实施更多的努力带有预定义联轴方法的手册并完全对比自动方法,它提供了几乎完全自动化的实现。

何时将手动方法与用户定义的耦合使用

当没有其他预定义的选项来定义模型中的多物理耦合时,软件中有功能可以为您提供手动实现自定义多物理耦合的灵活性。这是通过用户定义的变量,表达式,方程式或函数来完成的,以促进不同的物理接口。我们将这种多物理建模方法称为具有用户定义的耦合方法的手册,因为它涉及手动管理物理接口之间的耦合和相互作用。

Comsol多物理学中的模型构建器,模型树显示了所选的压力条件,设置窗口显示了压力条件设置,图形窗口显示了模型几何形状。 Comsol多物理学中的模型构建器,模型树显示了所选的压力条件,设置窗口显示了压力条件设置,图形窗口显示了模型几何形状。
压力条件在里面探针管麦克风教程模型,用于手动耦合模型中的1D(管道)和3D(外部)域。

comsol多物理学中的模型构建器,模型树显示了压力声学,选择的瞬态条件,设置窗口显示压力声音,瞬态条件设置和图形窗口,显示了模型几何形状。 comsol多物理学中的模型构建器,模型树显示了压力声学,选择的瞬态条件,设置窗口显示压力声音,瞬态条件设置和图形窗口,显示了模型几何形状。
压力声学,瞬态界面探针管麦克风教程模型,其中因变量,P2,,,, 用于手动将其搭配到管道声学,瞬态通过a接口压力条件(如先前的屏幕截图中所示)。

对于如何实现定义多物理模型,这种方法是广泛而广泛的。没有标准可以决定它应该如何或可以实现,因为它会根据所建模而有所不同。一些示例包括使用表达式制作另一物理界面的因变量的材料属性或边界条件函数。

Piezoelectric MEMS扬声器模型的模型树,其中选择了边界负载选项及其右侧的设置窗口。
在里面压电MEMS扬声器教程模型,一个边界负载用于手动搭配固体力学接口和压力声学,频域界面。但是,这也可以作为声学模块中的预定义多物理耦合。

在选择的压力声学节点下,具有方程视图选项的模型树的屏幕截图,右侧显示了变量列表。 在选择的压力声学节点下,具有方程视图选项的模型树的屏幕截图,右侧显示了变量列表。
方程视图为了压力声学节点,该节点在另一个物理接口(如上一个屏幕截图中所示)中用于边界条件,以便手动对两个物理接口进行求助。

由于这种方法要求您详细了解方程式公式,并且必须手动输入方程式贡献,因此它是最容易出错的,通常也是定义多物理模型的最费力的方式。这就是为什么我们建议利用全自动方法或者手动方法与预定义联轴器只要有可能。但是,即使是手动方法也很容易使用,并可以完全控制模型定义。尽管容易获得预定义的多物理接口和耦合,但用户定义的耦合通常用于教学中,以向学生展示如何手动描述不同物理现象的不同方程式。优势是您具有预定义的多物理耦合作为参考。但是在大多数情况下,当没有预定义的多物理耦合时,使用手动,用户定义的耦合。下面讨论了有关如何实施手动多物理耦合的一些准则和建议。

实施该方法的程序

如前所述,可以使用用户定义的耦合的手动方法可以通过各种不同的方式实现。尽管没有明确的步骤顺序必须遵循,但使用该方法的一般过程如下:

  1. 添加物理界面
  2. 定义物理设置(材料属性,边界条件,初始条件等)
  3. 每个后续物理接口重复步骤1和2
  4. 定义多物理耦合

如前所述,由于这种方法最容易出现错误,因此在计算模型后始终检查结果很重要。您会注意到,定义物理设置分为两个部分:定义每个物理接口,然后定义多物理耦合。每个物理接口都定义其因变量和一组派生变量。因变量可能是温度变量。派生变量可能是热通量矢量的组件,该变量是使用温度变量定义的。在温度下求解传热方程,而热通量组件可用于制定这些方程,或在溶液中获得温度场时生成流线和箭头图。

您可以通过创建自己的因变量的派生变量来定义多物理耦合。您还可以在任何物理设置的编辑字段中直接输入因变量的表达式。但是,创建自己的变量是管理多物理耦合的好方法。例如,您可以在取决于电场的传热模型中为热源创建一个导出变量。你可以在定义通过添加一个节点多变的。然后,您可以在热传输设置中的热源编辑字段中输入热源导出的变量。派生变量可以是任何因变量及其导数的任意表达。定义变量后,您可以使用它来描述物理界面中的源,材料属性,磁通,力,边界条件,初始条件或任何其他输入。您可以简单地输入包含因变量的因变量,衍生变量的派生词以及输入编辑字段中任何物理设置中的任何物理设置中的派生变量的表达式。

comsol多物理在内部定义和使用的派生变量®可以在UI中直接检查和更改。通过点击显示更多选项在里面模型构建器工具栏并选择方程视图复选框在对话框中,物理界面中每个节点定义的所有变量和方程式贡献变得可见且可编辑。

“等式”视图节点的屏幕截图在显示更多选项对话框中。
启用显示方程视图单击相应的复选框中的模型树中的节点。

这意味着您可以直接更改或添加术语到已预定义的派生变量。例如,假设您想向已经定义的热源添加贡献。然后,您可以在方程视图节点设置并添加贡献,例如,这可能是电势的表达。在编辑字段中方程视图,您可以输入因变量的任何表达式,因变量的导数以及其他派生变量。

下面,我们显示如何使用派生变量和方程视图节点设置以定义多物理耦合。

演练示例:建模电阻加热和热膨胀

类似于讨论定义多物理模型的其他方法的其他文章,让我们使用热显微驾驶员教程模型为了展示我们将如何手动定义多物理效果。同样,与其他文章类似,假定有关模型设置的所有详细信息,除了物理学外,都已完成。在学习中心文章中描述了该设备及其操作中涉及的物理的详细概述,介绍了全自动方法。

注意:对于这种物理现象的组合,预定义的多物理界面,焦耳加热和热膨胀多物理接口,可用于使用,这是我们将其添加到模型而不是使用此方法的内容。我们建议使用预定义的耦合方法采用全自动或手册,尽可能地定义模型中的多物理,因为具有用户定义的耦合方法的手册需要完全手动实现。以下演练仅用于演示目的。

按照我们上面列出的实施此方法的过程将导致我们首先添加,然后定义模型电气部分的物理设置,然后是模型的热部分,最后是模型的结构部分。因此,已经定义了物理设置,以省略所有后续物理界面的所有多物理效应:电流,,,,固体中的传热, 和固体力学, 分别。请注意,物理设置可以按任何顺序定义。

comsol多物理中的模型构建器的屏幕截图,并选择了电流接口。
迄今为止,用于热微导驱器教程模型的模型树,尚未考虑多物理效应。

在定义每个物理接口的设置后,我们需要确定如何定义物理接口之间的耦合。考虑物理现象如何相互作用。一种物理现象是否是对另一种物理现象的因果或促进的原因?我们应该允许多物理现象自然决定在哪里如何我们在模型中定义了多物理效应。

焦耳加热

由于电加热是热源,因此定义效果是合乎逻辑的固体中的传热界面并使用是电场和电导率函数的表达式。我们还知道,在这种情况下,热源可能存在于模型域中的任何地方。因此,我们可以选择物理功能区标签,而固体中的传热选择接口,并找到热源功能下的功能菜单以创建多物理耦合。

模型树的屏幕截图,其中选择了热源节点并打开设置窗口。
热源节点。

我们想定位电损耗,并将它们作为热传递方程(温度方程式)中的热源添加。因此,现在我们需要使用描述该数量的表达式。我们可以手动定义它,因为我们知道电加热是当前密度向量和电场的标量产品,。但是,在这种情况下,这已经在comsol Multiphysics中预定了®。我们可以在当前的保护节点并启用显示方程视图访问该物理节点使用的所有变量和表达式的节点。在那里,我们会找到变量ec.qrh,描述了域中的电加热。我们可以看到如何定义此派生变量。正如我们预期的那样,它是由当前密度矢量的标量产物形成的和电场矢量,也定义为派生变量。此处的因变量是电势V和当前密度向量的派生变量,电场在其定义中使用此变量(实际上是电势的梯度)。以与{:comsolmph内部定义其派生变量相同的方式,我们还可以使用此语法来创建我们自己的派生变量(如果需要)。我们还可以编辑由{:comsolmph在相应的编辑字段中定义的派生变量。在这种情况下,我们的电加热术语已被定义为派生变量。我们可以将此变量用作表达式的表达式热源域节点。

可以避免所有这些步骤,因为电加热是预定义的,并且可以通过多物理节点自动添加。但是,如果没有预定义的耦合,则将使用上面概述的策略。

模型构建器的屏幕截图,左侧的模型树显示了当前保护节点下选择的方程视图节点,右侧的设置窗口。 模型构建器的屏幕截图,左侧的模型树显示了当前保护节点下选择的方程视图节点,右侧的设置窗口。
方程视图节点当前的保护节点。变量ec.qrh用于将电加热作为建模域中的热源引入,即,将电势方程与温度方程式相结合。

模型树中热源域特征的屏幕截图,其设置窗口选项以及域的选择,材料类型和热源部分扩展了。
热源域功能具有更新的设置,用于所应用的值。

热膨胀

接下来,我们需要定义伴侣的热膨胀固体力学固体中的传热接口。由于热膨胀为应变张量提供了贡献,因此我们需要定位应变张量固体力学接口并添加热应变的表达式。在这种情况下,我们需要在其中一个方程视图子节点结构力学界面。我们可以通过使用查找工具通过按下ctrl-f并进入应变张量在搜索对话框中。这查找结果然后在下面的窗口中更新表图形窗户。双击在该应变张量组件之一上列出的应变张量组件查找结果桌子把我们带到了正确的方程视图节点。对于我们正在建模的设备,相关的方程视图是子节点线性弹性材料节点。我们可以添加热应变贡献作为温度的表达,t,在各自的应变张量成分中。

注意:您还可以通过添加该模型的物理学来对热膨胀作为一个子节点线性弹性材料节点。但是,我们将忽略该功能可用于此演示的目的,以使用用户定义的耦合实现手动方法。

在模型树中选择的固体接口中传热传递的屏幕截图,右侧打开了设置窗口。
因变量,T_,用于固体中的热传递界面,我们可以将其整合到用于该的表达式中固体力学界面。

启用方程视图允许我们访问所有变量和用于线性弹性材料节点。在这里,我们可以修改方程,以定义应变和温度之间的任何耦合。

在模型树中选择的线性弹性材料节点的方程视图子节点的屏幕截图,设置窗口在右侧打开。 在模型树中选择的线性弹性材料节点的方程视图子节点的屏幕截图,设置窗口在右侧打开。
方程视图子节点设置窗口,其中在表中选择了变量和将要修改的各个表达式,并以蓝色突出显示。

我们要修改变量的应变定义solid.exx,,,,固体, 和固体使用方程进行热应变,

在哪里α是材料的热膨胀系数,t温度场和t0是应变参考温度。值的值αt0由参数已知和定义字母T0, 分别。我们可以在下面的屏幕截图中添加应变张量组件的贡献。请注意,对于热膨胀的这种表达仅适用于相对较小的变形,我们可以假设我们在情况下具有。

方程视图子节点的设置窗口的屏幕截图,其中显示了列表中不同变量的警告图标。 方程视图子节点的设置窗口的屏幕截图,其中显示了列表中不同变量的警告图标。
方程视图子节点的子节点线性弹性材料节点。已编辑了用警告图标突出显示的变量的表达式,以说明热应变。

要看到该方法用于建模物理学组合,您可以观看下面的视频以进行完整的演示。

教程视频:使用用户定义耦合的手动方法定义多物理模型

建模练习

通过下面列出的后续建模练习将其付诸实践来证明您从本文中获得的知识。为每个建模练习提供的指示包含完成它所需的所有信息,但有意概括以鼓励自我引入问题解决问题。您可以通过手动比较它们或使用的解决方案模型文件来检查实现的实现。比较工具准确识别差异。

  1. 以前,您使用全自动方法和使用预定义联轴器的手动方法构建了母线教程模型。现在,将手动方法与用户定义的耦合使用手动方法来定义该模型的物理。跟着方向提供的定义物理设置。几何形状可下载:Busbar.mphbin
  2. 以前,您使用全自动方法和使用预定义联轴器的手动方法构建了自由对流教程模型。现在,将手动方法与用户定义的耦合使用手动方法来定义该模型的物理。跟着方向定义物理设置。几何形状可下载:free_convection.mphbin
  3. 以前,您使用带有预定义联轴器的手动方法对母线教程模型进行了对流冷却。现在,遵循方向提供的用于使用用户定义的耦合的手动方法来定义模型的物理。几何形状可下载:busbar_box.mphbin

提交有关此页面的反馈或联系支持