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

Steady State solver for High Mach No flows

Register Blogs Community New Posts Updated Threads Search

Like Tree7Likes
  • 1 Post By olesen
  • 1 Post By mecbe2002
  • 5 Post By swahono

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 20, 2010, 10:23
Question Steady State solver for High Mach No flows
  #1
Senior Member
 
KGN
Join Date: Oct 2009
Location: Chennai, India
Posts: 121
Rep Power: 17
mecbe2002 is on a distinguished road
Hi all,

I want to solve supersonic(M=2.5) & transonic(M=0.9) flow over Body-Tail missile configuration.

Only one steady state compressible flow solver is available in OpenFOAM which is "rhoSimpleFoam", but when i used this for supersonic case, the solution starts diverging after few iterations.
I searched in the forum, but not able to get any answer for this problem.

sonicFoam is good for transonic and supersonic case but this is a transient solver, so using it to solve a steady flow problem takes a lot of time. So is there a way to convert the "sonicFoam" to steady flow solver.

Answer for this question will help many people, because i searched in the forum and saw no solid answer.


mecbe
mecbe2002 is offline   Reply With Quote

Old   April 21, 2010, 01:19
Question
  #2
Senior Member
 
KGN
Join Date: Oct 2009
Location: Chennai, India
Posts: 121
Rep Power: 17
mecbe2002 is on a distinguished road
Hi all,

Any answers...

mecbe2002 is offline   Reply With Quote

Old   April 21, 2010, 03:34
Default
  #3
Senior Member
 
Mark Olesen
Join Date: Mar 2009
Location: https://olesenm.github.io/
Posts: 1,715
Rep Power: 40
olesen has a spectacular aura aboutolesen has a spectacular aura about
Quote:
Originally Posted by mecbe2002 View Post
Hi all,

Any answers...

Did you try heavily under-relaxing the density (eg, with 0.05) to prevent the pressure corrector from wracking havoc? Adding min/max bounds for rho might help too.
lpz456 likes this.
olesen is offline   Reply With Quote

Old   April 21, 2010, 03:39
Default
  #4
Senior Member
 
KGN
Join Date: Oct 2009
Location: Chennai, India
Posts: 121
Rep Power: 17
mecbe2002 is on a distinguished road
Hi Olesen,

Thank you very much for the reply. The under relaxation i used for rho is 0.01. But i didn't bound rho. Can you tell the syntax for that.
lpz456 likes this.
mecbe2002 is offline   Reply With Quote

Old   April 21, 2010, 05:50
Default
  #5
Senior Member
 
Mark Olesen
Join Date: Mar 2009
Location: https://olesenm.github.io/
Posts: 1,715
Rep Power: 40
olesen has a spectacular aura aboutolesen has a spectacular aura about
Quote:
Originally Posted by mecbe2002 View Post
Hi Olesen,

Thank you very much for the reply. The under relaxation i used for rho is 0.01. But i didn't bound rho. Can you tell the syntax for that.

Somewhere near the beginning (eg, in createFields.H)

Code:
    dimensionedScalar rhoMax
    (
        mesh.solutionDict().subDict("SIMPLE").lookup("rhoMax")
    );

    dimensionedScalar rhoMin
    (
        mesh.solutionDict().subDict("SIMPLE").lookup("rhoMin")
    );
Elsewhere (eg, near the bottom of pEqn.H)

Code:
rho = thermo.rho();
rho = max(rho, rhoMin);
rho = min(rho, rhoMax);
rho.relax();
AFAIK the normal 'bound()' function can only be used to enforce a lower bound.
olesen is offline   Reply With Quote

Old   April 21, 2010, 06:03
Default
  #6
New Member
 
Join Date: Feb 2010
Posts: 24
Rep Power: 16
cboss is on a distinguished road
Hi,
I am also very interested in solving transonic and supersonic problems in OF. I have also never got the rhoSimpleFoam solver working on these problems, but also did not spend much time on it.

Just a remark:
Genrally I also use sonicFoam for these problems. Perhaps it is obvious for most users, but if the simulation is started with upwind discretization of the convection terms, the timestep can be increased to speed it up a little. Mainly up to Courant-Number = 10 is stable in my calculations.


Regards
cboss is offline   Reply With Quote

Old   April 21, 2010, 07:04
Default
  #7
Senior Member
 
KGN
Join Date: Oct 2009
Location: Chennai, India
Posts: 121
Rep Power: 17
mecbe2002 is on a distinguished road
Hi,

I made the changes to the code and compiled it. But still the solution diverges after few iterations. Is there any solutions?

Is there a way to convert "sonicFoam" as steady state solver.

cheers
mecbe
mecbe2002 is offline   Reply With Quote

Old   April 24, 2010, 12:07
Default
  #8
Member
 
Ngoc-Minh Truong
Join Date: Feb 2010
Location: Toulouse, France
Posts: 42
Rep Power: 16
truong_nm is on a distinguished road
Send a message via MSN to truong_nm
Hi Foamers,

