CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Laval Nozzle sonicFoam inlet and outlet bc (https://www.cfd-online.com/Forums/openfoam-solving/77289-laval-nozzle-sonicfoam-inlet-outlet-bc.html)

BernhardGrieser June 18, 2010 10:46

Laval Nozzle sonicFoam inlet and outlet bc
 
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

pg22 June 24, 2010 11:39

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.

BernhardGrieser June 25, 2010 02:24

Thank you Paul! I will try it out and post my results.
Bernie

BernhardGrieser June 25, 2010 05:49

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

pg22 June 25, 2010 07:53

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.

BernhardGrieser July 12, 2010 03:19

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)

pg22 July 12, 2010 05:07

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.

statesman August 2, 2010 20:47

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;
    }

T
Code:

internalField  uniform 298;

boundaryField
{
    outlet
    {
        type            zeroGradient;
    }
    wall
    {
        type            slip;
    }
    inlet
    {
          type            fixedValue;
        value          uniform 298;
       
    }

U
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 );

    }

Thank you very much

pg22 August 6, 2010 08:40

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 start-up 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 start-up 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.

statesman August 14, 2010 21:35

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 Micron-sized 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 .

Flukato February 16, 2017 07:45

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.


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