CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Zigzag velocity and pressure with compressible solver

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 27, 2020, 06:22
Default Zigzag velocity and pressure with compressible solver
  #1
Senior Member
 
Gerry Kan's Avatar
 
Gerry Kan
Join Date: May 2016
Posts: 376
Rep Power: 11
Gerry Kan is on a distinguished road
Howdy folks:

I am wondering if anybody has run into similar behavior before.

I am running a variant of rhoPimpleFoam (rhoReactingFoam to be exact, but without the reactions). For testing I have a box setup using blockMesh, where T, p, and U are prescribed as fixedValue BCs on the top and bottom walls, while the side walls are either cyclic (with U) or zeroGradient, as with the remaining scalars.

For the moment, U = 0 at said top and bottom boundaries. If T and p are identical at the boundaries (i.e., trivial solution), I get what I expected. However, as soon as introduce a pressure or temperature difference, I started to notice that UZ profile zig-zags along the z-axis. The amplitude of this zig-zag are more pronounced near the top and bottom walls, and as a whole the mean value (i.e., averaging across the zig-zags) gives me something plausible. Similar zig-zag behavior, although less prominent, can also be seen in All other scalars (i.e., U, T) have otherwise smooth profile.

The following is my PIMPLE settings. Changing the settings, particularly nOuterCorrectors and nCorrectors, do not alter zig-zag behavior above, which led me to believe that this might not be an issue of pressure-momentum coupling (i.e., checkerboard):

Code:
PIMPLE  {

    momentumPredictor        no;
    nOuterCorrectors        120;    // PIMPLE loop
    nCorrectors               5;    // momentum-pressure coupling
    nNonOrthogonalCorrectors  0;

    residualControl  {
        U  1.0e-6;
        p  1.0e-6;
        h  1.0e-6;
        "(k|epsilon|Yi)"  1.0e-6;
    }

    outerCorrectorResidualControl  {
        "(U|p)"  {
            tolerance 1.0e-6;
            relTol    0.0;
        }
    }
}
My spidey sense tells me it might be numerical oscillation resulting from the change in boundary conditions. However, changing flux limiter (i.e., limitedLinear, Minmod, etc) do not affect this behavior.

The only remedy I can think of right now is to introduce numerical damping terms in UEqn.H and pEqn.H and hope that this will attenuate the oscillation. Before I do that, however, I would like to know if there are any other options that could be implemented without introducing code change.

Thanks in advance, Gerry.
Gerry Kan is offline   Reply With Quote

Old   February 27, 2020, 16:11
Default
  #2
Senior Member
 
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 22
jherb is on a distinguished road
How have you set the boundaries? Normally, you want an "inlet" with fixedValue for U and zeroGradient for p (or does this solver use p_rgh, then its fixedFluxPressure for p_rgh) and vice verse for the "outlet".


Also, if you use nOuterCorrectors, then you normally also use under-relaxation.
jherb is offline   Reply With Quote

Old   February 28, 2020, 04:45
Default
  #3
Senior Member
 
Gerry Kan's Avatar
 
Gerry Kan
Join Date: May 2016
Posts: 376
Rep Power: 11
Gerry Kan is on a distinguished road
Dear Joachim:


Thanks for your response. To be honest I have been doing a lot of OF code changes for the last few weeks, that I forgot it could be a BC issue. Thanks for your reminder.


Based on your advice, I changed my top pressure boundary from fixedValue to zeroGradient and saw improvement in the near-wall oscillation on both Uz and p, although it did not go away completely. So I think this is the right direction, and I am glad that it is simpler than I originally thought.


As for the system, it is not a classic "inlet-outlet-wall" type of setup, but rather it is some kind of open space. So the bottom is the ground, where fixedValue BCs are prescribed for p, T, and U. The top is "free stream", prior to your suggestion, all of p,T, and U BCs are of the fixedValue variety. The remaining walls (on the side) are marked as cyclic.


What I am uncertain about, is whether I should use static or total pressure to prescribe the bottom wall pressure. In a compressible flow setting, it is standard (at least for me) to extend the inlet to a quiescent reservoir and prescribe a total pressure BC at the extended inlet. Here I don't have to option to do so. What could be a good alternative?


Thanks in advance, Gerry.
Gerry Kan is offline   Reply With Quote

Old   March 7, 2020, 13:36
Default
  #4
Senior Member
 
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 22
jherb is on a distinguished road
Have you tried fixedValue for pressure and zeroGradient for U?
jherb is offline   Reply With Quote

Reply


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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Issues on the simulation of high-speed compressible flow within turbomachinery dowlee OpenFOAM Running, Solving & CFD 11 August 6, 2021 07:40
Neumann pressure BC and velocity field Antech Main CFD Forum 0 April 25, 2006 03:15
compressible two phase flow in CFX4.4 youngan CFX 0 July 2, 2003 00:32
Terrible Mistake In Fluid Dynamics History Abhi Main CFD Forum 12 July 8, 2002 10:11
what the result is negatif pressure at inlet chong chee nan FLUENT 0 December 29, 2001 06:13


All times are GMT -4. The time now is 23:01.