首页/文章/ 详情

刚度会松弛到 0:纯 Burgers 接触模型的三条本构缺失

1小时前浏览0
结论:Burgers 模型本身没有"平衡模量"、没有"蠕变阈值"、没有"加速段",也产生不了裂纹。这四条不是实现缺陷,而是写在本构方程里的——把官方方程拆开就能看到。所以它能模拟"衰减 + 稳态"两段蠕变,却给不出常规蠕变试验那条完整的、以破坏告终的曲线。

先说清楚一件事,免得被误解:Burgers 是流变学里的经典四元件模型,它能模拟蠕变。它的蠕变柔量长这样:

bashJ(t) = 1/K_m + t/C_m + (1/K_k)·(1 - e^(-t/τ_k))

瞬时弹性(第一项)+ 稳态黏性流动(第二项)+ 延迟弹性(第三项)。教科书上就是这么写的。

但"能蠕变"和"能模拟常规蠕变现象"是两回事。 这篇文章把 PFC 官方文档里的本构方程拆开,指出它缺的三样东西,并用本机 PFC 6.0 实跑验证。


1. 一、先确认模型长什么样

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 串联,而且法向和切向各一套。它作用在无穷小面积上、只传力不传力矩。

alt  

图1 Burgers 模型的力学元件。Kelvin 段内部并联、Maxwell 段内部串联,两段之间再串联。

官方给的本构微分方程(文档 Eq.5)是:

bashf + a₁·ḟ + a₂·f̈ = ±C_m·u̇ ± (C_k·C_m/K_k)·ü

a₁ = C_k/K_k + C_m·(1/K_k + 1/K_m)
a₂ = C_k·C_m/(K_k·K_m)

下面三条缺失,全都从这一个方程里读出来。


2. 二、缺失一:没有平衡模量(刚度会松弛到 0)

2.1 证明

把位移固定住(应力松弛条件):u = const,于是 u̇ = 0、ü = 0,方程右边归零,退化成齐次方程:

bashf + a₁·ḟ + a₂·f̈ = 0

它的特征方程是:

basha₂·s² + a₁·s + 1 = 0

关键在常数项是 1,不是 0。 这意味着 s = 0 不是根。反证一下:假设存在非零稳态解 f ≡ f∞,代进原方程得到 1·f∞ = 0,矛盾。所以模型根本不存在非零平衡解。

再看两根的符号:两根之积 = 1/a₂ > 0,两根之和 = -a₁/a₂ < 0。由于 a₁、a₂ 都是正的,两个根的实部必然都是负的。

结论:f(t) → 0。恒定位移下,接触力指数衰减到零,一丝不剩。

2.2 实跑验证

我拿官方验证算例的参数(k = c = 1×10⁸,初始重叠 0.01)在本机 PFC 6.0 跑了一遍。解析解与数值结果:

时刻      
解析解      
PFC 实测      
t = 0      
1.0×10⁶      
≈1.0×10⁶      
t = 12      
2824.22      
2824.089      

误差 0.005%。 两条曲线完全重合。

alt  

图2 归一化接触力随时间的变化(对数纵轴)。Burgers 单调衰减到零;作为对照,标准线性固体(三元件,SLS)衰减到一个有限的残余值 E∞。

图上同时画了标准线性固体:它的松弛模量是 E(t) = E∞ + E₁·e^(-t/τ),恒定位移下保留住 E∞ 的刚度。差别就在这里——Burgers 没有这一项。

2.3 一个常见误解

别把 K_k 当成"长期(平衡)刚度",它不是。 Kelvin 段的弹簧虽然并联了一个阻尼器,但在串联结构里,随着 Maxwell 段的阻尼器持续流动,Kelvin 段的变形 u_k 也会被慢慢"吸走"(u_k → 0),最终它同样被完全卸载。

用一句话概括 Maxwell 阻尼器的性质:它没有回复力。 恒定变形下它不断流动,把弹簧里存的弹性势能一点点耗散掉,直到力归零。

