PFC單向流固耦合——模擬顆粒落入流動的水中
PFC中流固耦合有三種方式:
1、單向流固耦合(one_way):也就是顆粒受流體作用,但是流體不受影響。
2、利用達西定律實現雙向耦合
3、和第三方的算法或者流體軟件進行耦合(比如OpenFOAM)
這里做一個單向耦合的小例子——模擬顆粒落入流動的水中。
由于當水比較多的時候,流速不太容易受到下落的顆粒影響,這里簡化為單向耦合是合理的。
首先生成cfd網格和顆粒。這里的網格使用我之前帖子中生成方形網格的小程序生成節點和單元文件。
new
domain extent -3 3
wall generate box -2 2 -1 1 -0.5 2
wall delete walls range id 2[x_pos=0.5]
[height=1]
[box_chicun=0.5]
[rdMin=0.01]
[rdMax=0.03]ball generate radius [rdMin] [rdMax] number 1000 tries 2000000 range x [x_pos+rdMin] [x_pos+box_chicun-rdMin] ...
y [-box_chicun*0.5+rdMin] [box_chicun*0.5-rdMin] z [height+rdMin] [height+box_chicun*2-rdMin]
cmat default model linear method deform emod 100e6 kratio 1.5 property fric 0.5
ball attribute density 2.7e3 damp 0.5
set gravity 0 0 -9.8
configure cfd
cfd read nodes Node.dat
cfd read elements Elem.dat
element cfd attribute density 1000.0
element cfd attribute viscosity 1.5
define set_fluid_velocity
loop foreach local ele element.cfd.list
element.cfd.vel.x(ele) = -0.5
element.cfd.vel.y(ele) = 0.0
element.cfd.vel.z(ele) = 0.0
end_loop
end
@set_fluid_velocitysave sample
之后進行一個下落:
這里顆粒的顏色代表粒徑,可以看到粒徑大的顆粒先落入河底,粒徑小的顆粒隨水流飄得比較遠,這里也是符合常理的。
這里顯示一下水流對顆粒的拖拽力:
可以看到大顆粒所受的力比較大,而且拖拽力也是在變化的。
這里顯示顆粒粒徑在x向的分布:
可以比較數值化的看出不同粒徑在水流中的分離。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















