很多人在学习有限元时,最先接触到的往往是网格划分。于是,有限元很容易给人一种印象:它似乎是一门“划网格”的技术。再进一步,人们会接触材料模型、接触算法、边界条件以及求解器设置,于是又会觉得有限元的核心在于数值求解。
但真正深入有限元理论之后,会逐渐发现一个事实:
有限元最核心的东西,其实不是网格,也不是求解器,而是形函数(Shape Function)。
因为有限元最本质的问题,并不是“如何计算”,而是:
如何用有限个离散自由度,去近似一个原本无限自由度的连续世界。
而完成这一切的核心工具,就是形函数。从某种意义上说,有限元的发展历史,本质上也是形函数不断发展的历史。很多有限元中的经典问题,例如单元精度、剪切锁死、体积锁死、Hourglass 模式,甚至不同单元之间的性能差异,其根源都与形函数密切相关。如果不理解形函数,其实很难真正理解有限元。
一、什么是形函数?
要理解形函数,首先必须理解有限元为什么需要它。真实结构本质上是连续体。例如一根梁,在受到载荷之后,其内部每一个位置都会发生位移。理论上,这个位移场可以写成:
这里的 (x,y,z) 表示空间位置。问题在于,连续体意味着无限多个空间点和无限多个自由度,而计算机无法直接求解真正“无限维”的问题。因此,有限元必须先把连续结构离散化。
于是,一个连续结构会被切分成许多小单元。每个单元只保留少量节点自由度。例如,一个最简单的一维杆单元,可能只有两个节点位移:
左端位移:u_1
右端位移:u_2
但新的问题马上出现了。现在我们只知道两个节点位移,那么单元内部任意位置的位移怎么办?现实中的位移场显然是连续变化的,它不可能只在节点上存在。因此,有限元必须回答一个关键问题:
如何利用少量节点信息,去重建整个单元内部的连续位移场?
而形函数,就是用来完成这件事情的。例如,一维杆单元中,位移场通常会写成:
这里:
u_i 是节点位移
N_i 是形函数
它们的作用,是决定节点位移如何向单元内部传播。因此,从数学角度来说,形函数是一种插值函数;但从物理角度来说,它其实是在描述:
单元内部将如何变形。
这也是“形函数”这个名字的真正含义。
二、形函数为什么如此重要?
很多初学者会认为,有限元精度主要取决于网格密度。这种理解并不完全错误,但它忽略了更本质的问题。真正决定有限元精度的,其实是:
形函数对真实物理场的逼近能力。
因为有限元从来都不是在求“真实解”,而是在求“近似解”。例如,一个最简单的一次单元,通常采用线性形函数。这意味着有限元默认认为:
也就是说,单元内部位移只能线性变化。在拉伸问题中,这种假设通常还算合理。但一旦进入弯曲问题,真实位移场往往带有明显曲率,而线性形函数却无法表达曲率。
于是,有限元只能通过不断细化网格,去逼近真实变形。这也是为什么低阶单元通常需要更密网格的原因。而高阶单元则不同。例如二次单元允许位移场写成:
此时,单元内部已经允许出现曲率,因此它能够更加自然地描述真实弯曲行为。所以,高阶单元之所以精度更高,本质上并不是因为它“更高级”,而是因为:
它拥有更强的形函数表达能力
三、形函数如何影响应力计算?
很多工程师每天都在看应力云图,于是会下意识认为有限元主要是在求应力。但事实上,有限元真正首先求解的是位移。有限元核心方程:
求解得到的是节点位移 \{U\} 。随后,有限元再通过位移求导得到应变:
再利用材料本构关系得到应力:
问题的关键在于:位移场本身是由形函数构造出来的:
因此:
这意味着:
应变来自形函数导数
进一步地:
应力本质上也来自形函数导数
因此,应力计算质量实际上高度依赖形函数质量。很多有限元中的经典数值问题,例如剪切锁死、体积锁死、Hourglass 模式、单元畸变敏感,其根源其实都和形函数表达能力有关。从这个角度来看,有限元中的很多“高级问题”,本质上都是形函数问题。
四、为什么不同单元之间差异巨大?
很多人第一次使用有限元软件时,会发现不同单元之间差异非常明显。例如:
- 一次四面体通常偏硬
- 二次六面体精度更高
- 某些单元容易锁死
- 某些单元对网格畸变非常敏感
表面上看,这似乎是单元类型不同导致的。但更本质地说:
不同单元之间最大的区别,其实是形函数不同。
因为单元真正定义的,并不仅仅是几何形状,而是:
单元内部允许出现怎样的位移场
例如,一次单元只能表达线性位移变化,而二次单元则允许出现曲率。因此,当工程师在选择单元类型时,本质上其实是在选择:
使用什么样的形函数去逼近真实世界
这也是为什么真正理解有限元的人,往往会非常关注单元插值阶次、形函数连续性、单元自由度类型,因为这些东西最终都会直接影响计算质量。
五、现代有限元为什么离不开等参单元?
现代有限元中,一个非常重要的思想叫做:等参单元(Isoparametric Element)。它的核心思想是:
几何形状与位移场,使用同一套形函数。
例如:
几何坐标:
位移场:
这样做的意义极其巨大。因为现实中的工业结构通常非常复杂(曲面、畸形结构、不规则几何),如果没有等参思想,有限元几乎无法处理现代工程中的复杂结构。因此,现代工业有限元软件几乎全部建立在等参单元基础之上。而等参单元的核心,依然是形函数。
六、为什么说形函数是有限元的“灵魂”?
很多人学习有限元很久之后,都会逐渐形成一种新的认识:有限元真正核心的能力,并不是“计算能力”,而是:
对连续物理场的逼近能力
而这种逼近能力,本质上由形函数决定。因为有限元整个流程,其实都是围绕形函数展开的:
首先,利用形函数构造位移场:
然后:
- 对位移求导得到应变
- 对应变施加材料关系得到应力
- 最后通过虚功原理形成刚度矩阵
因此,整个有限元体系实际上是建立在形函数基础上的。很多人会认为网格是核心、求解器是核心、软件功能是核心,但真正决定有限元能力边界的,其实一直都是形函数。它决定了单元如何变形、结构如何传递位移、应力如何分布、数值误差如何出现、收敛如何实现。
从某种意义上说:
有限元并不是“划网格的艺术”,而是“构造形函数的艺术”。
形函数在很多教材中往往只是一个普通概念,但它的重要性其实远远超出大多数人的想象。因为有限元最本质的事情,并不是“求解”,而是:
用有限个离散自由度,去逼近一个无限维连续世界
而实现这一切的核心工具,就是形函数。它不仅决定了位移场如何构造、应变如何产生、应力如何计算,更决定了单元性能、数值精度、收敛能力、工程可靠性。
因此,当一个人真正理解形函数之后,他对有限元的理解往往会发生一次根本性的变化。他会逐渐意识到:
网格只是载体,求解器只是工具,软件只是实现形式。真正定义有限元本质的,其实一直都是形函数


