用twoPhaseEulerFoam求解水砂输送的问题
-
各位前辈好,我想在一个长方体几何模型中从左往右输送水(85%)砂(15%)混合物,观察砂的堆积形态(如下图所示)。
我的速度边界为:object U.particles; internalField uniform (0 0 0); boundaryField { INLET { type fixedValue; value uniform (0.5 0 0); } OUTLET { type inletOutlet; inletValue uniform (0 0 0); value uniform (0 0 0); } WALL { type zeroGradient; } frontAndBackPlanes { type empty; } } object U.water; internalField uniform (0.5 0 0); boundaryField { INLET { type fixedValue; value uniform (0.5 0 0); /*type interstitialInletVelocity; inletVelocity uniform (0.8 0 0); alpha alpha.water; value $internalField;*/ } OUTLET { type inletOutlet; inletValue uniform (0 0 0); value uniform (0 0 0); } WALL { type noSlip; }
压力边界为:
internalField uniform 0; boundaryField { INLET { type fixedFluxPressure; value $internalField; } OUTLET { type fixedValue; value uniform 0; } WALL { type zeroGradient; } frontAndBackPlanes { type empty; } }
但不知道为何第一个迭代步中,e.water的迭代次数就超了,导致压力的迭代次数也很大,算了几个时间步后就发散了:
实时证明第一个时间步算出来的速度和压力结果就不对,还请各位前辈告知e.water是什么量,这样设置边界条件对不对。谢谢!@东岳
-
@东岳 非常感谢东岳老师这么晚还在回复问题!!!希望您也能休息好!!!目前有三个问题:
(1)我在residuals字典里面写明了U.particles(U.particle监控不了),才出现的N/A这个问题;
(2)模拟结果表明砂堤没有沉积(注入的固相百分数就为0.15,而且停止注入固相后,固相整体被往前推动),不知道是不是颗粒动理论模型设置的问题
(3)液相、固相注入速度都是(0.5 0 0),但计算过程中底部达到4m/s+,这是否合理(液相的internalFiled也给的0.5,感觉液-固混合液比纯液跑得还快了):
(边界给的固定值(0 0 0),插值看不到结果 )希望您有空的时候能帮忙解答,不胜感谢!
-
@东岳 老师,您看:
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { default none; "div\(phi,alpha.*\)" Gauss vanLeer; "div\(phir,alpha.*\)" Gauss vanLeer; "div\(alphaRhoPhi.*,U.*\)" Gauss limitedLinearV 1; "div\(phi.*,U.*\)" Gauss limitedLinearV 1; "div\(alphaRhoPhi.*,(h|e).*\)" Gauss limitedLinear 1; "div\(alphaRhoPhi.*,K.*\)" Gauss limitedLinear 1; "div\(alphaPhi.*,p\)" Gauss limitedLinear 1; div(alphaRhoPhi.particles,Theta.particles) Gauss limitedLinear 1; "div\(alphaRhoPhi.*,(k|epsilon).*\)" Gauss limitedLinear 1; div((((alpha.water*thermo:rho.water)*nuEff.water)*dev2(T(grad(U.water))))) Gauss linear; div((((thermo:rho.particles*nut.particles)*dev2(T(grad(U.particles))))+(((thermo:rho.particles*lambda.particles)*div(phi.particles))*I))) Gauss linear; div((((alpha.particles*thermo:rho.particles)*nuEff.particles)*dev2(T(grad(U.particles))))) Gauss linear;//改层流后多出 } laplacianSchemes { default Gauss linear uncorrected; bounded Gauss linear uncorrected; } interpolationSchemes { default linear; }
-
@李东岳 东岳老师,在kineticTheoryModel.C中有这样一段代码:
Foam::tmp<Foam::volScalarField> Foam::RASModels::kineticTheoryModel::k() const { NotImplemented; return nut_; } Foam::tmp<Foam::volScalarField> Foam::RASModels::kineticTheoryModel::epsilon() const { NotImplemented; return nut_; }
但是感觉固相湍流开关打开的话,其湍流黏度完全是按照如下公式计算的:
(其中a为固相,b为液相)
也就是固相被看作连续相后不存在真实的k和epsilon哇? -
@Zhy2022 之前你圈起来的两个参数应该是固相之间的相互作用力或者双流体之间的相互作用力系数,你可以查一下文献。
你的入口边界是均一的固相体积分数?因为你的固相体积分数比较大,不知道你的实验是什么样的设定,但是实际情况中水流携沙也是随着离壁面距离增加而减小的,我的建议可以按实际情况去设定。
在沙堤沉降就达到alphaMax这个是没有问题的吧,或者我没太理解你的意思。
我建议你可以在模拟中用一下网格自适应,提高一下局部的分辨率。关于沙堤堆积后再推进和水沙运动理论有关,在水流携沙运动中,开始的时候水流中沙物质分数较大,在非饱和路径中以堆积为主,随着沙物质的堆积,计算域内非堆积搬运出现概率逐渐增加,沙丘开始逐步运动,你可以求一下沙丘的几何中心,看一看沙丘的运动情况,最开始应该是随着堆积几何中心移动最快,然后出现一段比较稳定的区域,最后如果计算区域和时间足够长,它会以比较衡定的速度运动。(以上是我自己的理解,也有可能有些问题)