多相流的扭矩提取
-
各位大佬好,最近在做多相搅拌釜,想要提取桨叶的扭矩来计算搅拌功率。想要使用function中的force功能来提取桨叶上的扭矩,但是发现这个功能好像只适用于单相流。因为force文件需要输入rho,但是在多相流中由于相分布并不均匀且在瞬态变化,无法获得桨叶附近的rho值,所以该方法是否无法计算多相流的扭矩?
forces { type forces; libs ("libforces.so"); writeControl timeStep; timeInterval 1; log yes; patches ("impeller*"); rho rhoInf; // Indicates incompressible log true; rhoInf 1; // Redundant for incompressible CofR (0 0 0); // Rotation around centre line of propeller pitchAxis (0 1 0); }
另外拜读李东岳老师的博士论文发现李老师在论文中提取出了液-液两相流中的搅拌扭矩,说明多相流的扭矩是可以提取的,但是具体如何实现在论文中并未赘述,能否有大神帮忙解答,感谢!
-
如果我们的版本没有差的太多,现在这一个就可以直接用。
单相流的时候,因为计算的时候只定义了粘度,没有定义密度,所以需要在这里定义。但是多相流一般来说会定义密度,不需要在这里再定义一次。按我的经验,rho和rhoInf这两项在二相流里会直接时效,定义成什么都无所谓。 -
@tidedrinker 感谢,我现在在用of9的multiphaseEulerFoam,也就是说rho和rhoinf随便填一个数都没有影响是吗
-
@tidedrinker 但是还有个问题,我在已经有了计算结果之后使用这个force进行后处理 -postProcess时,会报错说没有找到U和p,并不会自动读取U.*和p_rgh,请问您是怎么在多相流中使用的?
Reading field p_rgh --> FOAM Warning : From function int main(int, char**) in file ./createFields.H at line 34 Reading "/mnt/e/Desktop/limited-zeroG/constant/phaseProperties" from line 16 to line 144 Pressure limits, pMin and pMax, are now read from "/mnt/e/Desktop/limited-zeroG/system/fvSolution/PIMPLE" forces forces: Not including porosity effects --> FOAM FATAL ERROR: Could not find U, p From function void Foam::functionObjects::forces::initialise() in file forces/forces.C at line 205. FOAM exiting
-
@tidedrinker 你好,我发现of9中可以在force文件中单独定义相名称来提取相分数和对应的密度,输出的力和力矩如下:
forces forces write: sum of forces: pressure : (-10.813 0 -5.80003) viscous : (-0.000457782 -0.000707157 0.000145593) porous : (0 0 0) sum of moments: pressure : (-0.00441956 4.53963 -0.00703327) viscous : (-3.21179e-05 7.86609e-05 -2.42533e-05) porous : (0 0 0)
我的搅拌轴是y轴,所以我的扭矩是否就是4.53963N·M,但是这和实验值相差甚远,实验值大概只有0.06N·M,这是为什么?是不是还需要对这个力矩进行下一步处理才可以得到扭矩?需要除以密度嘛?