无网格与粒子方法选型:SPH、EFG、RKPM、MPM 与周边动力学

从离散对象、控制方程形式、材料响应与边界条件四个维度比较 SPH、EFG、RKPM、MPM 与周边动力学,给出形函数、键力与映射公式,并整理选型决策、参数敏感性与验证要点。

SPHMPM无网格法EFGRKPM周边动力学选型入门

无网格与粒子方法选型

1 结论与适用场景

“不生成传统有限元网格”并不足以决定方法。选型前应先回答四个问题:求解对象是流体还是固体;是否存在极大变形、断裂或自由表面;边界条件需要多高精度;最终更关心局部应力路径还是整体运动形态。只有把需求写成约束,方法选择才有意义。

据此可以给出一个粗略但实用的结论。若目标是自由表面位置、飞溅、多相混合或流固耦合中的流体侧,SPH 通常最直接。若固体要保持应力精度和塑性区形状,并允许中等到大变形,EFG 与 RKPM 更合适。若涉及土体、冲击、接触和极端挤压变形,MPM 凭借背景网格与粒子混合的优势往往更稳。若裂纹需要自然萌生和扩展且不希望预设路径,周边动力学具有先天优势。线性外域声学或无限域势流可优先评估边界元法。选型不是追求“最先进”,而是在精度、稳定性、实现成本与可复现性之间取得平衡。

此外还要考虑实现与运维成本。SPH 的代码结构简单,邻居搜索是主要开销,适合快速原型与大规模并行;MPM 需要同时维护粒子与网格两套数据结构,显隐式切换与接触算法复杂;周边动力学对每个点求非局部积分,计算量随视界内邻居数增长,参数标定成本高。团队已有的求解器、硬件架构与后处理链路同样是约束条件,选型应优先复用成熟的验证基准,而不是从零搭建一个难以确认的新方法。

2 原理与分类

所有无网格方法都可以沿两个坐标轴定位:离散对象与控制方程形式。

按离散对象分:

  • 携带质量与状态量的粒子(SPH、DPD):一切量随粒子迁移,适合对流主导问题。
  • 分布节点加局部支撑形函数(EFG、RKPM、MLPG):用移动最小二乘或再生核构造近似,节点几何自由。
  • 拉格朗日粒子加背景网格(MPM):粒子携带材料历史,网格只用于求解动量方程。
  • 有限作用距离内的键或状态(周边动力学):用非局部积分替代空间导数。
  • 只离散边界的节点或单元(BEM):依赖基本解,适合线性外域问题。

按控制方程形式分:强形式(SPH、周边动力学)、全局弱形式(EFG、RKPM)、局部弱形式(MLPG)与配点形式。强形式实现轻量但要求场足够光滑;弱形式对导数要求低、精度高,但需要背景积分且施加本质边界条件代价较高;局部弱形式介于两者之间。MPM 使用背景网格完成动量更新,通常归入粒子法或混合欧拉—拉格朗日方法,它并非严格意义上完全无网格。BEM 只离散边界,但依赖可用的基本解,也不能替代任意非线性体问题的体离散。

两种分类相互独立:同一离散对象可以配套不同控制方程。例如节点形函数既可构造全局弱形式(EFG、RKPM),也可构造局部弱形式(MLPG)或配点格式;粒子既可用于强形式(SPH),也可用于混合映射(MPM)。分类的意义在于提醒我们,精度、稳定性与边界处理的难点来自离散方式与控制方程形式的不同组合,而不是来自方法名称。弱形式精度高但要处理背景积分和本质边界条件,强形式实现轻量但要求场光滑且对不连续敏感。

3 核心公式与方法

EFG 与 RKPM 都用形函数对场做近似。以移动最小二乘为例,场近似与形函数写作:

