先说清楚一件事,免得被误解:Burgers 是流变学里的经典四元件模型,它能模拟蠕变。它的蠕变柔量长这样:
瞬时弹性(第一项)+ 稳态黏性流动(第二项)+ 延迟弹性(第三项)。教科书上就是这么写的。
但"能蠕变"和"能模拟常规蠕变现象"是两回事。 这篇文章把 PFC 官方文档里的本构方程拆开,指出它缺的三样东西,并用本机 PFC 6.0 实跑验证。
PFC 6.0 官方文档对 Burger 接触模型的定义只有一句话:
Burger’s model simulates creep mechanisms by using a Kelvin model and a Maxwell model connected in series in both the normal and shear directions.
翻译过来:Kelvin 与 Maxwell 串联,而且法向和切向各一套。它作用在无穷小面积上、只传力不传力矩。
图1 Burgers 模型的力学元件。Kelvin 段内部并联、Maxwell 段内部串联,两段之间再串联。
官方给的本构微分方程(文档 Eq.5)是:
下面三条缺失,全都从这一个方程里读出来。
把位移固定住(应力松弛条件):u = const,于是 u̇ = 0、ü = 0,方程右边归零,退化成齐次方程:
它的特征方程是:
关键在常数项是 1,不是 0。 这意味着 s = 0 不是根。反证一下:假设存在非零稳态解 f ≡ f∞,代进原方程得到 1·f∞ = 0,矛盾。所以模型根本不存在非零平衡解。
再看两根的符号:两根之积 = 1/a₂ > 0,两根之和 = -a₁/a₂ < 0。由于 a₁、a₂ 都是正的,两个根的实部必然都是负的。
结论:f(t) → 0。恒定位移下,接触力指数衰减到零,一丝不剩。
我拿官方验证算例的参数(k = c = 1×10⁸,初始重叠 0.01)在本机 PFC 6.0 跑了一遍。解析解与数值结果:
误差 0.005%。 两条曲线完全重合。
图2 归一化接触力随时间的变化(对数纵轴)。Burgers 单调衰减到零;作为对照,标准线性固体(三元件,SLS)衰减到一个有限的残余值 E∞。
图上同时画了标准线性固体:它的松弛模量是 E(t) = E∞ + E₁·e^(-t/τ),恒定位移下保留住 E∞ 的刚度。差别就在这里——Burgers 没有这一项。
别把 K_k 当成"长期(平衡)刚度",它不是。 Kelvin 段的弹簧虽然并联了一个阻尼器,但在串联结构里,随着 Maxwell 段的阻尼器持续流动,Kelvin 段的变形 u_k 也会被慢慢"吸走"(u_k → 0),最终它同样被完全卸载。
用一句话概括 Maxwell 阻尼器的性质:它没有回复力。 恒定变形下它不断流动,把弹簧里存的弹性势能一点点耗散掉,直到力归零。
同一件事在蠕变侧长这样——恒定应力下,蠕变柔量的 t/C_m 项随时间线性增长,不收敛:
只要应力非零,变形就永不停止。
真实的岩土材料有一个应力门槛:低于它,蠕变速率会衰减到可忽略,变形趋于稳定。这就是"长期强度"的物理来源,也是分级加载蠕变试验里那条"稳定蠕变曲线"能画出来的原因。
Burgers 没有这个门槛。看蠕变柔量的导数:
第二项随时间衰减到零,但第一项 1/C_m 是常数。也就是说,稳态蠕变速率不依赖于应变已经积累了多少,只依赖应力本身。应力一旦非零,Maxwell 阻尼器就永远以 f/C_m 的速率流动下去。
实跑数据(恒定外力 F = 2×10⁴):
图3 PFC 6.0 实跑:恒定的向下外力作用在球 2 上,位移随时间持续增长。前段是弹性跳跃,之后进入严格的线性段。
线性段的斜率实测为 2.00×10⁻⁴,而理论稳态速率是:
吻合到三位有效数字。 位移没有渐近线,一直增长下去——它不会停。
这个模型里不存在"安全应力":不管把外力降到多小,只要不为零,位移总会以某个恒定速率无限累积下去。工程上"低于某应力蠕变可忽略"的判断,在本构层面没有对应的数学结构。
三阶段蠕变的分界,本质上是应变速率曲线的形状:主蠕变段速率递减,稳态段速率恒定,第三阶段速率递增直到破坏。
对 Burgers 求应变速率:
对它求导:
速率严格单调递减,永远不会上升。 第三阶段(加速蠕变)在本构上不可达——不是"参数没调好",是方程里根本没有能让它上升的项。
图4 归一化应变速率对比。真实岩石(蓝)走完 U 形:递减 → 平台 → 递增;Burgers(红)递减到稳态速率后彻底水平,再也不动。两条曲线的稳态速率取相同值,所以差异只来自第三段的缺失。
isOKToDelete() { return !isBonded(); },官方文档的成键模型清单(contact bond / parallel bond / flat joint / smooth joint)里也没有它。Fs* = -fs·Fn,没有黏聚力项,也就没有键断裂、没有 crack 计数。所以损伤变量、声发射、破裂演化这一类指标,用它都做不出来。
把实验室那条完整的蠕变曲线拆成要素,逐条对一遍:
| 不能 | |
| 不能 | |
| 不能 | |
| 不能 |
前两段能做,后四段做不了。 而"常规蠕变试验"之所以有工程价值,恰恰是因为后四段——工程师关心的是"它什么时候坏",而不是"它前两段拟合得多好"。
既然纯 Burgers 有这些缺失,为什么还有大量论文用它做岩石蠕变?
翻一遍那些工作的接触配置就会发现,它们用的都不是纯 Burgers。通行做法是 BPB 混杂接触模型(Burgers + Parallel Bond):
而且 Burgers 接触的占比通常很小——有报道称煤样中 Burger : linearpbond 的接触数约为 1:9(高压物理学报,2025)。
这个配比背后有个容易被忽略的原因。上一节证明了纯 Burgers 没有平衡模量——平行键是纯弹性的、不松弛,它恰好补上了 Burgers 缺失的那块长期刚度。所以 BPB 的意义不只是"加个键好出裂纹",也是"让骨架不至于在长期持载下被松弛干净"。
代价:PFC 一个接触只能挂一个模型,BPB 必须自己写。好在 Itasca 把 Burger 接触模型的完整 C++ 源码公开在文档的插件章节(contactmodelburger.h/.cpp),是在它基础上加并联弹簧(做 SLS)或加平行键(做 BPB)的现成起点。
Burgers 模型的设计目的是描述黏弹性变形,不是描述蠕变破坏。它的三条缺失全部写在本构方程里:
a₂s² + a₁s + 1 = 0 常数项为 1 → 无平衡模量,恒定位移下力松弛到 0t/C_m 项 → 无蠕变阈值,任何非零应力都无限蠕变dε̇/dt < 0 恒成立 → 无加速段,第三阶段不可达 适用边界的正确表述是:纯 Burgers 能模拟"以黏弹变形为主、不涉及破坏"的时间相关行为(沥青混合料是它最自洽的应用场景);一旦问题里出现"长期强度"“加速蠕变”"裂纹演化"中的任何一个,纯 Burgers 就不够了,得换 linearpbond / flatjoint / smoothjoint,或者自建 BPB。
这不是说这个模型不好——是说别把它的能力边界当成参数问题。刚度松弛到 0 不是 bug,是 Maxell 阻尼器没有回复力的必然结果。
burger.p2dat 的参数;蠕变算例为自建单接触模型。解析解与实测的最大偏差 0.005%。 763388012,备注"vibePFC"即可。 参考资料
common/contactmodel/burger/doc/manual/cmburger.html)datafiles2d/verifications/burger/stress_relaxation/burger.p2dat