2.4 对偶面:蠕变侧

同一件事在蠕变侧长这样——恒定应力下,蠕变柔量的 t/C_m 项随时间线性增长,不收敛:

bashdJ/dt = 1/C_m + (1/C_k)·e^(-t/τ_k) > 0   对所有 t 成立

只要应力非零,变形就永不停止。


3. 三、缺失二:没有蠕变阈值(没有长期强度)

真实的岩土材料有一个应力门槛:低于它,蠕变速率会衰减到可忽略,变形趋于稳定。这就是"长期强度"的物理来源,也是分级加载蠕变试验里那条"稳定蠕变曲线"能画出来的原因。

Burgers 没有这个门槛。看蠕变柔量的导数:

bashdJ/dt = 1/C_m + (1/C_k)·e^(-t/τ_k)

第二项随时间衰减到零,但第一项 1/C_m 是常数。也就是说,稳态蠕变速率不依赖于应变已经积累了多少,只依赖应力本身。应力一旦非零,Maxwell 阻尼器就永远以 f/C_m 的速率流动下去。

实跑数据(恒定外力 F = 2×10⁴):

alt  

图3 PFC 6.0 实跑:恒定的向下外力作用在球 2 上,位移随时间持续增长。前段是弹性跳跃,之后进入严格的线性段。

线性段的斜率实测为 2.00×10⁻⁴,而理论稳态速率是:

bashu̇ = F/C_m = 2×10⁴ / 1×10⁸ = 2.0×10⁻⁴

吻合到三位有效数字。 位移没有渐近线,一直增长下去——它不会停。

这个模型里不存在"安全应力":不管把外力降到多小,只要不为零,位移总会以某个恒定速率无限累积下去。工程上"低于某应力蠕变可忽略"的判断,在本构层面没有对应的数学结构。


4. 四、缺失三:没有加速段,也没有损伤

4.1 速率恒为减函数

三阶段蠕变的分界,本质上是应变速率曲线的形状:主蠕变段速率递减,稳态段速率恒定,第三阶段速率递增直到破坏。

对 Burgers 求应变速率:

bashε̇(t) = σ·[ 1/C_m + (1/C_k)·e^(-t/τ_k) ]

对它求导:

bashdε̇/dt = -(σ·K_k/C_k²)·e^(-t/τ_k) < 0   对所有 t 成立

速率严格单调递减,永远不会上升。 第三阶段(加速蠕变)在本构上不可达——不是"参数没调好",是方程里根本没有能让它上升的项。

alt  

图4 归一化应变速率对比。真实岩石(蓝)走完 U 形:递减 → 平台 → 递增;Burgers(红)递减到稳态速率后彻底水平,再也不动。两条曲线的稳态速率取相同值,所以差异只来自第三段的缺失。

4.2 损伤层面:三样东西都没有

  • 没有键:源码里 isOKToDelete() { return !isBonded(); },官方文档的成键模型清单(contact bond / parallel bond / flat joint / smooth joint)里也没有它。
  • 没有裂纹事件:切向强度只有纯库仑摩擦 Fs* = -fs·Fn,没有黏聚力项,也就没有键断裂、没有 crack 计数。
  • 没有能量分区:官方原文 “does not provide any energy partition”,耗散能得自己用 FISH 累。

所以损伤变量、声发射、破裂演化这一类指标,用它都做不出来。


5. 五、那"常规蠕变现象"到底指什么

把实验室那条完整的蠕变曲线拆成要素,逐条对一遍:

蠕变曲线的要素      
纯 Burgers 能否给出      
瞬时弹性变形      
能      
主蠕变(速率递减)      
能      
稳态蠕变(速率恒定)      
能      
长期强度 / 蠕变阈值      
不能      
(速率下界为非零常数)      
加速蠕变(第三阶段)      
不能      
(速率恒为减函数)      
蠕变破坏与裂纹演化      
不能      
(无键、无裂纹事件)      
卸载后的残余刚度      
不能      
(无平衡模量,最终全部松弛)      

