T
Latest posts made by Tens
-
RE: MPPICInterFoam 中如何通过alphac得到alpha1和alpha2?
@zhe 对于欧拉场来讲,是单纯的两相流,因为考虑了颗粒体积,所以连续相的体积只有alphac*Vcell,即Vc,所以连续相的计算是在这个基础上进行的,这也是为什么控制方程中都要乘alphac,可能结合单纯的MPPICFoam和InterFoam更好理解,只是将InterFoam的处理运用到MPPICFoam的连续相中
-
RE: MPPICInterFoam 中如何通过alphac得到alpha1和alpha2?
@zhe 对alpha1和alpha2来说,分母不是Vcell,而是Vc
-
RE: MPPICInterFoam 中如何通过alphac得到alpha1和alpha2?
@zhe alpha1一直都不是占cell的体积分数,只是占连续相的体积分数,不是alpha1+alpha2=alphac,而是再次将alphac看做单位1,alpha1+alpha2=1
对于你的例子,只有粒子和水,那就是alphac=0.8,alpha1=1
-
RE: dsmcFoam输出哪些流场文件是由什么控制的
@雨罢_清宵 虽然不知道这个文件是干什么的,但是从名字上可以看出来是和氩气Ar有关的,那其他案例中是否组分一样呢,组分不同当然输出文件会不同了
-
RE: dsmcFoam输出哪些流场文件是由什么控制的
@雨罢_清宵 输出的流场信息不是由fvSolution来设置的,而是在创建这个变量的时候设置的,比如
volScalarField rho ( IOobject ( "rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE //输出,NO_WRITE则不输出 ), thermo.rho() );
-
RE: MPPICInterFoam 中如何通过alphac得到alpha1和alpha2?
@jasper-0
互相交流,以前从没这么认真的看过这么底层的东西,这次也学到了很多 -
RE: MPPICInterFoam 中如何通过alphac得到alpha1和alpha2?
@jasper-0
懂了,现在就是说是红色部分的问题对吧,我看了代码中这部分是通过下面代码求的fvc::surfaceIntegrate(psiIf, phiPsi)
而里面的phiPsi则对应的这一部分
通过追踪alphaPhi10 = talphaPhi1Un; //又查到 tmp<surfaceScalarField> talphaPhi1Un ( fvc::flux ( phiCN(), cnCoeff*alpha1 + (1.0 - cnCoeff)*alpha1.oldTime(), alphaScheme ) + fvc::flux ( -fvc::flux(-phir, alpha2, alpharScheme), alpha1, alpharScheme ) );
而其中的phiCN则
tmp<surfaceScalarField> phiCN(alphaPhic); // Calculate the Crank-Nicolson off-centred volumetric flux if (ocCoeff > 0) { phiCN = cnCoeff*alphaPhic + (1.0 - cnCoeff)*alphaPhic.oldTime(); }
如果不采用CN格式phiCN就等于alphaPhic,又查到
alphacf = fvc::interpolate(alphac); alphaPhic = alphacf*phi;
所以本质上图一中红色部分还是通过alphac*alpha1得到的