
[Sponsors] 
June 18, 2010, 10:46 
Laval Nozzle sonicFoam inlet and outlet bc

#1 
Member
Bernhard Grieser
Join Date: Mar 2010
Location: Zurich, Switzerland
Posts: 30
Rep Power: 9 
I've been trying to run a Laval nozzle in OpenFOAM with bc settings displayed below. The nozzle is designed such that an incoming subsonic flow of inlet conditions (indexed with "1") is being accelerated to M2=1.3 (exit Mach number) without experiencing any shocks in the diverging part.
T1=420 K p1=1,0976 Pa (static pressure) u1=246.4 m/s kappa=1.4 (isentropic coefficient of air) M1=0.6 (Mach number) Unfortunately the inlet velocity is decreasing after a few time steps with sonicFoam, so I cannot guarantee the imposed Mach number of 0.6 at the entry. Velocity quickly falls down to Mach 0.4 where it keeps its level. Apart from that the solution looks quite well, with the flow being choked at the smallest area. Can someone please have a quick look at my bc settings, so I can solve this issue? I am new to OpenFOAM, and this issue imposes quite a challenge. I've shortened the following bc's down to just inlet and outlet patches (in case someone wonders where the walls have gone to): Pressure: internalField uniform 109000; boundaryField outlet { type waveTransmissive; field p; phi phi; rho rho; psi psi; gamma 1.4; fieldInf 100.0; lInf 1; value uniform 10000; } inlet { type totalPressure; p0 uniform 140000; < Is that the total pressure? U U; phi phi; rho none; psi none; gamma 1.4; value uniform 109760; < Is this static pressure? } } Temperature: internalField uniform 400; boundaryField { inlet { type fixedValue; value uniform 419.776; } outlet { type zeroGradient; } } Velocity: internalField uniform (246.4138 0 0); boundaryField { inlet { type pressureInletOutletVelocity; phi phi; value uniform (246.4138 0 0); } outlet { type zeroGradient; } } Thank you very much, Bernie 

June 24, 2010, 11:39 

#2 
New Member
Paul Garlick
Join Date: Mar 2009
Location: Bournemouth, UK
Posts: 25
Rep Power: 10 
One thought; the waveTransmissive boundary condition on the outlet overspecifies the case. The imposed pressure will have the effect of reducing the outlet Mach number.
If the flow is genuinely supersonic then the pressure should be extrapolated at the outlet. This can be achieved by setting the outlet pressure BC to zeroGradient. Paul. 

June 25, 2010, 02:24 

#3 
Member
Bernhard Grieser
Join Date: Mar 2010
Location: Zurich, Switzerland
Posts: 30
Rep Power: 9 
Thank you Paul! I will try it out and post my results.
Bernie 

June 25, 2010, 05:49 

#4 
Member
Bernhard Grieser
Join Date: Mar 2010
Location: Zurich, Switzerland
Posts: 30
Rep Power: 9 
Now that I've changed the pressure outlet bc from waveTransmissive to zeroGradient, the flow doesn't choke any more. Since it's also not reaching the desired Mach number of 0.6 at the inlet, I probably have to change my inlet conditions as well. Shortly after starting the calculation the converging part of the nozzle seems to slow down the upstream flow from Mach 0.6 to 0.4. Do you have an idea how I can keep the initial flow field at the inlet constant? FYI:The inlet section of my flow field is of the same cross section area as the inlet of the nozzle.
Thank you for helping me out, Bernie 

June 25, 2010, 07:53 

#5 
New Member
Paul Garlick
Join Date: Mar 2009
Location: Bournemouth, UK
Posts: 25
Rep Power: 10 
You mentioned above that static pressure and velocity are known at the inlet, so you can use these values directly. There is no need to use the totalPressure BC; instead use fixedValue;
inlet { type fixedValue; value uniform 10976; } Also, for velocity; inlet { type fixedValue; value uniform (246.4 0 0); } This will fix the inlet Mach number. The downstream conditions will then be determined by the geometry of the nozzle. Paul. 

July 12, 2010, 03:19 

#6 
Member
Bernhard Grieser
Join Date: Mar 2010
Location: Zurich, Switzerland
Posts: 30
Rep Power: 9 
Thanks again, Paul! Changing the inlet bcs to fixedValue and keeping the outlet bcs zeroGradient results in the following:
Right after starting the calculation Mach Number is reached in the smallest area. Unfortunately also the velocity in the very inlet part increases infinitely. Obviously the kinetic energy of the incoming fluid doesn't get transferred downstream into the Laval nozzle (with settings as described above). Instead also pressure builds up heavily in that very first inlet region (only there!). Do you know why? __________________________________________________ ____________________ (I'll be out of office for the next ten days, so I won't be able to reply to new posts right away) 

July 12, 2010, 05:07 

