# Ways to get rid of negative pressure in numerical simulations

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

 July 27, 2017, 07:45 Ways to get rid of negative pressure in numerical simulations #1 Member   AGN Join Date: Dec 2011 Posts: 46 Rep Power: 8 Hi, I'm currently working on numerical simulation of supersonic flow past some bodies (bluff as well as sharp edge). Specifications of numerical schemes used: Governing equation: Euler equation. Time integration : SSPRK2, SSPRK3, Implicit Euler Limiters : minmod, Superbee, no limiter. Reimann solver : Roe flux with entropy fix, AUSMDV Gradient calculation: Least square mesh type : triangular (right angled triangle) or quadrilateral. For some cases, I'm getting negative pressure, since the speed of sound is based on negative pressure (absolute pressure), I can't proceed further in the simulation. The procedure I followed so far, to get off "negative pressure" that worked for some cases are: 1) Most of the time oscillations occur in the interpolation of dirty data, so I added more diffusion in interpolation. 2) Making uniform varying mesh or uniform mesh 3) Reducing CFL number, make a smooth variation in CFL ramping. 4) Changing flux function Please tell me some good ways to get rid off or "good fix" for negative pressure.

 July 27, 2017, 09:49 #2 Senior Member   Michael Prinkey Join Date: Mar 2009 Location: Pittsburgh PA Posts: 358 Rep Power: 17 I assume that you are calculating the pressure from the density and enthaply/temperature/energy. I suspect that you are choosing too large of a time step at some point, generating a negative density or energy variable. You can detect this and redo that step with a smaller delta t. The first step is to find out what variable is creating the negative pressure. The balance equation for mass is easy and might be the first place to look. You can quickly see what the maximum timestep can be (per-cell) based on the (negative) mass flux imbalance divided by the mass in the cell. If you are chasing steady state, you might want to at that condition to the per-cell timestepping scheme. Or you could loop over the domain and find the limiting timestep for positive density if you are doing transient simulations. Also note that they the limiting cell will come out with density equal to zero. That is better than negative, but may not be the best. You may want to specify a hard minimum density and limit the timestep to that. If you do that and you still have problems, the same treatment could be done for energy. But I wouldn't start there.

 July 27, 2017, 10:27 #3 Member   AGN Join Date: Dec 2011 Posts: 46 Rep Power: 8 Thanks Prinkey, I calculate flux using Reimann solver, then residue, from residue I march over time. Then I calculate primitive variable from \$Q^{n+1}\$. Time step is based on maximum wave speed, dt =CFL*node_area/max_wave_speed*face_length; I think this is the standard procedure to calculate "dt" in supersonic flow. Sometimes I operate at CFL number less than one for the implicit case. I guess that is pretty low for implicit one and I get -ve pressure only for the supersonic case not getting such issue in subsonic cases. I think your suggestion is, to reduce CFL number further for that cell if negative pressure detected. Am I right?

 July 27, 2017, 20:30 #4 Senior Member   Michael Prinkey Join Date: Mar 2009 Location: Pittsburgh PA Posts: 358 Rep Power: 17 The fluxes for mass are going to determine the new time densities however they are calculated (primitive or conserved variable interpolation or exact or approximate Riemann solver). The new time density should never be allowed to go negative. There are two ways to prevent that--for explicit time integration, you reduce the timestep (and thereby the CFL number) to prevent too much mass outflow from the cell. Or, you build a pressure(-like) equation using the mass conservation equation and solve the implicit system for a pressure/density/velocity correction that satisfies an the mass equation implicitly for the next timestep--that generally doesn't play well with high-speed flows and Reimman solvers. I don't know of any other way. arungovindneelan likes this.

 July 27, 2017, 21:43 #5 Member   AGN Join Date: Dec 2011 Posts: 46 Rep Power: 8 Thank you, I like the first one. I shall try whether there is any possibility of corrector step to calculate new time step in such cases.

July 27, 2017, 22:57
#6
Senior Member

Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 815
Blog Entries: 17
Rep Power: 23
Quote:
 Originally Posted by arungovindneelan Hi, I'm currently working on numerical simulation of supersonic flow past some bodies (bluff as well as sharp edge). Specifications of numerical schemes used: Reimann solver : Roe flux with entropy fix, AUSMDV
None of the two schemes mentioned is known to be also positivity preserving, so they are expected to produce negative density near vacuum confitions or for strong rarefactions, independetly from the CFL, implicit or explicit.

For the Roe scheme this can be fixed by a proper entropy fix, like a switch to an HLL like scheme (however, switch conditions are not anymore trivial like in the Harten fix).

The literature on this is sparse and slightly non consistent, considering the triviality of the possible solutions. Check these:

http://www.sciencedirect.com/science...21999191902113

For AUSM like schemes, you need at least AUSM+ (ok, here I'm not 100% sure, so you need to check by yourself).

I use the all speed HLLE+ scheme as entropy fix for an all speed Roe scheme (i.e., with preconditioning)

 July 28, 2017, 03:03 #7 Member   AGN Join Date: Dec 2011 Posts: 46 Rep Power: 8 Thanks, Paolo I think you prefer HLLE+(P) over Roe scheme with Harten entropy fix, I shall try that. Could you suggest some good Reimann solver for time accurate calculations, please?

 July 28, 2017, 04:05 #8 Senior Member     Paolo Lampitella Join Date: Mar 2009 Location: Italy Posts: 815 Blog Entries: 17 Rep Power: 23 Note that all the suggestions from Micheal still apply. That is, a negative density is certainly coming from an instability. The one I suggested is only one of the possible instabilities. Note also that, while there is nothing wrong in it, per se, I don't just use a preconditioned HLLE+, I adopt the approach as suggested at the end of the second link I posted above. That is, the preconditioned HLLE+ is used only as entropy fix for a classical preconditioned Roe scheme. The whole reasoning is based on: - HLL schemes do not need entropy fixes - HLLE is also positivity preserving - HLLE can be casted in Roe form, from which it differ only by eigenvalues - entropy fixes are based on eigenvalues - positivity preserving issues arise in a subset of cases where entropy fixes are needed - use HLLE as entropy fix for Roe Finally, note that the non preconditioned HLLE+ scheme is reported in the paper to need some additional twiddling in order to work. This was not needed (I can confirm) for the preconditioned scheme. I'm not an expert of the matter, just a practicioner, so take this with a grain of salt, but I currently use this scheme (both preconditioned and not preconditioned) for time accurate results without particular issues. For example, I tested it on the 5 Toro shock tube tests without problems (where, instead, Fluent failed for some of them, no matter what scheme was used). I also use it in an Immersed Boundary framework, with a lot of interpolations on not very nice grids and it never gives problems (however, I mostly focus on steady problems). arungovindneelan likes this.

 Tags euler equation, finite volume method

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post adoledin OpenFOAM Native Meshers: blockMesh 2 June 22, 2016 10:44 legione OpenFOAM Running, Solving & CFD 7 July 5, 2015 10:28 clod FLUENT 1 March 11, 2015 06:33 N_mrtz FLUENT 1 July 18, 2013 20:59 AlmostSurelyRob OpenFOAM 3 June 24, 2011 13:06

All times are GMT -4. The time now is 10:13.