除了通用的固体力学接口外,结构力学模块还包括专门用于薄结构建模的壳、板和膜接口;用于细长结构建模的梁和桁架接口。通过将这些物理场接口相互耦合,我们能够对由薄且细长的实体组件组成的工程结构进行建模。这篇博客,我们将使用 COMSOL 案例库中的几个示例模型来探讨结构力学接口中不同接口的耦合功能。
结构力学模块接口
首先,让我们来了解结构力学模块中包含的一些接口。下表列出了结构力学模块中的接口、空间维度、几何实体以及它们所适用的结构类型。
接口 | 空间维度 | 几何实体 | 结构类型 |
---|---|---|---|
固体力学 | 3D,2D,2D 轴对称性 | 域 | 任何结构 |
壳 | 3D | 边界 | 具有明显弯曲刚度的扁平或弯曲的薄型结构 |
板 | 2D | 域 | 具有明显弯曲刚度的薄型平面结构 |
膜 | 3D,2D 轴对称 | 边界 | 没有弯曲刚度的膜,通常是预应力膜 |
梁 | 3D,2D | 边(3D),边界(2D) | 具有明显弯曲和扭转刚度的细长组件 |
桁架 | 3D,2D | 边(3D),边界(2D) | 仅能承受轴向力的细长组件;电缆 |
耦合结构接口
假设我们想使用 COMSOL Multiphysics 模拟一个阅读桌。
对于这样一个桌子的建模,我们可以使用固体力学接口建立一个全三维模型。但是,这将导致模型包含大量小的有限单元,因此使用梁和壳接口耦合建模更为合适。在这个示例中,我们使用梁接口模拟桌腿,用壳接口模拟桌子的表面。
下图左边是桌子的实体几何结构。右图是用壳和梁接口建立的桌子几何结构模型,包括用壳接口建立的桌子顶板的三维边界,以及用梁接口建立的桌腿的三维边。
左:阅读桌的实体几何结构。右:用壳和梁接口创建的几何结构模型。
使用结构接口耦合建模的更多示例:
- 大部分区域是薄结构,但在某些位置是比较立体的结构。使用实体和壳接口耦合建模可以大大减少模型的大小。
- 用梁进行加固的板或壳。
- 在混凝土结构中充当钢筋的桁架单元。
- 位于另一种材料上面的薄层材料。在这种情况下,用壳或膜定义实体的边界进行等效建模可能是有用的。
如何在一个模型中把这些接口耦合起来呢?在 COMSOL Multiphysics 中有许多方法可以做到这一点。选择哪种方法主要取决于手头的问题类型。接下来,我们将逐一展示这些方法,并讨论它们可以用于哪些类型的问题。
耦合结构力学接口的方法
内置的耦合功能
编者注:自 COMSOL Multiphysics®5.3 版本起,软件新增了一种更简单的方式来实现本节中描述的耦合。关于这一功能的更多细节,请参见结构力学模块的发布亮点页面。
为了说明内置的耦合功能,我们以 COMSOL 模型库中的一个使用壳和梁接口建模的普拉特桁架桥例子(也可在 COMSOL案例下载页面在线获取)。下图显示了普拉特桁架桥的几何结构。这里,用黑色显示的3D边是用梁接口建模的,用灰色显示的3D边界是用壳接口建模的。
使用梁和壳接口建模的普拉特桁架桥的几何结构。
为了在这个模型中耦合壳和梁接口,我们使用了内置的梁-壳连接多物理场耦合功能。下面总结了使用梁-壳连接耦合建模的步骤:
- 在梁接口,使用壳连接节点,模拟壳和梁接口的共同边。
- 在壳接口中,在公共边上使用梁连接节点。也可以在设置窗口中定义连接的偏移量。这样做是为了考虑在真实情况下,支撑梁位于混凝土路面以下。
以下软件内置的耦合功能,都可以按照上述类似的方式使用:
- 壳边到实体边界(3D)
- 壳边界到实体边界(3D)
- 梁点到实体边界(2D)
- 梁边到实体边界(2D)
- 梁边到壳边(3D)
- 梁点到壳边界(3D)
- 梁点到壳边(3D)
使用指定位移
耦合不同物理接口的另一种方式是通过指定位移节点,其中位移被强制与另一个物理接口中的位移相同。使用这种耦合的一个例子是模型库中带钢筋的混凝土梁例子(也在以在案例下载页面查看)。
下图显示了该模型的几何结构。这里,混凝土(三维域,灰色)是使用固体力学接口建模的,而钢筋(三维边,黑色)是使用桁架接口建模的。
一个用钢筋加固的混凝土梁几何结构,使用桁架和固体力学接口建模。
在这个模型中,单个钢筋是通过在固体力学接口上增加一个桁架接口来建模的。该模型使用广义拉伸耦合算子,使固体力学接口的位移变量可用于桁架接口。然后使用之前定义的广义拉伸耦合算子,在桁架接口中使用指定位移节点提供来自固体力学接口的位移变量。
在这个模型中,桁架单元的网格与实体单元的网格没有关系。钢筋只是穿过实体单元。这就是为什么需要耦合算子的原因。
另一种建模策略是,让桁架单元所需的边也成为实体几何结构定义的一部分。
重命名自变量
也许最简单的耦合方法是重新命名位移自由度,使这些自由度对要耦合的接口是相同的。例如,当使用膜作为实体边界上的包层或使用桁架单元作为实体中的钢筋时。请注意,这种方法只有在被耦合的结构接口的几何实体之间存在耦合时才有效。
还有一些例外情况需要注意:
- 梁接口中使用的形函数具有特殊的属性。如果共享相同的边或边界,一个梁不能与另一个物理接口拥有相同的自由度。
- 在壳和板的接口以及梁接口中,旋转的表示方法是不同的。因此,不可能对旋转自由度使用通用的自由度名称。
让我们将这个方法应用在钢筋混凝土梁的模型案例中。我们将修改模型,使其在固体力学和桁架接口中使用相同的因变量。按照下列说明,通过重新命名桁架接口的因变量来解决问题。
- 在当前的模型实现中,有一个条形的装配和一个实体域。我们需要在几何部分对边和实体域进行耦合。
- 在桁架接口的设置窗口中,重新命名因变量。
- 删除或禁用桁架接口中的指定位移 1 节点。
- 使用一个物理场控制的网格。
现在,我们可以重新计算这些研究。
多体连接件
连接件功能(需要使用多体动力学模块)可用于多体动力学、固体力学、壳和梁接口。连接件的表述与刚性连接件类似,所有选定的边界或边的行为就像它们被一个共同的刚体所连接。多体动力学模块提供的各种接头使用这些附件将接口与任何其他接口耦合。
为了说明这个方法,我们以案例库中的一个洗衣机装配振动模型(也可以在案例下载页面中查看)为例。在这个模型中,用多体动力学和壳接口建立了一个水平轴的洗衣机模型。组件的外壳(灰色)由壳单元组成的,而内部组件(不同颜色)是刚性的,在多体动力学接口中使用刚性域节点建模。
用多体动力学和壳接口建立的(为了更好的可视化,外壳的顶部、底部、前面和左边的面板被隐藏起来)一个水平轴的便携式洗衣机的几何结构。
为了把这两个接口耦合起来,首先在壳接口上创建连接件。下面的例子显示了在壳接口中创建的连接件节点。
在壳接口中定义了连接件后,在多体动力学接口中创建固定关节。这些固定关节使用壳接口的连接件作为源,使用多体动力学接 口的刚体作为目标,两个接口就被耦合起来了。
下面的屏幕截图显示了其中一个固定关节的设置窗口,该关节的源是壳接口的一个连接件,关节的终点是多体动力学接口的一个刚体节点。
我们使用了一个类似的程序模拟壳前后面板上的前后弹簧。请查看案例库(或在模案例下载页面)中的案例模型洗衣机组件中的振动,了解有关该模型的更多细节。
2022/12/23 编者注:在 6.1 版本中,刚性域功能已被重新命名为刚性材料。
耦合结构接口时的求解器设置
只要模型中有多个接口,默认的求解器就会生成一个分离式求解器序列。然而,如果结构力学自由度被放置在单独的分离组中,就不可能求解耦合模型。解决方法是用全耦合的求解器取代分离式求解器,或者将所有结构力学自由度放在一个分离步骤中。
延伸阅读
除了文中讨论的模型外,下列模型也展示了结构接口的耦合功能:
评论 (0)