# Wrong operator in transonic pressure equation?

 Register Blogs Members List Search Today's Posts Mark Forums Read

 June 6, 2011, 08:45 Wrong operator in transonic pressure equation? #1 Member   Florian Ettner Join Date: Mar 2009 Location: Munich, Germany Posts: 41 Rep Power: 17 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) { phi += pEqn.flux(); }``` In the transonic case: Code: ``` if (nonOrth == nNonOrthCorr) { phi == pEqn.flux(); }``` Shouldn't the latter "==" operator be replaced by a "+=", too? If not, who can explain it?

July 10, 2015, 12:07
#2
New Member

België/Belgique
Join Date: Jul 2015
Posts: 3
Rep Power: 11

I have a similar doubt with rhoSimpleFoam, where:
Quote:
 phi == pEqn.flux();
in the transonic case and:
Quote:
 phi -= pEqn.flux();
for subsonic flow

 July 11, 2015, 22:16 #3 New Member   Join Date: May 2013 Location: Santa Fé, Argentina Posts: 5 Rep Power: 13 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! hjasak and David1 like this.

 Tags coupling, flux correction, transonic