“切向刚度矩阵”与“刚度矩阵”相同吗?

计算科学 有限元 边界条件 非线性方程
2021-11-26 21:57:12

我正在尝试在非线性模型上实现VegaFEM中的非零位移边界条件,使用科罗拉多大学 FEM 简介第3.6.2 节中概述的方法(修改中设置所需的位移并消除行和通过计算力并应用于 ) 中列。f=KuuKf

但是它没有按预期工作。我不确定我需要在求解器源代码中的确切位置对进行修改,但无论我在哪里做,结果都是模型爆炸,或者如果我使位移很小,似乎在正确的方向上产生一些影响(如外力),但被夸大了,而不是任何类似于“边界条件”的东西。fKu

我想知道我是否被抛弃了,因为我假设VegaFEM 积分器中的“切线刚度矩阵”只是 FEM 简介中“刚度矩阵”的另一个名称。这个假设正确吗?

如果是这样 - VegaFEM 计算内力,然后在将力传递给求解器之前添加外力。是指外力还是内力?ff=Ku

编辑澄清线性与非线性,以及“未按预期工作”的含义。

编辑目标实际上是我想将一个高弹性对象附加到一个或多个虚拟棒上,然后我可以用鼠标在模拟环境中拖动以拉伸对象。我目前正在使用 PID 控制器模拟边界条件(与棍棒的连接)以将外力施加到绑定节点,但这引入了另一种我宁愿避免的弹性。我应该考虑其他一些方法吗?

2个回答

Ku仅在线性情况下等于内力。非线性问题中的切线刚度矩阵通常在 Newton-Raphson 算法中用于计算位移矢量的更新,如下所示:K

KΔu=ffinternal
ui+1=ui+Δu

内力向量必须从非线性单元方程计算。迭代继续,直到收敛。finternalu

在非线性问题中,切线向量都是位移的函数。这样做的一个结果是,为了规定选定节点的位移,传递到计算这些节点的函数的位移向量必须包含规定的值。非线性求解算法通常以全零的求解向量开始。相反,可以将选定的条目设置为规定的值,以便正确计算内力。如果 VegaFEM 明确地消除了受约束自由度的全局方程,它也应该对规定的位移这样做。这些可能是规定非零而不是零位移所需的代码的唯一更改。Kfinternal

从网站上看,VegaFEM 是非线性弹性的特定求解器。求解非线性 PDE 需要一个迭代过程,其中每一步都必须求解线性化 PDE,有时称为“正切方程”。然后,切线刚度矩阵将指代通过离散化切线方程获得的刚度矩阵。

请注意,即使非线性 PDE 具有非齐次边界条件,切线方程也始终涉及作为当前迭代的更新,并且否则将不满足正确的边界条件)。δuukuk+δu