能不能设置两组颗粒(一组one-way,一组four-way)同时模拟?
-
@东岳 其实是想通过拉格朗日的tracer颗粒来跟踪流相的颗粒,用以研究流相的加速度。欧拉的话好像不太方便研究加速度吧
确实两组粒径差别太大的颗粒算碰撞太缓慢了,请问有没有办法能让碰撞只针对某一组颗粒?
-
@东岳 谢谢东岳老师提供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,一组four-way)同时模拟? 中说:
我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$你好李老师,我最近也面临这个问题,我现在是尝试用solidparticle做one-way,kinematicCloud用作four-way,但是在求解的时候报错说找不到U文件,两个粒子的cloud分开用的时候都没问题,一起调用的时候出错了