有限元法-入门

基本思想原理

纯工科首先接触到有限元法(Finite Element Method, FEM)的概念应该是在简单版弹性力学课程中,并且有限元会作为弹性力学考纲最后一章出现,似乎前几章全是在为这个BOSS造势铺路。在不了解其数学内涵之前,通常会反复学习三大方程的应用,引入弹性力学平面问题,运用结构力学方法推导有限元分析格式和步骤。其基本思想引用课本里简简单单一段:

1
假想的把一连续体分割成数目有限的小体(单元),彼此间只在数目有限的指定点(结点)出相互连结,组成一个单元的集合体以代替原来的连续体,再在结点上引进等效力以代替实际作用于单元上的外力。选择一个简单的函数来近似地表示位移分量的分布规律,建立位移和节点力之间的关系。

门槛

  • 微分方程
    • 加权余量法
    • 最小势能原理
    • 变分原理
  • 结构力学
  • 弹性力学
  • 矩阵计算

从弹性力学平面问题推导出FEM

  • 基本物理量和方程

    大括号为列向量,中括号为矩阵,加粗懒得加粗了

    • 体力 \(\{ {f}\} = (f_x\; f_y)^T\)
    • 面力 \(\{ {\overline{f} }\} = (\overline{f_x} \; \overline{f_y})^T\)
    • 位移函数 \(\{ {d}\} = (u(x,y)\; v(x,y))^T\)
    • 应变 \(\{ {\epsilon}\} = (\epsilon_x \; \epsilon_y \; \gamma_{xy})^T\)
    • 应力 \(\{ {\sigma}\} = (\sigma_x\; \sigma_y\; \tau_{xy})^T\)
    • 结点位移列阵 \(\{ {\delta}\} = (u_i\; v_i\; u_j\; v_j\; \ldots )^T\)
    • 结点力列阵 \(\{ {F}\}^e =(F_{ix}\; F_{iy}\; F_{jx}\; F_{jy}\; \ldots)^T\)
    • 几何方程 \[ {\epsilon} = (\frac{\partial u}{\partial x}\; \frac{\partial v}{\partial y}\; \frac{\partial u}{\partial x}+\frac{\partial v}{\partial y})^T \tag{1} \]
    • 物理方程 \[ \{ {\sigma}\} = [ D] \epsilon \tag{2} \] 其中 \([ {D}]\) 为弹性矩阵,对于各向同性平面应力问题\[ [{D}] = \frac{ E}{1-\mu^2} \begin{bmatrix} 1 & \mu & 0 \\ \mu & 1 & 0 \\ 0 & 0 & \dfrac{1-\mu}{2} \\ \end{bmatrix} \]
    • 虚功方程 \[ \{ \delta^*\} F = \iint_A \{ \epsilon^*\} \sigma\,dx\,dy\,t \tag{3} \] 其中 \(\delta^*\)为结点虚位移, \(\epsilon^*\)为对应虚应变,\(t\)单元厚度
    • 平衡方程 \[ \sum_e\{F_i\} = \{P_i\}\tag{4} \] 即结点\(i\)受周围单元的等效结点力与周围单元移置的结点荷载平衡
  • 力学模型选取

    平面、平面应力(应变)、轴对称、空间、板梁杆壳、对称反对称问题等,选取分析用的力学模型。平面应力问题

  • 单元选取和结构离散

    三角单元、四边单元、板梁杆壳单元及各种体单元等,为简化对重要部分主观调整单元分布紧密。3结点三角单元

  • 单元位移模式

    先不管数学内涵,只有离散的结点位移不能直接求出单元连续体内每点应力应变,假定单元内位移是坐标的函数,即位移模式。对于同型单元,多项式函数包含项数越多位移分布越真实。线性函数
    3结点三角单元中解线性方程组得函数系数,回代点位移函数 \[ \{d\} = [N]\{\delta\}^e\tag{5} \] 其中\([N]\)为单元形函数
    \[ \{d\} = \begin{Bmatrix} u \\ v \\ \end{Bmatrix} =[N]\{\delta\}^e=[IN_i\quad IN_j\quad IN_m]\{\delta\}^e \\ N_i = \frac{a_i+b_ix+c_iy}{2A},A = \begin{bmatrix} 1 & x_i & y_i \\ 1 & x_j & y_j \\ 1 & x_m & y_m \\ \end{bmatrix}, I = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ \end{bmatrix},\\ \left. \begin{aligned} a_i &= x_jy_m - x_my_i \\ b_i &= y_i - y_m \\ c_i &= x_m - x_j \end{aligned} \right\}\quad\text{(i,\;j,\;m)} \]

  • 力学特性分析

    \((5)\)代入\((1)\) \[ \{\epsilon\} = [B]\{\delta\}^e\tag{6} \] 其中\([B]\)为单元应变矩阵,对其分块\([B] = [B_i\;B_j\;B_m]\)

    \[ [B_i] = \frac{1}{2A}\begin{bmatrix} b_i & 0 \\ 0 & c_i \\ c_i & b_i \\ \end{bmatrix}\quad\text{(i,\;j,\;m)} \] \((6)\)代入\((2)\) \[ \{\sigma\} = [D][B]\{\delta\}^e\tag{7} \] \((7)\)代入\((3)\) \[ \{F\}^e = [k]^e\{\delta\}^e\tag{8} \] 其中\([k]^e = \iiint_v{[B]^T[D][B]\,dx\,dy\,dz}\)单元刚度矩阵,若对3结点三角单元进行等效结点力求解绕开虚功方程\((3)\)(下一章介绍)可直接得到具体表达式 \[ [k]^e = [B]^T[D][B]tA \] 考虑\([B]\)的分块,对6×6元素的\([k]^e\)进行子矩阵为2×2的降维分块 \[ [k]^e = [k_{rs}] = \frac{Et}{4(1-\mu^2)A}\begin{bmatrix} b_rb_s+(1-\mu)c_rc_s/2 & \mu b_rc_s+(1-\mu)c_rb_s/2 \\ \mu c_rb_s+6(1-\mu)b_rc_s/2 & c_rc_s+(1-\mu)b_rb_s/2 \end{bmatrix} \]

  • 单元到总体

    \((8)\)代入\((4)\) \[ [K]\{\delta\} = \{P\} \] \([K]\)总体刚度矩阵,其元素由整体编码且同下标的单元刚度矩阵分块元素叠加得到 \[ K_{rs} = \sum_e{k_{ij} } \] 计算机内编码法:对于6×6的\([k]^e\)的元素\(k_{ij}\),物理意义是单元第\(j\)个自由度发生单位形变引起的单元第\(i\)个结点力,如果总体有\(n\)结点,编号\(1\rightarrow n\),则自由度有\(2n\),编号\(1\rightarrow2n\),从结构中取一个单元\(e\),其结点编号\(n_i,n_j,n_m\),编码表为 \[ \begin{array}{c|c|c|c|c|c|c} \hline 结点自由度 &u_i&v_i&u_j&v_i&u_m&v_m\\ \hline 单元中号码(i,j) &1&2&3&4&5&6\\ \hline 结构中号码(r,s) &2n_i-1&2n_i&2n_j-1&2n_j&2n_m-1&2n_m\\ \hline \end{array} \] 最后通过乘大数方法修改平衡方程引入边界条件,即自由度对应的主对角线系数\(K_{rs}\)乘大数,对应荷载乘大数再乘边界条件值