二维三角形单元

我们现将有限元方法的原理扩展到二维域。离散二维连续体最简单的单元是三角形单元。考虑三角形的每个角点处有三个节点,节点按逆时针顺序编号。每个节点有两个自由度 u i v i

1. 二维弹性力学公式

在推导该单元的特性之前,我们必须建立二维弹性力学的基本关系。

任何点的应力和应变状态都可以用向量表示。

Voigt应力向量定义为: { σ } = { σ x x σ y y σ x y }

相应的Voigt应变向量为: { ϵ } = { ϵ x x ϵ y y γ x y }

应力与应变之间的关系是本构定律,对于线弹性材料,可以用矩阵形式表示为: { σ } = [ E ] { ϵ } 这里,E是弹性矩阵,包含材料属性。(该矩阵不要与其定义中使用的标量杨氏模量E相混淆)。

对于二维问题,通常采用两种简化假设之一:平面应力或平面应变。

平面应力:假设用于在其自身平面内受载的薄结构( σ z z = 0 )。弹性矩阵为: 𝐄 = E 1 ν 2 [ 1 ν 0 ν 1 0 0 0 1 ν 2 ]

平面应变:假设用于具有均匀横截面的长结构,其面外应变为零( ϵ z z = 0 )。弹性矩阵为: 𝐄 = E ( 1 ν ) ( 1 + ν ) ( 1 2 ν ) [ 1 ν 1 ν 0 ν 1 ν 1 0 0 0 1 2 ν 2 ( 1 ν ) ]

2 应变-位移矩阵 [B]

假设:单元内的位移场,x方向的u(x, y)和y方向的v(x, y),通过形函数Ni从节点位移值插值得到。假设给定方向的位移仅取决于同方向的节点位移。即,

应变是位移场的导数。对于二维问题,关系如下:

ϵ x x = u x , ϵ y y = v y , γ x y = u y + v x

通过将插值后的位移场代入这些应变定义,我们可以建立Voigt应变向量 { ϵ } 与节点位移向量 𝐪 之间的关系。此关系定义了应变-位移矩阵B

{ ϵ } = [ B ] { q }

对于3节点三角形单元,节点位移向量排列为:

𝐪 = { u 1 v 1 u 2 v 2 u 3 v 3 }

因此,应变-位移矩阵B是一个 3 × 6 矩阵,由形函数的导数组成:

𝐁 = [ N 1 x 0 N 2 x 0 N 3 x 0 0 N 1 y 0 N 2 y 0 N 3 y N 1 y N 1 x N 2 y N 2 x N 3 y N 3 x ]

3. 形函数的推导

为了确定B矩阵,我们必须首先找到形函数Ni的显式形式。对于3节点三角形单元,我们假设最简单的可能位移场:一个线性多项式

系数A1A2A3是常数。为了将它们与物理节点位移联系起来,我们在三个节点处分别施加该方程:

{ u 1 u 2 u 3 } = [ 1 x 1 y 1 1 x 2 y 2 1 x 3 y 3 ] { A 1 A 2 A 3 }

可以求解该方程组,用节点位移ui和节点坐标表示系数Ai

其中 A = 1 2 | 1 x 1 y 1 1 x 2 y 2 1 x 3 y 3 | 为三角形的面积。

将其代回线性多项式并重新排列,可得到形函数的最终形式:

由线性多项式场推导出的形函数形式为: N i ( x , y ) = 1 2 A ( a i + b i x + c i y ) 其中A是单元面积,而aibici是由节点坐标组成的系数。

  • 注意,Ni(x, y) 是一个平面方程,在节点i处值为1,在另外两个节点处值为零。

4. 常应变B矩阵与单元刚度矩阵

这些形函数的导数为: N i x = b i 2 A , N i y = c i 2 A

线性形函数的一个重要结果是其导数为常数。由于 [B] 矩阵完全由这些导数组成,因此该单元的 [B] 矩阵也是常数。由关系式 {ϵ} = [B]{q} 可知,这意味着应变 {ϵ} 在整个单元内是均匀的,这就是它被称为常应变三角形(CST)的原因。

单元刚度矩阵K通过对单元域Ω进行积分求得: 𝐊 = Ω 𝐁 𝖳 𝐄   𝐁 d V

对于厚度恒为t的单元,该体积分变为面积分: 𝐊 = A 𝐁 𝖳 𝐄 𝐁 t d A

由于BEt都是常数,可以提到积分号外面,积分简化为面积A。由此得到单元刚度矩阵的最终表达式:

𝐊 = ( 𝐁 𝖳 𝐄 𝐁 ) t A

5. 单元间连续性与高阶单元

关于位移的连续性存在一个问题。我们知道位移在节点处是连续的,但它在节点之间的边上是否连续?

答案是肯定的。由于位移场是线性的,沿任何边的变化是两个角节点值之间的线性插值。共享该边的相邻单元,其位移场将由完全相同的线性插值描述。这确保了单元之间的位移兼容性,该条件称为 C 0 连续性

完备性条件确保单元能够表示刚体运动,它得到满足,如下性质所示:

N i = 1

CST单元的精度受限于其常应变假设。为了更准确地模拟具有变化应变场的问题,使用了高阶单元。这是通过向单元添加节点并对形函数使用更高阶多项式来实现的。例如,添加边中点节点可得到二次位移场(6节点三角形),从而产生线性变化的应变场。

这些高阶单元仍然只具有 C 0 连续性。要实现更高的连续性(例如 C 1 ,导数也连续),则需要更复杂的单元列式。