有限元方法核心原理与学习路径:从一维基础到多维拓展(七步流程)
🌟 有限元学习七步流程(系统优化版)
① 理论入门:掌握物理本质
建立力学三大基本关系(以一维杆为例):
-
平衡方程:
dσdx+f=0\frac{d\sigma}{dx} + f = 0 dxdσ+f=0 -
几何关系:
ε=dudx\varepsilon = \frac{du}{dx} ε=dxdu -
本构关系:
σ=Eε\sigma = E\,\varepsilon σ=Eε
材料假设: 线性弹性、均质、各向同性。
目标: 明确应力–应变–位移之间的物理因果关系。
② 数学建模:位移与应变的假设
-
假设线性位移场:
u(x)=cxu(x) = c\,x u(x)=cx -
边界条件:
u(0)=0u(0) = 0 u(0)=0 -
根据力平衡和边界条件:
c=PEAc = \frac{P}{E A} c=EAP -
因此:
ε=dudx=PEA,σ=Eε=PA\varepsilon = \frac{du}{dx} = \frac{P}{E A}, \quad \sigma = E\varepsilon = \frac{P}{A} ε=dxdu=EAP,σ=Eε=AP
③ 能量法与虚功原理:建立变分关系
采用势能极值原理:
Π(u)=U−W\Pi(u) = U - W Π(u)=U−W
平衡条件由:
δΠ=0⇒δU=δW\delta \Pi = 0 \quad \Rightarrow \quad \delta U = \delta W δΠ=0⇒δU=δW
对于杆件问题:
u(x)=PEAx,ε=PEA,σ=PAu(x) = \frac{P}{E A}x, \quad \varepsilon = \frac{P}{E A}, \quad \sigma = \frac{P}{A} u(x)=EAPx,ε=EAP,σ=AP
⚙️ 虚功原理推导过程
(1) 虚功方程
δU=δW\delta U = \delta W δU=δW
(2) 应变能变化
δW=P(x)δu(x)\delta W = P(x)\,\delta u(x) δW=P(x)δu(x)
δU=δ(12∫Ωσ(x)ε(x)dV)\delta U = \delta \left( \frac{1}{2} \int_{\Omega} \sigma(x)\,\varepsilon(x)\, dV \right) δU=δ(21∫Ωσ(x)ε(x)dV)
(3) 试函数
u(x)=cx⇒δu(x)=δc⋅xu(x) = c\,x \quad \Rightarrow \quad \delta u(x) = \delta c \cdot x u(x)=cx⇒δu(x)=δc⋅x
σ(x)=Eε(x)⇒δσ(x)=E⋅δc\sigma(x) = E\,\varepsilon(x) \quad \Rightarrow \quad \delta\sigma(x) = E \cdot \delta c σ(x)=Eε(x)⇒δσ(x)=E⋅δc
ε(x)=dudx⇒δε(x)=δc\varepsilon(x) = \frac{du}{dx} \quad \Rightarrow \quad \delta\varepsilon(x) = \delta c ε(x)=dxdu⇒δε(x)=δc
(4) 应变能变化计算

(5) 平衡结果
c=PEA,ε(x)=PEA,σ(x)=PA,u(x)=PEAxc = \frac{P}{E A}, \quad \varepsilon(x) = \frac{P}{E A}, \quad \sigma(x) = \frac{P}{A}, \quad u(x) = \frac{P}{E A}x c=EAP,ε(x)=EAP,σ(x)=AP,u(x)=EAPx
⚙️ 最小势能原理推导
(1) 最小势能原理
minu(x)∈BC(u)[Π(u)=U−W]\min_{u(x) \in BC(u)} \big[\, \Pi(u) = U - W \,\big] u(x)∈BC(u)min[Π(u)=U−W]
(2) 系统应变能
U=12∫Ωσ(x)ε(x)dVU = \frac{1}{2} \int_{\Omega} \sigma(x)\,\varepsilon(x)\, dV U=21∫Ωσ(x)ε(x)dV
(3) 系统外力势能
−W=−P⋅u(x=l)-W = -P \cdot u(x = l) −W=−P⋅u(x=l)
(4) 势能函数
Π(u)=12Ec2Al−Pcl\Pi(u) = \frac{1}{2} E\, c^2\, A\, l - P\, c\, l Π(u)=21Ec2Al−Pcl
(5) 取极值条件
∂Π∂c=0\frac{\partial \Pi}{\partial c} = 0 ∂c∂Π=0
(6) 试函数与结果
u(x)=cx,ε(x)=c,c=PEAu(x) = c\,x, \quad \varepsilon(x) = c, \quad c = \frac{P}{E A} u(x)=cx,ε(x)=c,c=EAP
同样得到:
ε(x)=PEA,σ(x)=PA,u(x)=PEAx\varepsilon(x) = \frac{P}{E A}, \quad \sigma(x) = \frac{P}{A}, \quad u(x) = \frac{P}{E A}\, x ε(x)=EAP,σ(x)=AP,u(x)=EAPx
④ 弱形式与有限元基础
由强形式(微分方程)通过分部积分得到弱形式:
∫0LEAdudxdvdxdx=∫0Lfvdx+[Tˉv]L\int_0^L EA \frac{du}{dx}\frac{dv}{dx}dx = \int_0^L f\,v\,dx + [\bar{T}v]_L ∫0LEAdxdudxdvdx=∫0Lfvdx+[Tˉv]L
边界条件:
- 本质边界条件:直接作用于位移,如 u(0)=0u(0) = 0u(0)=0;
- 自然边界条件:由弱式自动包含,如 σ(L)=Tˉ\sigma(L) = \bar{T}σ(L)=Tˉ。
⑤ 有限元离散与矩阵方程
-
单元内位移近似:
u(ξ)=N1u1+N2u2,N1=1−ξ,N2=ξu(\xi) = N_1 u_1 + N_2 u_2, \quad N_1 = 1 - \xi, \; N_2 = \xi u(ξ)=N1u1+N2u2,N1=1−ξ,N2=ξ -
单元刚度矩阵:
Ke=∫0LBTEABdx=EAL[1−1−11]K_e = \int_0^L B^T E A B\,dx = \frac{E A}{L} \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix} Ke=∫0LBTEABdx=LEA[1−1−11] -
全局组装: 按节点连接关系叠加 KeK_eKe 形成整体刚度矩阵 KKK。
⑥ 数值计算与验证
-
通过求解线性方程:
KU=FK U = F KU=F
得到节点位移。 -
计算应变与应力:
ε=BUe,σ=Eε\varepsilon = B U_e, \quad \sigma = E \varepsilon ε=BUe,σ=Eε -
与解析解对比,验证有限元解的正确性。
⑦ 知识融合与高维扩展
(1)从一维到二维的推广
二维问题常见于平面应力与平面应变状态:
u=u(x,y),v=v(x,y)u = u(x, y), \quad v = v(x, y) u=u(x,y),v=v(x,y)
几何方程(应变–位移关系):
εx=∂u∂x,εy=∂v∂y,γxy=∂u∂y+∂v∂x\begin{aligned} \varepsilon_x &= \frac{\partial u}{\partial x}, \\ \varepsilon_y &= \frac{\partial v}{\partial y}, \\ \gamma_{xy} &= \frac{\partial u}{\partial y} + \frac{\partial v}{\partial x} \end{aligned} εxεyγxy=∂x∂u,=∂y∂v,=∂y∂u+∂x∂v
矩阵形式:

