2. 显式动力学理论基础

显式动力学之所以能处理碰撞、冲击、侵彻这类强非线性瞬态问题,核心在于它用一套“不求解联立方程组”的时间推进方式,把复杂的隐式迭代换成了逐时刻的显式递推。理解这条主线,需要抓住四个相互咬合的概念:运动方程、中心差分法、时间步长与临界步长、沙漏控制与能量平衡。它们不是并列的知识点,而是一条从物理到数值、从稳定到可信的因果链。

一、运动方程:显式求解的物理起点

结构动力学的基本运动方程写作:

M·a(t) + C·v(t) + F_int(u,t) = F_ext(t)

其中 M 为质量矩阵,C 为阻尼矩阵,F_int 为内力(由单元应力积分得到),F_ext 为外力,u、v、a 分别为位移、速度、加速度。隐式方法需要把 F_int 对位移的导数(切线刚度)组装成整体刚度矩阵并求解线性方程组;显式方法则利用一个关键事实:如果采用集中质量(lumped mass)处理,M 是对角矩阵,那么加速度可以直接由力除以质量得到:

a(t) = M⁻¹ · [F_ext(t) − F_int(u,t) − C·v(t)]

这一步“求逆”退化为逐自由度的除法,不需要矩阵分解,也不需要迭代收敛判断。代价是必须使用很小的时间步长来保证稳定,这正是显式方法“以时间换空间”的本质。

二、中心差分法:时间推进的引擎

中心差分法用相邻时刻的位移差近似速度和加速度。设时间步长为 Δt,在 t_n 时刻:

v_n = (u_{n+1} − u_{n−1}) / (2Δt)
a_n = (u_{n+1} − 2u_n + u_{n−1}) / Δt²

把 a_n 代入运动方程,整理后得到位移递推公式:

u_{n+1} = 2u_n − u_{n−1} + Δt² · M⁻¹ · (F_ext − F_int)

这就是显式动力学的“心跳”:已知前两步位移,直接算出下一步位移,再更新速度和加速度。整个过程没有联立求解,每一步的计算量正比于单元数量,因此适合大规模并行计算。需要注意的是,中心差分法属于条件稳定算法,稳定性完全取决于 Δt 是否小于临界步长。

三、时间步长与临界步长:稳定性的红线

临界步长由结构中“最快”的应力波决定。对一维杆件,理论临界步长为:

Δt_cr = L / c,c = √(E/ρ)

其中 L 为单元特征长度,c 为材料声速,E 为弹性模量,ρ 为密度。LS-DYNA 实际使用的稳定步长还要乘以一个安全系数(默认约 0.9),并考虑单元类型、沙漏控制、接触刚度等因素。工程上常说的“最小单元决定时间步长”,就是因为 Δt_cr 与最小单元尺寸成正比。若把最小单元尺寸缩小一半,计算步数大约翻倍,总耗时也近似翻倍。

因此,在碰撞模型中要特别警惕三类“小单元”:过渡区细化网格、倒角/圆角处的退化单元、以及因大变形被压扁的实体单元。它们会把整体时间步长拖到极小,使计算变得不经济。常用对策包括:质量缩放(mass scaling)人为增大密度以抬高 Δt_cr,或对局部网格做合理简化。质量缩放必须控制幅度,一般建议总质量增加不超过 1%~5%,否则惯性效应会污染结果。

显式动力学时间推进与稳定性关系 中心差分递推链 已知 u_{n−1}, u_n 计算 a_n = M⁻¹(F_ext−F_int) u_{n+1}=2u_n−u_{n−1}+Δt²·a_n 更新 v_n,进入下一时刻 稳定性判据 Δt ≤ Δt_cr = L_min / c c = √(E/ρ) Δt 过大 → 数值振荡发散 L_min 由最小单元决定 质量缩放可抬高 Δt_cr 能量平衡检查 总能量 = 动能 + 内能 + 沙漏能 沙漏能 / 内能 < 5% 滑移能非负、无突变 能量守恒 → 结果可信 能量异常 → 检查沙漏/接触

四、沙漏控制:单点积分的必要代价

显式动力学为了效率,实体单元和壳单元普遍采用单点积分(reduced integration)。单点积分只在一个积分点计算应力,计算量小,但会引入一种非物理的零能变形模式——沙漏模式。它的典型表现是单元呈现“锯齿状”或“棋盘状”变形,网格节点交替错动,而单元本身几乎不消耗能量。如果不加控制,沙漏能会不断累积,最终使结果完全失真。

LS-DYNA 提供多种沙漏控制方式,常用的是粘性沙漏控制和刚度沙漏控制。粘性控制通过引入与变形速率相关的阻尼力抑制沙漏,适用于大多数冲击问题;刚度控制则引入与沙漏变形相关的弹性恢复力,适用于需要更严格抑制沙漏的场合。控制参数(如 IHQ、QM)需要根据单元类型和问题特点选择。判断沙漏是否受控,最直接的指标就是能量比:沙漏能应远小于内能,工程上通常要求小于 5%,严格时要求小于 1%~2%。

五、能量平衡:结果可信度的最终裁判

显式动力学求解过程中,能量是逐步累积的。一个可信的计算,其总能量应满足:

E_total = E_kinetic + E_internal + E_hourglass + E_sliding + E_damping + E_external

其中动能和内能是主要部分,沙漏能、滑移能、阻尼能是数值耗散项。检查能量平衡时,重点关注三点:第一,沙漏能占内能的比例是否在可接受范围;第二,滑移能是否始终非负,若出现负值通常意味着接触定义有问题;第三,总能量是否出现异常跳变,例如接触穿透或单元负体积会导致能量突变。LS-DYNA 的 glstat 和 matsum 文件会输出这些能量曲线,是判断结果是否可信的第一手依据。

实用判断顺序:先看时间步长是否稳定(有无突然缩小),再看沙漏能占比,最后看总能量是否守恒。三者中任何一项异常,都应先排查网格质量、接触定义和沙漏控制参数,而不是急于解读应力云图。

六、把四个概念串起来

运动方程决定了“力如何变成加速度”,中心差分法决定了“加速度如何变成位移”,临界步长决定了“这个递推能走多快而不发散”,沙漏控制和能量平衡决定了“走出来的结果是否可信”。在 LS-DYNA 中,这四者通过 *CONTROL_TIMESTEP、*HOURGLASS、*DATABASE_BINARY_D3PLOT 等关键字直接关联。例如,设置 TSSFAC 调整时间步长安全系数,设置 IHQ 选择沙漏控制类型,设置 DT 控制输出频率。理解它们之间的因果链,才能在遇到计算发散、沙漏能超标或能量异常时,快速定位问题并给出有效对策。

常见误区:把质量缩放当作“万能加速器”。质量缩放确实能抬高临界步长,但会改变惯性效应,对惯性主导的碰撞问题尤其敏感。若必须使用,应优先对局部小单元做缩放,并监控总质量增加比例和动能变化,而不是全局大幅缩放。