4节点四面体单元(TET4)
4节点四面体单元(TET4)的理论基础
TET4单元是什么
先生,TET4是3维分析中最基本的单元吗?
是最基本的,但是实务中不应该使用的单元。首先说明这一点。理由稍后会详细说明,先理解理论。
一上来就"不要用"的宣言...
学习TET4的理论很重要。这是理解FEM基础的最优单元。但如果想在工程中得到精确的结果,应该使用TET10。
形状函数
TET4有4个节点,每个节点3个自由度($u, v, w$)。总共12个自由度。
形状函数用体积坐标(重心坐标)$L_1, L_2, L_3, L_4$ 表示:
位移内插:
形状函数是线性的(1阶),所以位移在单元内也线性变化。
正确。位移线性意味着应变在单元内恒定。这是TET4的致命弱点。
恒定应变的问题
应变恒定有什么问题?
应力急变的部位(应力集中部、弯曲应力梯度大的部位)完全无法表现应力的变化。
例如用TET4对受弯梁进行建模:
- 理论上横截面上面受拉、下面受压,呈线性分布
- TET4中各单元应力恒定,只能是粗糙的阶梯状近似
- 要得到精确的弯曲应力需要极细的网格
TET10(二阶单元)应变在单元内线性变化,所以能表达弯曲。
没错。TET10是10个节点,每条边有中间节点,使用二阶形状函数。由于单元内应变线性变化,能够在一个单元内表现弯曲应力分布。
TET4的刚性矩阵
TET4的单元刚性矩阵是12×12的,B矩阵是常数矩阵,所以不需要数值积分就可以计算:
$V_e$ 是单元体积,$[B]$ 是应变-位移矩阵(常数),$[D]$ 是本构矩阵。
不需要数值积分是个优点。
计算速度快。但精度低,最终还是需要细化网格,DOF数增加,计算时间的优势被抵消了。
定量精度比较
能用数字说明TET4和TET10的精度差别吗?
悬臂梁($L/h = 10$)的先端挠度与理论值比较:
| 单元类型 | 网格 | 自由度 | 挠度误差 |
|---|---|---|---|
| TET4 | 粗(100单元) | 200 | -40%(过小) |
| TET4 | 中等(1,000单元) | 1,500 | -15% |
| TET4 | 细(10,000单元) | 12,000 | -5% |
| TET10 | 粗(100单元) | 1,200 | -2% |
| TET10 | 中等(1,000单元) | 9,000 | -0.3% |
TET4的10,000单元(12,000自由度)与TET10的100单元(1,200自由度)相当...自由度需要10倍。
应力精度差别更大。TET4应变恒定,应力集中的峰值无论网格多细,接近理论值的速度也很慢。
TET4应使用的场景
使用TET4有正当理由吗?
几乎没有。强行举例的话:
- 显式法(explicit)冲击解析 — TET4质量矩阵简单,对显式法的稳定时间增量有利(LS-DYNA某些情况下)
- 流体网格耦合 — CFD代码采用TET4基础,结构侧也用TET4保持一致
- 前处理器的限制 — 某些老旧自动网格生成器只能输出TET4
但这些都是"无奈之举",能用TET10就要始终用TET10。
总结
我来总结TET4的理论。
要点:
- 4个节点、线性形状函数、单元内应变恒定 — FEM最基本的3D单元
- 精度低 — 弯曲和应力集中的表现需要TET10的5~10倍自由度
- 实务不使用 — TET10作为替代品始终优越
- 理论学习最优 — 用于理解FEM原理的教科书式单元
- "TET4不要用"是FEM铁律 — 了解这一点解析品质就大幅提升
"不用"要理解用,这个思路有意思。
理解TET4的局限对于掌握FEM精度至关重要。能解释为什么TET4不好的工程师,就是能正确使用FEM的工程师。
TET4的线性形状函数和恒定应变特性
4节点四面体单元(TET4)采用体积坐标L1~L4的线性形状函数,单元内应变恒定(常应变四面体,CST)。1943年库朗(R. Courant)提出三角形单元概念,1956年特纳等人拓展到三维四面体。作为最简单的3D实体单元易于实现,但因应变恒定,对弯曲和应力集中的再现需要极多单元数,这是其主要缺点。
4节点四面体单元(TET4)的数值计算方法
TET4的实现细节
TET4的实现相比其他单元简单吗?
最简单。B矩阵是常数,不需要数值积分。是FEM编程入门的最佳选择。
B矩阵的计算
从4个节点坐标 $(x_i, y_i, z_i)$ 计算体积坐标的梯度,构成B矩阵。TET4的B矩阵是6×12的常数矩阵:
其中 $b_i, c_i, d_i$ 是从节点坐标计算的常数。$V$ 是四面体体积。
$V$ 怎样计算?
从4个节点坐标:
$V > 0$ 表示节点顺序正确(右手系)。$V < 0$ 表示单元反向。
求解器的单元名
| 求解器 | 单元名 | 备注 |
|---|---|---|
| Nastran | CTETRA(4节点版) | PSOLID属性 |
| Abaqus | C3D4 | 完全积分(1个积分点) |
| Ansys | SOLID285 / SOLID185(退化) | SOLID285采用u-p格式 |
| LS-DYNA | *ELEMENT_SOLID(TET4) | 显式法使用 |
Abaqus的C3D4只有1个积分点...就是只在单元中心评价?
是的。B矩阵是常数,在哪里评价结果相同。1点积分在数学上是精确的。这是TET4的数学之美,但实用上精度低的问题随之而来。
TET4的改进版
有改进TET4的单元吗?
有一些改进尝试:
平均化应变法(MINI单元)
在TET4中心引入额外的气泡函数,丰富单元内位移场。非压缩问题的体积锁定对策。Abaqus的SOLID285(Ansys)属于这一类。
S-TET4(平滑TET4)
在单元间平滑应变来提高精度。基于边的平滑有限元法 (ES-FEM) 或 基于节点的平滑有限元法 (NS-FEM) 已应用于TET4。学术上活跃,但商用求解器的实现有限。
增强假设应变(EAS)
向TET4引入额外应变模式。避免锁定同时提高精度。部分研究代码实现。
改进的TET4能替代TET10吗?
精度比TET4大幅提高,但往往不如TET10。改进TET4的主要优势是可以利用现有的TET4网格。不用重新生成网格。
TET4网格的质量管理
TET4网格的质量指标?
| 指标 | 理想值 | 允许范围 |
|---|---|---|
| 宽高比 | 1.0 | < 5.0 |
| 体积比(理想体积/实际体积) | 1.0 | > 0.1 |
| 雅可比行列式 | 正 | 必须正(负表示单元反向) |
| 最小内角 | 70.5° | > 10° |
最小内角不足10°的"扁平"四面体精度下降。
TET4对单元形状很敏感。歪斜的单元精度显著下降。这是TET10相对强健的另一个原因。
总结
TET4的实现细节整理。
要点:
- B矩阵是常数 — 不需数值积分。实现最简单
- $V < 0$ 表示单元反向 — 网格质量的基本检查
- 改进的TET4(S-TET4、EAS等) — 精度提高但不如TET10
- 对单元形状敏感性高 — 歪斜的TET4精度下降
- FEM编程入门的最优单元 — 应该实现并学习
TET4的闭式积分
TET4的刚性矩阵可用体积坐标积分公式∫L1^a L2^b L3^c L4^d dV = (a!b!c!d!)/(a+b+c+d+3)! × 6V求解闭式。这个公式允许不用高斯积分直接计算精确刚性矩阵,计算效率高。单元体积V=(1/6)|[x2-x1,y2-y1,z2-z1;...;x4-x1,y4-y1,z4-z1]|用行列式求得,V为负时表示节点定义顺序反向(左手)。
4节点四面体单元(TET4)的实务应用
TET4的实务处理
虽然说不用,但实务中还会遇到TET4吗?
会。以下情况会看到TET4:
1. 遗留模型 — 旧分析中创建的TET4网格保留
2. 自动网格的疏忽 — 前处理器默认值是TET4
3. 显式法大规模模型 — LS-DYNA中为降低计算成本使用TET4
4. CFD耦合 — 流体侧网格采用TET4,结构侧也用TET4
遭遇TET4网格时的处理
有现成的TET4网格时,如何处理?
三个选择:
1. 转换为TET10 — 在每条边上添加中间节点。多数前处理器支持自动转换
2. 重新生成网格 — 用TET10新建网格
3. 维持使用但谨慎解读结果 — 应力值不信任,仅检查力的流向
TET4转TET10很容易?
只是在边的中点添加节点,大多前处理器一键转换。曲面上的中间节点要吸附到CAD面(不这样做中间节点会偏离CAD面)。
Abaqus中,C3D4网格可用*NGEN命令转为C3D10M。HyperMesh中改变elem type即可一批转换。
如何使用TET4的结果
TET4分析的结果完全不能用?
情况看怎么用:
- 位移的趋势 — 定性上基本正确。检查力的流向可用
- 反力 — 精确。单元类型无关(平衡条件)
- 应力峰值 — 不可信。特别是应力集中部过小估计
- 平均应力(广域平均) — 基本正确
"应力峰值不可信"是TET4最大的问题。
设计最重要的正是应力的峰值(应力集中、最大von Mises应力)。TET4正是"最重要的结果无法给出"的单元。
基准问题的比较
体验TET4和TET10差别的基准问题?
最直观的是悬臂梁的先端挠度。
步骤:
1. $L = 100$ mm, $h = 10$ mm, $b = 10$ mm 悬臂梁
2. 先端集中荷载 $P = 100$ N
3. 理论解: $\delta = PL^3/(3EI) = 100 \times 100^3 / (3 \times 200000 \times 833.3) = 0.02$ mm
4. 用TET4和TET10相同网格大小分析并比较
这种简单的问题可以马上试。
FEM初学者必做的练习。先用TET4做,发现"为什么与理论不符",再改TET10,体验"原来如此"。这个过程能培养FEM精度的感觉。
实务检查清单
关于TET4的检查清单。
"确认不是TET4"是首要步骤。这就保证了分析质量。
FEM中初学者最常犯的错是"使用了TET4"。养成这个检查习惯,FEM水平就上升一个台阶。
TET4的适用极限和使用场景
TET4对弯曲变形精度低,不适用于弯曲主导的薄壳结构。实务中有时作为HEX单元区域和TET10区域边界的"胶水单元"使用,焊接热影响区(HAZ)等复杂形状部位无法生成HEX网格时的"最后手段"。应力精度验证时必须与相邻精密单元对比检查。
4节点四面体单元(TET4)的软件比较
各求解器对TET4的处理
各求解器如何定位TET4?
所有求解器都是"不推荐"。
Abaqus手册明确写着"C3D4 should generally not be used as a stress/displacement element"。Nastran也一样。求解器厂商自己不建议使用TET4。
网格生成软件的默认设置
有些网格生成软件默认生成TET4吗?
要注意:
- GMSH — 默认是 TET4 (order 1)。用
Mesh.ElementOrder = 2改为TET10 - Ansys Meshing — 默认单元阶次"Program Controlled",通常生成TET10
- Abaqus/CAE — 默认为TET10 (C3D10M)
- HyperMesh — 单元类型手动指定
GMSH默认为TET4是个陷阱。
GMSH + CalculiX的开源组合用TET4做分析、"精度怎么这么低"的初学者很多。必须设置ElementOrder = 2。
选择指南
关于TET4的选择指南。
"不用TET4"是唯一的选择指南(笑)。
对。关于TET4最好的建议就是"用TET10"。没有更简洁的指南了。
TET4主要求解器实现和推荐
TET4在Nastran中作为CTETRA(4)、Abaqus中作为C3D4、Ansys中作为SOLID285(混合线性四面体)实现。几乎所有商用代码都实现了TET4,但对结构应力分析的使用附带警告。Ansys Mechanical 2023版改变了网格设置,将TET4默认禁用,始终推荐TET10。LS-DYNA在冲击分析中使用TET4时有专用定式ELFORM=10(加质量法防止砂漏)。
4节点四面体单元(TET4)的前沿研究
TET4的改进研究
还在研究改进TET4吗?
很活跃。TET4网格易自动生成,若能将TET4精度提高到TET10水平,网格生成效率大幅提升。
平滑有限元法(S-FEM)
S-FEM是什么?
新加坡国立大学Liu G.R.教授团队开发。通常FEM在单元内计算应变,S-FEM在单元间的"平滑域"中计算应变。
应用于TET4的情况:
- ES-FEM(基于边) — 以边为基础的平滑。TET4可达TET10水平精度
- NS-FEM(基于节点) — 以节点为基础的平滑。上界估计(位移偏大)
- FS-FEM(基于面) — 以面为基础的平滑
ES-FEM若能让TET4达到TET10水平,这很实用。
理论上是这样。但商用求解器实现还不完善。研究代码(GEOFEM等)能用,但主流求解器Abaqus/Nastran没有内置。
虚拟单元法(VEM)
虚拟单元法是FEM的扩展,能使用任意多边形/多面体单元。代替四面体,用Voronoi分割的多面体单元,提高网格的自由度。
不必局限四面体?
VEM中可用五边形或六边形等多个面的多面体单元。形状的自由度高,网格生成容易。还在研究阶段,但有可能成为TET4/TET10的替代。
嵌入边界法
嵌入边界有限元法是将CAD形状"嵌入背景网格"的手法。背景网格采用简单的HEX8或TET4格子,CAD形状被背景网格切割。切割的单元用特殊积分处理。
网格生成本身变不必要了?
是的。FCM(有限单元法)或CutFEM属于这类。从CAD直接进入FEM分析的"无网格CAE"愿景的体现,活跃研究中。
总结
TET4的前沿研究总结。
TET4的"精度低"问题可能用单元技术创新解决。但现阶段用TET10最可靠。
TET4的稳定化和体积锁定
TET4在完全非压缩(ν=0.5)材料中体积锁定明显,位移可能变为实解的1/100以下。1980年代Hughes等提出的F-bar法(体积平均F-bar)应用于线性TET4可大幅减轻体积锁定。最新的选择性简化积分(SRI)TET4可避免锁定同时保持四面体网格的速度,已在生物力学(骨骼肌仿真)代码中应用。
4节点四面体单元(TET4)的故障排除
TET4的故障
用了TET4的故障排除方法。
TET4最大的故障是"用了TET4"这件事本身,但具体症状和对策看看。
应力低于理论值的一半
弯曲问题最大应力只有理论值50%。
TET4的典型症状。常应变单元无法表现弯曲应力梯度,最大应力严重过小估计。
对策:
1. 转换为TET10 — 最好的办法。精度大幅改善
2. 网格细化5倍 — TET4也能提高精度,但计算成本巨大
3. 放弃结果 — TET4的应力用不了,设计判断不能依靠
应力等值线参差不齐
应力等值线每个单元颜色不同,不光滑。
TET4单元内应变恒定,相邻单元应力大跳跃。非平均化的应力等值线显示为棋盘图案。
平均化后会光滑?
看起来光滑,但平均化损失信息。应力集中峰值被平均化低估。"光滑等值线 = 精确"不成立。非平均化等值线的不连续大的地方,说明网格粗。
位移相符但应力不相符
挠度接近理论值,应力却大幅偏离。
FEM是位移法,位移相对收敛快,但应力(位移的微分)收敛慢。TET4中这个差尤其明显。
一般地:
- 位移误差 ∝ $h^2$(网格尺寸平方)
- 应力误差 ∝ $h$(网格尺寸1次)
TET4中即使位移精度合理,应力精度也低一个数量级。
体积锁定
TET4做非压缩材料分析,位移异常小。
体积锁定。TET4各单元有一个体积约束条件,当 $\nu \to 0.5$ 时自由度过约束。
对策:
- 转为TET10M(改进) — Abaqus的C3D10M已对体积锁定处理
- TET4的u-p格式 — Ansys的SOLID285。压力作为独立变量避免锁定
- $\nu = 0.499$ 设置 — 避免完全非压缩(应急)
检测TET4的方法
模型中有没有TET4怎样确认?
.inp 文件查找 *ELEMENT, TYPE=C3D4。C3D10或C3D10M安全接收他人模型时首先要做的。
正确。"TET4检测"是模型审查的第一步。发现TET4,要求提供方转为TET10。这样就保证了分析质量。
总结
TET4的故障排除整理。
.inp或.bdf中确认单元类型。模型审查首步结论: TET4的所有故障都能通过转为TET10解决。
没有更精简的故障排除指南了。TET4 → TET10。这就是全部。
TET4的过刚性(刚度过大)问题确认
TET4相同自由度数下比HEX8刚度高4~10倍(过刚性)。这由常应变特性造成,网格收敛时仍位移比实解偏小。诊断法是TET10同一模型对比:TET4结果若比TET10位移小20%以上,说明TET4的过刚性影响了分析精度。Abaqus中使用C3D4(TET4)时自动输出WARNING: ELEMENT TYPE NOT RECOMMENDED FOR STRESS ANALYSIS警告。
相关专题
价值
详细
报告