uh(x)=∑IΦI(x)uI,ΦI(x)=pT(x)A−1(x)p(xI)wI(x),u^{h}(\mathbf{x})=\sum_{I}\Phi_{I}(\mathbf{x})u_{I},\qquad \Phi_{I}(\mathbf{x})=\mathbf{p}^{T}(\mathbf{x})\mathbf{A}^{-1}(\mathbf{x})\mathbf{p}(\mathbf{x}_{I})w_{I}(\mathbf{x}),

其中矩矩阵为 A(x)=∑IwI(x)p(xI)pT(xI)\mathbf{A}(\mathbf{x})=\sum_{I}w_{I}(\mathbf{x})\mathbf{p}(\mathbf{x}_{I})\mathbf{p}^{T}(\mathbf{x}_{I}),p\mathbf{p} 为基函数向量,wIw_I 为权函数。权支撑域尺寸决定近似阶次与带宽,A\mathbf{A} 奇异性意味着支撑内节点不足。

SPH 用核近似与成对对称形式逼近梯度,粒子求和为:

A(xi)≈∑jmjρjAjWij.A(\mathbf{x}_i)\approx\sum_{j}\frac{m_j}{\rho_j}A_jW_{ij}.

周边动力学用非局部键力替代应力散度,运动方程为对作用域 H\mathcal{H} 的积分:

