FLAC3D双屈服模型,适用于煤矿填充,隧道让压层。

FLAC3D的双屈服模型最近在矿山支护模拟里存在感越来越强。这玩意儿特别适合处理那些需要材料在压缩和拉伸状态下表现出不同屈服行为的场景,比如煤矿巷道的充填体或者隧道让压层的变形分析。先不扯理论,直接上代码看实际应用。

先来看个材料参数设置的片段:

model new
model large-strain on
zone create brick size 5 5 5
zone cmodel assign double-yield
zone property density 2500 bulk 1e8 shear 3e7 
zone property cohesion-compression 1e5 cohesion-tension 5e4 
zone property friction 35 dilation 10 tension 1e10

这里有几个关键点需要注意:cohesion-compressioncohesion-tension分别控制材料在受压和受拉时的粘聚力,这种双参数设计是双屈服模型的核心特征。dilation参数这时候不再是固定值,它会随着应力路径动态调整——这对模拟充填材料在反复加载时的体积变化特别有用。

实际工程中,填充体与围岩的相互作用是重点。下面这段接触面设置代码值得琢磨:

interface wrap ...
              face range group '充填体' 
              target range group '围岩'
interface property stiffness-normal 1e8 stiffness-shear 1e7 
interface property cohesion 2e4 friction 30 

这里用了wrap命令创建贴合接触面,stiffness-normal比常规模型设置得稍低,因为双屈服模型本身已经考虑了材料的屈服特性。有个坑要注意:当围岩发生大变形时,可能需要用interface auto-update on来动态更新接触关系。

FLAC3D双屈服模型,适用于煤矿填充,隧道让压层。

计算结果的后处理往往暴露模型的真实表现。用这个fish函数可以提取关键点的应力比:

def get_yield_ratio
    loop foreach zp zone.list
        local s1 = zone.stress.max(zp)
        local s3 = zone.stress.min(zp)
        yield_ratio = (s1 - s3)/(s1 + s3 + 2*cohesion*math.tan(friction))
    endloop
end

这个比值超过1时说明进入屈服阶段。实践中发现,双屈服模型在巷道顶板处的屈服区发展模式与传统模型明显不同——受压区呈现"洋葱圈"式的渐进破坏,而受拉区则保持相对完整,这和现场观测的充填体破坏特征吻合度很高。

调试这种模型最头疼的是参数敏感性。建议先用单轴试验标定:

zone initialize stress xx -1e5 yy -1e5 zz -1e5
zone face apply velocity-z 0 range group '底部'
zone face apply velocity-z -1e-5 range group '顶部'
model solve

通过调整cohesion-compressionfriction的组合,观察应力-应变曲线的拐点位置。有个经验公式:充填材料的实际抗压强度大概是cohesion-compression的1.5-2倍,这个系数随围压增大而提高。

最后说个实用技巧:当模拟充填接顶不密实的情况时,可以给双屈服模型加个初始空隙率参数:

zone property porosity-initial 0.15
zone initialize saturation 0.8

这时候模型的压缩曲线会先经历孔隙压密阶段,然后才进入线性变形期。这种特性让双屈服模型在模拟让压支护结构时,能更真实地反映"先让后抗"的力学行为。

双屈服模型虽然香,但计算成本确实比摩尔库伦模型高出一截。建议在关键区域使用双屈服,其他区域还是用常规模型,这样在精度和效率之间能找到不错的平衡点。毕竟做煤矿支护模拟,等算完模型发现掌子面都推进三千米了,那才是真尴尬。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