各位老师,晚上好
我参考了$InterAdsFoam: An Open-Source CFD Model for Granular Media–Adsorption Systems with Dynamic Reaction Zones Subject to Uncontrolled Urban Water Fluxes$和$phaseScalarTransport.C$在compressibleInterFoam中添加了组分方程,个人感觉这个组分方程形式也不是非常复杂,但是在求解过程中会出现局部质量分数增加的情况,如下图所示,想请教一下大家有没有什么建议?
volScalarField Deff("Deff",turbulence.muEff());
volScalarField alpharho
(
"alpharho",
alpha2*rho2
);
surfaceScalarField alphaPhi
(
"alphaPhi",
linearInterpolate(alpha2*rho2*U) & mesh.Sf()
);
fvScalarMatrix alpha2YEqn
(
fvm::ddt(alpharho, Yi)
+ fvm::div(alphaPhi, Yi)
- fvm::laplacian
(
fvc::interpolate(Deff)*fvc::interpolate(alpha2),
Yi
)
==
fvOptions(alpha2, rho2, Yi)
- fvm::ddt(residualAlpha_*rho2, Yi)
+ fvc::ddt(residualAlpha_*rho2,Yi)
);
alpha2YEqn.relax();
fvOptions.constrain(alpha2YEqn);
alpha2YEqn.solve(mesh.solver("Yi"));
fvOptions.correct(Yi);
Yi.max(0.0);
//update the results
Yi = Yi*alpha2; // should use this guys as Yi
Yt += Yi;
O2:
ede448a4-2b25-4d6a-99de-8f78100ea78b-O2.jpeg
alpha:
820eb593-7b64-4668-8589-a37ace97e464-alpha.jpeg
T:
24cd8ab9-c4ea-463c-b7c5-061e76f80f51-T.jpeg
U:ceee3886-0e70-4e37-9112-801c5f0fc52f-u.jpeg