岩土工程颗粒流软件PFC6.0技巧——按计算时间导出数据、图像及保存文件

这篇博客介绍了如何在岩土工程颗粒流软件PFC6.0中按计算时间导出数据、图像及保存文件,特别是针对非固定时间步的计算情况。内容包括设置导出频率、保存条件、文档命名,以及利用Matlab进行数据后处理。还分享了一个动感视频链接展示结果,并提供了完整代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PFC6.0 技巧——基于时间导出数据,以喷射混凝土为例

没人点赞这个博客就关啦!T_T

博客介绍

  • 离散元计算结果以离散颗粒单元为主体,结果呈现方式与有限元、有限体积法等基于网格的分析方法相比略显落后。因此,对离散元计算数据导出、二次处理是广大离散元er普遍而迫切的需求。
  • 软件自带的图像导出工具根据时间步导出图像,在时间步不固定的情况下导出的图片时间间距不一致,仅适用于简单固定时间步计算中。
  • 此博客主要针对依泰斯卡旗下相关软件计算过程中以运行时间为基准的计算数据、图像及文件导出。可任意选择导出plot图像、运行数据、SAV文件,对数据后处理非常方便。

代码

[count=1]
[time_record=mech.time.total]
[time_next=time_record]
[baocunpinlv=0.00004]

设置计数基准,保存频率

def savefile
     global time_next,baocunpinlv
     local tcurrent=mech.time.total
     if tcurrent<time_next then 
         exit
     endif

设置判断条件,参考回调函数手册

     filename=string.build("jieguo%1",count)
     textname=string.build("jieguo%1_%2.txt",count,baocunpinlv)
     ball_num=ball.num
     file_infp=array.create(ball_num+2)

设置文档名称和文本文档名称

     counting=1
     file_infp(counting)="id                      xpos                      ypos                            zpos                          radius"
     counting+=1
     file_infp(counting)=string.build("%1        %2              %3               %4           %5",tcurrent,tcurrent,tcurrent,tcurrent,tcurrent)
     counting+=1

导出表头和时间

     loop foreach bp ball.list
         file_infp(counting)=string.build("%1                    %2                      %3                         %4                         %5",ball.id(bp),ball.pos.x(bp),ball.pos.y(bp),ball.pos.z(bp),ball.radius(bp))
         counting+=1
     endloop
     outflag=file.open(textname,1,1)
     file.write(file_infp,ball_num+1)   
     file.close()

输出TXT文件


     command
         model save @filename
         plot export bitmap filename @filename size 1920 1080
     endcommand
     time_next=tcurrent+baocunpinlv
     count+=1
end

保存SAV文件和视图图像

fish callback add savefile -11.0
model solve

调用函数


结果

在这里插入图片描述

勉强能用,heihei
用Matlab对导出来的额数据二次处理了一下,效果还需要再调整一下,先放上来,有时间再调整吧。

在这里插入图片描述

在这里插入图片描述

==动感视频看这里==
https://www.bilibili.com/video/BV1hB4y1U7f8?spm_id_from=444.41.list.card_archive.click




^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
最后贴上所有代码

[count=1]
[time_record=mech.time.total]
[time_next=time_record]
[baocunpinlv=0.00004]
def savefile
     global time_next,baocunpinlv
     local tcurrent=mech.time.total
     if tcurrent<time_next then 
         exit
     endif
     
     filename=string.build("jieguo%1",count)
     textname=string.build("jieguo%1_%2.txt",count,baocunpinlv)
     ball_num=ball.num
     file_infp=array.create(ball_num+2)
     counting=1
     file_infp(counting)="id                      xpos                      ypos                            zpos                          radius"
     counting+=1
     file_infp(counting)=string.build("%1        %2              %3               %4           %5",tcurrent,tcurrent,tcurrent,tcurrent,tcurrent)
     counting+=1
     
     loop foreach bp ball.list
         file_infp(counting)=string.build("%1                    %2                      %3                         %4                         %5",ball.id(bp),ball.pos.x(bp),ball.pos.y(bp),ball.pos.z(bp),ball.radius(bp))
         counting+=1
     endloop
     outflag=file.open(textname,1,1)
     file.write(file_infp,ball_num+1)   
     file.close()
     command
         ;model save @filename
         plot export bitmap filename @filename size 1920 1080
     endcommand
     time_next=tcurrent+baocunpinlv
     count+=1
end


fish callback add savefile -11.0
model solve

向各位大神、致敬!!!

整理不易,如果您觉得文章有用的话,别忘了动动小手点个赞哦!!!

颗粒PFC5.0是一种数值模拟技术,用于模拟颗粒材料的动行为。它可以对颗粒材料的运动、碰撞、聚集等过程进行模拟和分析。 PFC5.0是Discrete Element Method (DEM,离散元方法)的一种实现,通过离散化颗粒材料,将其划分成许多小颗粒体,并通过建立不同颗粒体之间的相互作用模型来描述颗粒间的力学、力学和载荷传递过程。这种方法可以考虑颗粒间的接触、摩擦、静电力等非线性力学现象。 PFC5.0的代码包含了数学模型、求解器和模拟算法。数学模型是用来描述颗粒材料行为的方程组,而求解器用于求解这个方程组。模拟算法则是指如何计算颗粒材料的运动和相互作用过程。通过调整这些参数,可以实现对颗粒材料不同性质和行为的模拟。 PFC5.0的应用非常广泛。在地质工程岩土工程中,可以用PFC5.0模拟土体的力学行为,如土体的变形、破裂、强度等。在矿山工程中,可以用PFC5.0模拟矿石的运动和破碎过程,以优化矿石的开采和处理方案。在粉体工程中,可以用PFC5.0模拟颗粒物料的输送、堆积、动等,以提高物料的生产效率和质量。 总之,颗粒PFC5.0数值模拟技术及其代码通过离散元方法模拟颗粒材料的动行为。它具有广泛的应用领域,可以用于地质工程、矿山工程和粉体工程等领域,有助于优化工程设计和生产工艺,提高工程效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是要早起的钻钻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值