这次咱们来拆解PFC二维浆岩直剪案例。这个案例有意思的地方在于它展示了颗粒材料与刚性墙体接触面的剪切行为,咱们边看代码边分析剪切曲线的门道
PFC案例9浆-岩二维直剪包含代码源文件、代码解释、曲线分析先看模型搭建的关键代码段;生成浆体颗粒 ball distribute ... ;创建上下剪切盒 wall generate id 1 vertices 0 0 1 0 1 1 0 1 wall generate id 2 vertices 0 0.2 1 0.2 ;设置接触参数 contact cmat ...这里通过wall命令生成两个墙体上墙体保持固定下墙体施加水平速度模拟剪切。颗粒生成时要注意粒径分布太均匀的话剪切曲线会不真实。我一般习惯用高斯分布参数设置成dmin0.1e-3, dmax0.3e-3比较合适。剪切过程的控制逻辑是重点[shear_velocity 0.1] while mechanical age 10 wall attr velocity-x [shear_velocity] id 2 step 500 ... fish history shear_force wall.force.x(id2) fish history displacement wall.pos.x(id2) end这里采用位移控制法每次循环移动下墙体并记录剪切力。注意速度参数shear_velocity别设太大建议分阶段调整——初始阶段0.01峰值后可以提到0.1这样能更好捕捉软化段。跑完模拟后咱们来看特征曲线配图示意。典型曲线会有四个阶段弹性段力随位移线性增长屈服段曲线斜率开始减小峰值段达到最大剪切力残余段力值震荡趋于稳定有个坑要注意当剪切盒间隙过小时会出现颗粒被压碎的情况。这时候在contact cmat里调整kn/ks比例把颗粒刚度调高些或者在初始化时增大wall的gap值。PFC案例9浆-岩二维直剪包含代码源文件、代码解释、曲线分析裂纹发展监测可以用这个技巧fish define crack_count local cnt 0 loop foreach bp ball.list if ball.contact.count(bp) 2 cnt cnt 1 endif endloop crack_count cnt end这个简易计数器通过统计接触数小于2的颗粒数量间接反映剪切带形成情况。实际跑起来会发现裂纹数量在峰值后突然增加和应力跌落点基本对应。最后给个实用建议想得到漂亮的剪切曲线别忘了在剪切前做充分的平衡计算。我习惯在施加剪切前先跑2000步静力松弛这样初始接触力稳定曲线毛刺会少很多。参数敏感性方面摩擦系数对残余强度影响最直接把颗粒摩擦角从30度调到35度残余段力值能提高约18%。下次可以试试在剪切面预置弱面观察剪切路径的变化那又是另一个有意思的故事了。代码文件已打包需要调试的可以直接改参数里的标记处。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2462377.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!