本文摘要(由AI生成):
本文介绍了PFC实现非圆形颗粒的方法——clump,用户可以通过引入图形轮廓文件生成clump模板,并在算例中生成clump。用户可以指定clump的参数,如计算速度足够,轮廓可以显示得更好。文章提供了变形动图和代码示例。注意clump计算非常吃计算速度,最后可以和砂土颗粒一样的方法去计算休止角。
这个算例农业的同学可以看过来了。
这里介绍一下PFC实现非圆形颗粒的方法——clump
用户可以引入图形轮廓文件,然后生成一个clump模板。
之后便可以像生成ball一样在算例里面生成clump了。
如图:
用户可以指定这个clump的参数,如果计算速度足够的话,这个轮廓可以显示的更加好。
下面给出变形的动图:
我这里没有完全计算完,这个已经算了三天三夜了,有条件的同学可以继续去算,下面附上代码:
new
domain extent -1 1
wall generate circle position 0 0 radius 1geometry import daogu.dxf
clump template create name daogu ...
geometry daogu ...
surfcalc bubblepack ratio 0.3 distance 150
clump distribute porosity 0.18 ...
resolution 1.0 ...
numbin 1 ...
diameter ...
bin 1 size 0.03 0.045 ...
volumefrac 1.0 ...
template daogu ...
range annulus center 0 0 radius 0 [1-0.06]...
plane o 0 0 dip 0 below;clump distribute porosity 0.28 radius 0.006 0.009 range annulus center 0 0 radius 0 [1-0.009]...
;plane o 0 0 dip 0 belowclump attribute density 3e3 damp 0.7
cmat default model linear method deformability emod 100e6 kratio 1.74 property fric 0.5cycle 2000 calm 50
set gravity 9.8
solvesave sample
clump attribute displacement multiply 0
cmat add model linear method deformability emod 100e6 kratio 1.74 property fric 1.5 range contact type pebble-facetset mech age 0
[time_record=mech.age]
[baocunpinlv=2]
def savefile
if mech.age-time_record > baocunpinlv then
filename=string.build("jieguo%1",count)
command
save @filename
endcommand
time_record=mech.age
count +=1
endif
end
set fish callback -1.0 @savefilewall attribute centrotation 0 0 spin 50
clump delete range y -10 -1
solve time 300
注意clump计算是非常吃计算速度的。
最后可以和砂土颗粒一样的方法去计算休止角