Wrong operator in transonic pressure equation?
Hello,
in my transonic simulations with reactingFoam my local continuity errors are far too high (~0.01). I've stumbled upon the pressure equation: After the pEqn is solved, the flux is corrected. In the subsonic case: Code:
if (nonOrth == nNonOrthCorr) Code:
if (nonOrth == nNonOrthCorr) If not, who can explain it? |
I know I am replying on an old post, but have you found your answer?
I have a similar doubt with rhoSimpleFoam, where: Quote:
Quote:
|
Hello Florian,
Note that the method "flux()" is applied over the fvMatrix (pEqn). When solving with the transonic flag in true, the pEqn contains the advective term fvm::div(...). The whole continuity equation is assembled implicity in the pressure equation and then the flux can be calculated with pEqn.flux(). On the other hand, in subsonic cases the advective term is assembled eplicity with fvc::div(phi(or phiHByA)). The last term is not in the pEqn matrix (l.h.s part) and then the advective term must be taken in account to construct the phi flux as phi = phi + pEqn.flux() or phi = phiHByA + pEqn.flux() hope it helps! |
All times are GMT -4. The time now is 04:27. |