现在好多小伙伴都在学些PFC5.0、PFC6.0版本,高版本的软件带来了运行效率的提升,显示效果的增强,部分算法的优化。但是个人认为PFC3.1版本的还是经典,比如说PFC模拟流固耦合方面,PFC5.0模拟流固耦合没有了PFC3.1自带的“流体域”程序,需要自己对3.1程序进行转换,那么很多编程基础不是很好的小伙伴就卡在这里;粗糙网格的流固耦合仅限在三维的软件中,如果不借助第三方的软件,本身自有的程序只能模拟单向耦合的问题,也就是流体会对颗粒产生作用,而颗粒不会对流体产生影响,双向耦合的例子采用的是Python语言进行编写的,没有基础的话又很难理解程序。
今天采用PFC3.1软件模拟一个水流冲刷的例子。(模型的尺寸随意取的)
模型建立如下:
模型的尺寸为15m*5m,模型中的颗粒设置生成较大的级配范围,颗粒的大小为0.01m~0.05m,水流从左侧流入,流速为8m/s,水流不断流入对颗粒进行冲刷。
流体建立模型如下:
模型的过程中考虑颗粒的重力,同时打开流体的浮力,模拟的过程中,颗粒与流体之间发生相互作用,流体会对颗粒产生作用力,颗粒会影响流体的速度以及压力等。
循环一定的时间步后,模型运行结果如下:
局部放大:
可以看出小型颗粒被冲到模型的后方,而大颗粒留在了模型的前部。
流体压力
流体孔隙
内容简介:PFC2D3.1程序代码