怎样统计多相流计算中物体的受力
-
各位大佬,在统计物体受力时,如果是单相流可以统计,那么如果是多相流(multiPhaseEulerFoam)呢,怎样给定rho、U和P的变量?
-
统计物体受力?什么意思。
rho
等存在一个rhom
,是相平均密度,其他类似。
-
@李东岳 就是和单相流一样,统计一个旋转部件的受力。openfoam有force的functionObject可以统计单相流动力部件受力,但需要指定rho,U和P,分别计算粘性力和压力对受力的贡献。目前好像没找到多相流怎么统计。
-
目前我知道的也只是按照单相流动计算。
-
-
这个是我自己的代码
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1706 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ forcesSectional { type patchExpression; //outputControlMode outputTime; enabled true; verbose true; patches ( foil // change to your name or names of patch ); aliases{alpha alpha.water;} variables ( "rho_water=997.4;" "nu_water=9.274e-7;" "rho_vapor=0.02099;" "nu_vapor=4.68e-04;" "u_inf=5.0;" "c=0.15;" "pressure_force=p_rgh*normal()*area();" "viscous_force=-((alpha*rho_water + (1.0 - alpha)*rho_vapor))*((alpha*nu_water + (1.0 - alpha)*nu_vapor))*snGrad(U)*area();" "dynamic_force=0.5*rho_water*u_inf*u_inf;" "area_ref=0.1*c;" "forces_coeff=(pressure_force+viscous_force)/(dynamic_force*area_ref);" ); expression "forces_coeff"; accumulations ( sum ); }
-
我是这么搞的:
force1 { type forces; libs ( "libforces.so" ); patches (BLADE HUB); log on; rho rhoInf; // Indicates incompressible rhoInf 1000; writeControl timeStep; writeInterval 4; pitchAxis (1 0 0); CofR (0 0 0); }
不用管那个rho,二相流里有它没它一个样,程序会自动计算平均rho的
-
@队长别开枪 多谢啦😊,我试试
-
@tidedrinker 我算的是双流体模型,这个方法好像不行(▼皿▼#)
-
@队长别开枪 你好,这个是需要安装swak4Foam才可以用的吗?
-
@小龙 是的。
-
@队长别开枪 OF5.0版本支持swak4Foam吗?
-
@小龙 我用的openfoam plus,其他的没试过。你可以查看一下这个
https://openfoamwiki.net/index.php/Installation/swak4Foam/Downloading
-
@队长别开枪 好的,多谢啦
-
@队长别开枪 请问您用的是openfoam plus的哪一个版本呢? 好像v1606+也不能用swak4foam
-
@王金成 我用的1812,可以编译SWAK,不过需要自己做些配置,不然会报错,过段时间我写个教程。