倾斜/一般狄利克雷边界条件

计算科学 有限元 边界条件 拉格朗日乘数
2021-12-08 20:28:31

在此处输入图像描述

为简单起见,考虑二维中的单个四边形线性弹性有限元。节点 1 和节点 2 上的 Dirichlet 边界条件易于实现,并且可以以标准方式处理。但是,节点 3 上的 Dirichlet 边界条件更一般,其形式为:

au3x+bu3y=0

其中是实数,方向上的位移分量,用 ( )表示。我们可以通过拉格朗日乘数来处理这个边界条件,这将产生一个如下的矩阵系统,我认为与处理狄利克雷边界条件的标准方法相比,它会增加带宽。此外,矩阵的存在可能会导致线性系统求解器出现问题(如果我错了,请纠正我)。abu3xu3yu3xy0

(KBB0)(dλ)=(fh)

这种处理来自这里:第 73 页

处理倾斜/一般狄利克雷边界条件的正确/最佳方法是什么?尼采的方法吗?

我们可以通过将倾斜/一般狄利克雷边界条件合并到位移场的有限维展开中来处理它们吗?

2个回答

处理这种类型的边界条件的传统方法是在节点 3 处创建一个变换的坐标系,以便它的一个轴沿着您要约束的方向。您使用该节点的坐标变换矩阵来变换刚度矩阵,然后以通常的方式约束系统,例如通过删除与约束自由度相对应的方程。

正如您所指出的,使用拉格朗日乘数是规定此约束的一种完全可接受的替代方法。唯一不可避免的缺点是您增加了方程的数量(在这种情况下增加了一个)。您确实增加了方程的带宽,但现代稀疏求解器并不关心矩阵的带宽。对角线上的零并不意味着矩阵是奇异的。然而,它是负定的,因此您选择的稀疏求解器必须处理这种情况(即经典的 Cholesky 分解将失败)。

比尔·格林(Bill Greene)提出了传统做法的观点。“现代”方法是在您的线性系统中添加“约束”,在当前情况下,它将是 这些约束可以直接输入到线性系统中,而无需绕过您展示的增强线性系统——尽管修改后的线性系统也可以被认为已经完成了一个高斯消除步骤以消除额外的行和列。

u3x=u3y.

仅提供一个示例,在 deal.II 有限元库中,这些类型的约束由AffineConstraints类实现。(免责声明:我是 deal.II 的主要开发者之一。)