平面应力本构关系:
Dplane-stress=E1−ν2[1ν0ν10001−ν2]\mathbf{D}_{\text{plane-stress}} = \frac{E}{1-\nu^2} \begin{bmatrix} 1 & \nu & 0 \\ \nu & 1 & 0 \\ 0 & 0 & \frac{1-\nu}{2} \end{bmatrix} Dplane-stress=1−ν2E1ν0ν100021−ν
平面应变本构关系:
Dplane-strain=E(1−ν)(1+ν)(1−2ν)[1ν1−ν0ν1−ν10001−2ν2(1−ν)]\mathbf{D}_{\text{plane-strain}} = \frac{E(1-\nu)}{(1+\nu)(1-2\nu)} \begin{bmatrix} 1 & \frac{\nu}{1-\nu} & 0 \\ \frac{\nu}{1-\nu} & 1 & 0 \\ 0 & 0 & \frac{1-2\nu}{2(1-\nu)} \end{bmatrix} Dplane-strain=(1+ν)(1−2ν)E(1−ν)11−νν01−νν10002(1−ν)1−2ν
二维单元刚度矩阵:
Ke=∫VBTDBdV\mathbf{K}_e = \int_V \mathbf{B}^T \mathbf{D} \mathbf{B}\, dV Ke=∫VBTDBdV
(2)三维问题的拓展
三维位移场:
u=u(x,y,z),v=v(x,y,z),w=w(x,y,z)u = u(x,y,z), \quad v = v(x,y,z), \quad w = w(x,y,z) u=u(x,y,z),v=v(x,y,z),w=w(x,y,z)
应变分量:

三维线弹性本构矩阵:
D3D=E(1−ν)(1+ν)(1−2ν)[1ν1−νν1−ν000ν1−ν1ν1−ν000ν1−νν1−ν10000001−2ν2(1−ν)0000001−2ν2(1−ν)0000001−2ν2(1−ν)]\mathbf{D}_{3D} = \frac{E(1-\nu)}{(1+\nu)(1-2\nu)} \begin{bmatrix} 1 & \frac{\nu}{1-\nu} & \frac{\nu}{1-\nu} & 0 & 0 & 0 \\ \frac{\nu}{1-\nu} & 1 & \frac{\nu}{1-\nu} & 0 & 0 & 0 \\ \frac{\nu}{1-\nu} & \frac{\nu}{1-\nu} & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & \frac{1-2\nu}{2(1-\nu)} & 0 & 0 \\ 0 & 0 & 0 & 0 & \frac{1-2\nu}{2(1-\nu)} & 0 \\ 0 & 0 & 0 & 0 & 0 & \frac{1-2\nu}{2(1-\nu)} \end{bmatrix} D3D=(1+ν)(1−2ν)E(1−ν)11−νν1−νν0001−νν11−νν0001−νν1−νν10000002(1−ν)1−2ν0000002(1−ν)1−2ν0000002(1−ν)1−2ν
三维单元刚度矩阵:
Ke=∫VBTD3DBdV\mathbf{K}_e = \int_V \mathbf{B}^T \mathbf{D}_{3D} \mathbf{B}\, dV Ke=∫VBTD3DBdV
典型单元包括四面体、六面体、棱柱体等,通过三维高斯积分计算。
✅ 总结
一维问题奠定理论基础,二维与三维扩展实现真实工程模拟。
其核心始终是:
“几何方程 + 本构关系 + 平衡方程 → 弱形式 → 数值离散”
