PFC颗粒流代码模拟岩石预制裂隙与完整岩石单轴压缩对比分析
PFC颗粒流代码 pfc离散元岩石预制裂隙裂隙岩石与完整岩石单轴压缩代码可出各种裂隙形式可分析应力应变曲线图裂隙发育与数量能量变化简易声发射分析等做岩石单轴压缩离散元模拟的谁没为造预制裂隙熬过夜啊jset切出来歪歪扭扭改个倾角改个数量要重新弄大半天我干脆把整套完整岩石/裂隙岩石的PFC单轴压缩流程整理出来了啥分析都能出核心片段放出来给大家抄作业。先说最头疼的预制裂隙生成我这个方法改参数比啥都方便要什么裂隙改几行数字就行放核心fish代码; 生成任意形式预制裂隙这里举30°平行双裂隙为例 def create_precrack crack_num 2 ; 裂隙数量要几条改几个 crack_ang 30 ; 裂隙倾角单位度 crack_len 40 ; 单条裂隙长度 crack_spacing 25; 平行裂隙间距交叉裂隙直接调用两次函数改角度就行 sample_w 100 ; 试样宽 sample_h 200 ; 试样高 command loop foreach local p ball p_x ball.pos(p,1) p_y ball.pos(p,2) ; 遍历每条裂隙删除裂隙范围内的颗粒成型 loop foreach local n 1 crack_num ; 计算裂隙中心坐标自动居中排布 c_y sample_h/2 (n - (crack_num1)/2)*crack_spacing ; 点到裂隙中心线的距离判断落在范围内就是裂隙 dis abs((p_y - c_y)*cos(crack_ang*pi/180) - (p_x - sample_w/2)*sin(crack_ang*pi/180)) len_dis sqrt((p_x - sample_w/2)^2 (p_y - c_y)^2) if dis 0.8*ball.radius(min) len_dis crack_len/2 ball delete p break endif endloop endloop endcommand end create_precrack这段逻辑我觉得比用wall做裂隙、用几何切都舒服第一裂隙面自然就是自由面不用额外处理粘结压缩的时候起裂扩展完全符合实际第二想要什么裂隙随便改要阶梯裂隙改中心y坐标要交叉裂隙加个循环改角度要任意数量裂隙改crack_num就行一分钟换一个模型不用重新生成一遍颗粒。然后就是加载和数据采集部分我把大家常用的分析都塞进去了应力应变、能量、声发射都直接给你存好核心代码也放这def uniaxial_compress ori_h 200 ; 试样初始高度 ae_count 0 ; 累计粘结断裂数 ae_num 0 ; 声发射事件计数 loop while step 120000 command ; 下盘固定上盘加载速度放慢保证准静态 wall attribute velocity-y -0.015 id 1 wall attribute velocity-y 0 id 2 if math.mod(step,100) 0 ; 计算应力应变存表导出直接就能画图 total_fy wall.force(1,y) wall.force(2,y) sigma1 abs(total_fy)/(sample_w*1) ; 二维试验厚度取1 cur_h wall.pos(1,y) - wall.pos(2,y) strain (ori_h - cur_h)/ori_h table stress_strain add strain sigma1 ; 能量分析分总应变能、摩擦耗散能存下来 strain_e energy.strain friction_e energy.friction table energy add strain (strain_e) (friction_e) ; 简易声发射分析粘结一次断超过5个就算一次独立事件 new_break bond.break(contact) - ae_count if new_break 5 ae_num 1 endif ae_count bond.break(contact) table ae add strain ae_num endif step 1 endloop end uniaxial_compress说真的这段完全就是实用主义没搞那些复杂的花活要应力应变曲线导出table的数据拉去Origin一分钟就能画出带峰的曲线弹性模量、峰值强度直接算PFC颗粒流代码 pfc离散元岩石预制裂隙裂隙岩石与完整岩石单轴压缩代码可出各种裂隙形式可分析应力应变曲线图裂隙发育与数量能量变化简易声发射分析等要对比完整岩石和裂隙岩石完整岩石你只要不调用create_precrack就行整个代码框架一点不用改跑出来直接对比参数太省时间要做裂隙数量/倾角的影响分析改参数批量跑就行最后看声发射计数的突变点什么时候主裂隙贯通一眼就能看出来虽然比不上专业声发射试验的精度但做模拟的规律分析完全够用能量演化分析更不用多说现在好多做岩石破坏的都做能量代码里直接给你把应变能、摩擦能分好了跑完就能对比不同裂隙下能量耗散的差异不用自己瞎算。整个代码跑下来不管你要什么裂隙形式要什么分析结果改两行参数就搞定我之前做5组不同裂隙数量、3组不同倾角的对照试验一下午就全部跑完出结果比天天改模型调参数香太多了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2455541.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!