I experienced sonicFoam for subsonic/transonic cases. I regret that there is no adaptating timestep I ran with very low timestep 1e-08 and experienced very very long computations for a really simple 2D airfoil. If you can share you experience, that would be nice
Concerning rhoSimpleFoam, there is a boolean 'transonic' that you can put in your fvSolution file with SIMPLE settings. That will change the way it solves the equations (because transonic equations are strongly non-linear). But I am not sure rhoSimpleFoam will solve your supersonic flows
Hope it'll help, don't forget to update your results
truong_nm is offline   Reply With Quote

Old   April 26, 2010, 15:33
Default
  #9
Senior Member
 
KGN
Join Date: Oct 2009
Location: Chennai, India
Posts: 121
Rep Power: 17
mecbe2002 is on a distinguished road
Hi,

I used sonicFoam to solve the problem, its working for comparatively large time step i.e. Courant No < 10. Using upwind scheme for divergence operator.

But i compared the results with the fluent, the velocity is matching but the pressure is under predicted by OpenFoam (50% less).

Wat may be the problem.
mecbe2002 is offline   Reply With Quote

Old   February 23, 2012, 19:51
Default
  #10
Member
 
Stefano Wahono
Join Date: Aug 2010
Location: Melbourne, Australia
Posts: 42
Rep Power: 16
swahono is on a distinguished road
I experienced the same problem with getting a converged solution with OpenFOAM when simulating a supersonic fully expanded jet on a turbojet engine nozzle (Mach 1 at Nozzle exit plane). I used a 2D axisymmetric model.

However, I managed to get it to converged lately using rhoSimpleFoam using the following strategies:

1. Ramp up the inlet mass flow rate very slowly (in my case I ramp up the mDot at inlet from 1 per cent of intended flow rate to 100 per cent over 6000 iterations).

0/U:

turbxit
{
type timeVaryingFlowRateInletVelocity;
flowRate 0.00625;
fileName "turbxitflowrate.dat";
outOfBounds clamp;
value (0 0 0);
}

2. Use Gauss Upwind for all convective schemes over the ramp period - more numerical diffusion is good to damp out any initial oscillation in the pressure field and localised strong gradients in the flowfield.

3. Use very low Under-Relaxation Factors (URF) over the ramp period. Just try to get the initial starting flow to develop all the way to the outlet boundary.

p 0.01;
rho 0.005;
U 0.7;
k 0.3;
epsilon 0.3;
h 0.7;

When your flow is not transonic, you can put URF for rho to 1.

4. When I switched to 2nd order gauss linearUpwind scheme later in the run (about 10,000 iterations), I used face limiter on all gradient and flux reconstruction schemes.

gradSchemes
{
default cellLimited Gauss pointLinear 1;
limitedGrad(U) cellMDLimited Gauss pointLinear 1;
limitedGrad(h) cellLimited Gauss linear 1;
limitedGrad(k) cellLimited Gauss pointLinear 1;
limitedGrad(epsilon) cellLimited Gauss pointLinear 1;
}

divSchemes
{
div(phi,U) Gauss linearUpwindV limitedGrad(U);
div(phi,h) Gauss linearUpwind limitedGrad(h);
div(phi,epsilon) Gauss linearUpwind limitedGrad(epsilon);
div(phi,k) Gauss linearUpwind limitedGrad(k);

div((muEff*dev2(grad(U).T()))) Gauss linear;
div((muEff*dev2(T(grad(U))))) Gauss linear;
div(U,p) Gauss linear;
}

5. Do not use standard KE for high transonic flow - never worked for me.

6. If possible use low-RE mesh - avoid wall function for mut.

BC at wall:
mut: type calculated
alphat: type calculated
epsilon: type compressible::epsilonWallFunction
k: type fixedValue; value uniform 1e-12;

7. If you expect strong shocks in the flowfield, rhoSimpleFoam will never ever work. Need density based solver. Unfortunately to my understanding, no density-based solver for steady state currently exists in OpenFOAM. Anyone wants to contribute?

Thank you.

Regards,
Stefano
__________________
Stefano Wahono

Defence Science and Technology Organisation
Propulsion Systems
swahono is offline   Reply With Quote

Old   July 6, 2021, 04:56
Default
  #11
Senior Member
 
Giles Richardson
Join Date: Jun 2012
Location: Cambs UK
Posts: 102
Rep Power: 14
ufocfd is on a distinguished road
Hi Stefano,

do you have any (more recent) experience on getting the
rhoSimpleFoam solver to work on transonic flows with shocks?

Im struggling awith a particularly difficult case, in terms of convergence,
and could do with some advice about solver settings and/or schemes.

Thanks Giles.
ufocfd 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
Probable bug with laplacian steady state novyno OpenFOAM 1 November 23, 2009 20:31
Steady state version of interFoam anger OpenFOAM Running, Solving & CFD 1 October 1, 2009 13:49
Development of a Low mach PISO solver nishant_hull OpenFOAM Programming & Development 0 August 25, 2009 13:48
Monitor point values in a steady state simulation Kushagra CFX 2 July 13, 2008 21:03
Transient vs Steady State Adam CFX 1 April 12, 2007 12:34


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