ρu¨(x,t)=∫Hf ⁣(u(x′,t)−u(x,t), x′−x)dV′+b.\rho\ddot{\mathbf{u}}(\mathbf{x},t)=\int_{\mathcal{H}}\mathbf{f}\!\left(\mathbf{u}(\mathbf{x}',t)-\mathbf{u}(\mathbf{x},t),\,\mathbf{x}'-\mathbf{x}\right)dV'+\mathbf{b}.

MMPM 的核心是粒子与网格之间的双向映射:粒子到网格(P2G)传递质量与动量,网格求解动量方程后再映射回粒子(G2P),并更新粒子应力与形变。映射核的宽度、网格尺寸与粒子间距共同决定“网格穿越误差”。

再生核方法通过在近似中引入矩条件修正,使形函数满足再生(零阶与一阶)条件,从而在边界或节点分布不均时仍保持一致性,这使 RKPM 的近似精度通常优于纯移动最小二乘。需要强调,形函数一致性与数值积分精度是两件事:即使形函数满足高阶再生条件,若背景积分不足,离散方程仍会引入显著误差。SPH 与周边动力学的精度则更依赖邻居完备性,靠近自由表面或壁面时邻居缺失会直接破坏一致性。

4 数值实现与参数

空间分辨率与支持域是模型的一部分,不是事后显示参数。SPH 的平滑长度 hh、周边动力学的视界 δ\delta、EFG/RKPM 的权支撑半径、MPM 的网格尺寸,都会影响波速、耗散与局部化宽度。这些尺度之间应保持可比,例如 h/Δph/\Delta p 决定每个粒子平均邻居数,δ/Δx\delta/\Delta x 决定非局部作用半径与边界修正范围。

时间积分方面:SPH 与周边动力学通常采用显式积分,受声学、加速度与黏性时间步共同限制;EFG/RKPM 若用隐式求解,需关注矩矩阵条件数与积分点布置;MPM 显式方案受网格声速步长限制,隐式则需处理网格与粒子应力的非线性耦合。MPM 还需单独监控网格穿越误差:当粒子跨越单元边界时映射核变化会引起应力振荡,可通过减小网格尺寸、增大映射支撑或采用无网格映射核缓解。

多种方法在极端变形下都会遇到稳定性问题。MPM 可能出现数值断裂和单元间的“黏滞”接触;SPH 可能拉伸不稳定;周边动力学在表面处若不修正会缺失键力。参数选取应服务于物理目标,并把所有稳定化系数与启用条件一并记录。

时间步估计上,显式方法的稳定步长常与最小特征时间成正比,可写成类似 Δt≤C h/(c+∣v∣max⁡)\Delta t\leq C\,h/(c+|\mathbf{v}|_{\max}) 的形式,其中声速 cc 由状态方程或材料刚度决定,系数 CC 依赖具体离散方案。支持域越大,稳定步长越小,成本随之上升。隐式方案虽然允许更大步长,但每次迭代都要组装并求解大系统,在强非线性下仍需小步长以保证收敛。无论显式还是隐式,都应同时监控声学、加速度与黏性三类时间尺度。

5 可复现示例

选型可以落成一张标准题对照矩阵,用同一物理问题比较不同方法的能力边界。

  • 自由表面:溃坝(dam break)与静水柱坍塌,比较前沿位置、压力与质量守恒,SPH 天然适配。
  • 大变形固体:单轴压缩或三点弯梁到超大应变,EFG/RKPM 与 MPM 均可,关注应力路径与能量平衡。
  • 接触与冲击:泰勒杆或弹体侵彻,MPM 擅长处理接触和网格穿越,需报告接触能量与穿透量。
  • 裂纹扩展:预置缺口三点弯或巴西圆盘,周边动力学无需预设裂纹路径,需标定视界与临界伸长。
  • 线性外域:脉动球声辐射或绕球势流,BEM 以边界离散给出高精度解,可作为体积法的参考。

伪代码(统一验证流程):

define benchmark(s), material, and acceptance quantities
for each candidate method:
  run three resolutions with consistent geometry and post-processing
  check conservation budgets (mass, momentum, energy)
  report convergence order or sensitivity trend
  document parameters and stabilization settings
compare against analytical, high-fidelity, or experimental reference

6 常见坑与排查

  • 把“无网格”当成无需分辨率控制:粒子间距、支持域和网格尺寸都是收敛参数,随意加密会改变耗散与波速。
  • 用光滑动画代替验证:图像连续不等于守恒或收敛,必须比较剖面、相位与守恒量。
  • 混淆数值耗散与材料黏性:人工黏性、密度扩散与稳定化项都要单独记录系数与触发条件。
  • MPM 网格穿越误差被忽略:应力振荡常被误认为物理,应做网格敏感性并检查接触处理。
  • 本质边界条件处理不当:EFG/RKPM 直接强加位移会引入误差,应使用拉格朗日乘子、罚函数或耦合有限元过渡区。
  • 表面或自由边界未修正:周边动力学与 SPH 在表面处键或邻居缺失,需几何修正。
  • 参数只在最后调:支持域与视界若只在末段调整,会破坏前期结果的物理一致性。
  • 忽略形函数一致性检验:用常数场与线性场检查近似误差,是识别实现错误的最快手段。
  • 时间步只按声速估计:忽略加速度与黏性限制,可能在强加速区出现不稳定。
  • 把 MPM 当成完全无网格:背景网格尺寸与映射对结果影响显著,必须做网格敏感性。

7 检查清单与参考

  1. 用需求约束(流体/固体、变形程度、断裂、边界精度、关注量)确定候选方法,而非直接选择最熟悉的方法。
  2. 用具有解析解或高精度参考解的标准题验证空间收敛阶。
  3. 检查质量、动量和能量平衡,解释算法耗散的来源与量级。
  4. 分别验证壁面、接触、自由表面和材料本构。
  5. 改变粒子间距、支持域(或视界)和时间步,报告关键量敏感性。
  6. 把数值验证与实验确认分开表述,避免把校准当作独立确认。

参考:

  1. Belytschko et al., “Meshless methods: An overview and recent developments,” Computer Methods in Applied Mechanics and Engineering, 1996.
  2. Liu & Liu, “Smoothed Particle Hydrodynamics: A Meshfree Particle Method,” 2003.
  3. Sulsky, Chen & Schreyer, “A particle method for history-dependent materials,” Computer Methods in Applied Mechanics and Engineering, 1994.
  4. Silling, “Reformulation of elasticity theory for discontinuities and long-range forces,” Journal of the Mechanics and Physics of Solids, 2000.