前两段能做,后四段做不了。 而"常规蠕变试验"之所以有工程价值,恰恰是因为后四段——工程师关心的是"它什么时候坏",而不是"它前两段拟合得多好"。


6. 六、那文献是怎么用的

既然纯 Burgers 有这些缺失,为什么还有大量论文用它做岩石蠕变?

翻一遍那些工作的接触配置就会发现,它们用的都不是纯 Burgers。通行做法是 BPB 混杂接触模型(Burgers + Parallel Bond):

  • Burgers 接触负责时间相关变形
  • 平行键负责强度、损伤与破裂

而且 Burgers 接触的占比通常很小——有报道称煤样中 Burger : linearpbond 的接触数约为 1:9(高压物理学报,2025)。

这个配比背后有个容易被忽略的原因。上一节证明了纯 Burgers 没有平衡模量——平行键是纯弹性的、不松弛,它恰好补上了 Burgers 缺失的那块长期刚度。所以 BPB 的意义不只是"加个键好出裂纹",也是"让骨架不至于在长期持载下被松弛干净"。

代价:PFC 一个接触只能挂一个模型,BPB 必须自己写。好在 Itasca 把 Burger 接触模型的完整 C++ 源码公开在文档的插件章节(contactmodelburger.h/.cpp),是在它基础上加并联弹簧(做 SLS)或加平行键(做 BPB)的现成起点。


7. 七、结论

Burgers 模型的设计目的是描述黏弹性变形,不是描述蠕变破坏。它的三条缺失全部写在本构方程里:

三条缺失
① 特征方程 a₂s² + a₁s + 1 = 0 常数项为 1 → 无平衡模量,恒定位移下力松弛到 0
② 蠕变柔量含不收敛的 t/C_m 项 → 无蠕变阈值,任何非零应力都无限蠕变
③ 速率 dε̇/dt < 0 恒成立 → 无加速段,第三阶段不可达

适用边界的正确表述是:纯 Burgers 能模拟"以黏弹变形为主、不涉及破坏"的时间相关行为(沥青混合料是它最自洽的应用场景);一旦问题里出现"长期强度"“加速蠕变”"裂纹演化"中的任何一个,纯 Burgers 就不够了,得换 linearpbond / flatjoint / smoothjoint,或者自建 BPB。

这不是说这个模型不好——是说别把它的能力边界当成参数问题。刚度松弛到 0 不是 bug,是 Maxell 阻尼器没有回复力的必然结果。

复现说明:本文所有数值均在 PFC 6.0 本机实跑。松弛算例复现官方验证题 burger.p2dat 的参数;蠕变算例为自建单接触模型。解析解与实测的最大偏差 0.005%。
VibePFC 社区 · 一起把 AI 玩进 PFC
我成立了一个 VibePFC 社群,专门聊 AI 怎么落地到 PFC / 数值模拟——让大模型读懂模型、自己改脚本、自动排查"看不懂"的问题。收一个 50 元的门槛费。
想进群的同学,加 QQ 763388012,备注"vibePFC"即可。

参考资料

  • Itasca PFC 6.0 文档,Burger’s Model 章节(common/contactmodel/burger/doc/manual/cmburger.html)
  • Itasca PFC 6.0 文档,Built-in Contact Models 章节(模型定位与成键模型清单)
  • Itasca PFC 6.0 验证算例 datafiles2d/verifications/burger/stress_relaxation/burger.p2dat
  • Itasca PFC 6.0 文档,Burger’s Contact Model Implementation(公开的 C++ 源码)


来源:超级大的lobby
ACTMaxwell断裂UG岩土裂纹理论PFC材料试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-10-15
最近编辑:1小时前
lobby
硕士 | 无 擅长颗粒流PFC
获赞 963粉丝 5938文章 102课程 23
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