能不能设置两组颗粒(一组one-way,一组four-way)同时模拟?
-
如题,想在four-way coupling的气固颗粒流中,添加一组one-way coupling的tracer颗粒。添加的tracer颗粒的密度等于气体密度,直径接近于0。
我本想可以通过多个injectionModels来添加一组直径非常小的颗粒。但是这样下来,tracer的直径和气固流中的颗粒直径相差太大,而我全局是four-way的需要计算颗粒碰撞,导致计算非常非常的缓慢。
所以还是想问问,有没有办法在模拟中同时使用两套kinematicCloudProperties?一组是four-way coupling,一组是one-way coupling。我是用的是DPMFoam求解器。
-
one-way耦合那面把粒子直径设置非常小不就可以了? 为什么因为直径特别小,导致计算缓慢?
-
哦那你要是碰撞的话不好弄。要不然把tracer当做欧拉标量传输处理?
-
@东岳 其实是想通过拉格朗日的tracer颗粒来跟踪流相的颗粒,用以研究流相的加速度。欧拉的话好像不太方便研究加速度吧
确实两组粒径差别太大的颗粒算碰撞太缓慢了,请问有没有办法能让碰撞只针对某一组颗粒?
-
我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$ -
@东岳 谢谢东岳老师提供idea。
我尝试了比如添加一个kinematicCloud或者添加一组constantProperties,但是好像不修改C或者H文件的话,在计算时只会读取第一组的参数。
欧拉-欧拉模拟的话我没有什么经验,那请问我这样相当于是三相,一个是流相,二是拉格朗日颗粒相,三是欧拉颗粒相,这样是可以模拟的嘛?
-
@李东岳 在 能不能设置两组颗粒(一组one-way,一组four-way)同时模拟? 中说:
我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$现在才反应过来您的这个方法才是最straightforward的。。
还想继续请教东岳老师,在DPMFoam中,从欧拉场计算流体相的加速度,是简单地为
DUcDt = fvc::ddt(Uc)
,
还是
DUcDt = fvc::DDt(phic, Uc)
?另外我在pressureGradientForce的C文件中,还看到
fvc::ddt(Uc) + (Uc & fvc::grad(Uc))
请问哪个是颗粒-液相流动中,液相的正确加速度?
-
@zhangxc0223
couple与否,主要在kinematicparcel这部分中,你可以设置一个条件。比如增加一个p.couple() 这个bool,然后拿这个算作条件呗?或者在直接粗暴的用parcel直径作为判断依据if (cloud.solution().coupled()) { // Update momentum transfer cloud.UTrans()[this->cell()] += np0 * dUTrans; // Update momentum transfer coefficient cloud.UCoeff()[this->cell()] += np0 * Spu; }
-
@zhangxc0223
Uc都是液相速度~
这一部分是生成一个cacheField,在后面calcCoupled中会根据parcel的坐标和cell中心做插值,得到这个DUcDt这个值,然后在计算parcel的受力 -
one-way的通过自带的solidparticle ,four-way的用kinematicCloud 可以吗,我最近也在尝试这个问题
-
@李东岳 在 能不能设置两组颗粒(一组one-way,一组four-way)同时模拟? 中说:
我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$你好李老师,我最近也面临这个问题,我现在是尝试用solidparticle做one-way,kinematicCloud用作four-way,但是在求解的时候报错说找不到U文件,两个粒子的cloud分开用的时候都没问题,一起调用的时候出错了
-
@dxl 你好,我想问一下,你这个"solidparticle做one-way"是啥意思?我用icoUncoupleKinematicParcelFoam做固定流场里入口射入tracer颗粒出了点问题,想了解一下你这个是咋做的?
-
@dingcy oneway指的就是颗粒和流体的耦合是单向的就是只考虑流体对颗粒的作用,相对比较简单的情况,
-
@dxl 给定流场,然后"kinematicCloudProperties"中关掉耦合那种就叫one way呗,用的是DPMFoam吗?还是你用的其他方法或者求解器?
-
@dingcy 关掉耦合应该是oneway,也可以这么用,要是DPMFoam满足你使用要求的话就可以。