关于reactingTwoPhaseEulerFoam中速度的残差residual问题
-
有哪位大神知道为什么用reactingTwoPhaseEulerFoam求解器计算时不输出气相和液相速度的残差吗?
该求解器使用PIMPLE算法,我查看了pimpleFoam求解器里的U.Eqn,在速度矩后面有以下代码if (pimple.momentumPredictor()) { solve(UEqn == -fvc::grad(p)); fvOptions.correct(U); }
reactingTwoPhaseEulerFoam求解器的U.Eqn中无该项,是这个原因吗?如果没solve,为什么会有速度场呢?
我该怎么做才能让reactingTwoPhaseEulerFoam求解器计算的算例显示速度残差?
在线求指点 -
@bestucan 特别感谢您的回答,这个帖子我也看过但是不知道该怎么办,怎么操作?您能指点指点么?我用的是OpenFOAM6.0reactingTwoPhaseEulerFoam
求解器。以下是UEqn.H的代码Info<< "Constructing momentum equations" << endl; fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime); fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime); { autoPtr<phaseSystem::momentumTransferTable> momentumTransferPtr(fluid.momentumTransfer()); phaseSystem::momentumTransferTable& momentumTransfer(momentumTransferPtr()); { U1Eqn = ( phase1.UEqn() == *momentumTransfer[phase1.name()] + fvOptions(alpha1, rho1, U1) ); U1Eqn.relax(); fvOptions.constrain(U1Eqn); fvOptions.correct(U1); } { U2Eqn = ( phase2.UEqn() == *momentumTransfer[phase2.name()] + fvOptions(alpha2, rho2, U2) ); U2Eqn.relax(); fvOptions.constrain(U2Eqn); fvOptions.correct(U2); } }