#7 
New Member
Paul Garlick
Join Date: Mar 2009
Location: Bournemouth, UK
Posts: 25
Rep Power: 10 
Two ideas:
i) check the maximum Courant number for the flow. This should be no higher than approx. 0.5 but may need to be as low as 0.05 in the early stages of the calculation. Adjust deltaT if necessary. ii) swap solvers; rhoCentralFoam is good for high velocity flows. The Ladenburg60psi tutorial is a good place to start. Paul. 

August 2, 2010, 20:47 

#8 
New Member
Join Date: Jun 2009
Posts: 8
Rep Power: 10 
Dear Paul ,
I ve been using rhoCentralFoam for quite a long time and am quite satisfied with it . I am trying to simulate a free underexpnaded jet like the one in Ladenberg test case. The only difference is that my domain includes both nozzle geomentry and the expansion chamber [ as opposed to the Ladenberg case which only includes the latter] . So now case I am having trouble with inlet boundary conditions to represent the subsonic reservoir conditions . The inlet is maintained at atmospheric conditions , while outlet is 2500 Pa. According to Anderson's CFD text for subsonic inlets P and T is to be specified and U is allowed to float. If I specify internalField = outlet Pressure my solution crashes. The code runs stable for an internalField value > 15000 Pa only . But the solution is not accurate . Could you suggest me the ideal set of BC's and internalField to represent conditions adequately . Ill post p , T U files here. P Code:
internalField uniform 15000; boundaryField { outlet { type nonReflective; fieldInf uniform 2533.33; linf 1; gamma 1.4; phi phi; psi psi; refGradient uniform 0; value uniform 2533.33; } wall { type slip; } inlet { type totalPressure; U U; phi phi; rho none; psi none; gamma 1.4; p0 uniform 101325; value uniform 101325; } Code:
internalField uniform 298; boundaryField { outlet { type zeroGradient; } wall { type slip; } inlet { type fixedValue; value uniform 298; } Code:
internalField uniform (5 0 0); boundaryField { outlet { type zeroGradient; value uniform (5 0 0 ); } wall { type slip; } inlet { type zeroGradient; value uniform (5 0 0 ); } 

August 6, 2010, 08:40 

#9 
New Member
Paul Garlick
Join Date: Mar 2009
Location: Bournemouth, UK
Posts: 25
Rep Power: 10 
Dear Statesman,
The boundary conditions are reasonable, although I don't recognise the nonReflective boundary type (which version of OF are you using?). One minor point is that the type 'zeroGradient' does not require a value, so for U the 'value uniform (5 0 0)' line should be deleted. However, there could be problems with the extreme operating condition. Certainly there will be very rapid transients inside the nozzle if the initial internal pressure is set to the very low external pressure. To capture this startup period would require very small time steps, perhaps a max. Courant number in the region of 0.02. One idea that would help is to set the initial pressure inside the nozzle to equal the inlet pressure. The internal flow would then remain subsonic during the startup period. Also, check the Knudsen number for this flow (should be << 1). Very rapid flows at very low pressures approach the limit of the continuum hypothesis (on which CFD is based). It may be that the flow is 'rarified' and the conservation laws are not applicable. Paul. 

August 14, 2010, 21:35 

#10 
New Member
Join Date: Jun 2009
Posts: 8
Rep Power: 10 
Paul ,
Thank you very much for your reply , Sorry for replying a little late . Your post has been very helpful . I am running cases by lowering the Courant Number to ensure stability. Another tool that I m trying is to initializing the solution by the internal field obtained by a stable steady state solution of a lower pressure ratio . nonReflective BC are almost the same as waveTransmissive. Both are based on a paper by Poinsot , Lele. Its interesting that you would mention the Knudsen number for the gas, as in the future ill be studying flow of Micronsized particles in rarefied gas; the flow of whom lies in the raredied regime . I did run cases for such a low pressure in a domain representing only the expansion chamber i.e. sans the nozzle. That solution did converge successfully. So maybe its the nozzle geometry that complicates things. However I shall update you with my experience . 

February 16, 2017, 08:45 

#11 
New Member
Marvin
Join Date: Dec 2016
Posts: 3
Rep Power: 2 
I had the same Problems before with the solver crashing.
Solved that one with the setFields Option, where I set the pressure until the nozzle to the Inlet pressure and behind to the Outlet pressure. 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Stability Problem with sonicFoam for Nozzle Flow  Julian K.  OpenFOAM  3  July 11, 2016 08:14 
ATTENTION! Reliability problems in CFX 5.7  Joseph  CFX  14  April 20, 2010 15:45 
VOF Outlet boundary condition in cfd  ace  JM  Main CFD Forum  0  December 15, 2006 09:07 
compressible flow in a counterflow nozzle  d.vamsidhar  FLUENT  0  November 24, 2005 02:45 
what the result is negatif pressure at inlet  chong chee nan  FLUENT  0  December 29, 2001 06:13 