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/)
-   -   Supersonic turbulent free jet LES (https://www.cfd-online.com/Forums/openfoam-solving/106869-supersonic-turbulent-free-jet-les.html)

martyn88 September 11, 2012 06:41

Supersonic turbulent free jet LES
 
3 Attachment(s)
Hi everyone,

I am doing an LES simulation of a turbulent supersonic free jet using the rhoPimpleFoam solver.

My solution domain is a converging diverging nozzle with the free-stream extending 30 nozzle exit diameters. and 10 diameters high. There is also a section of free-stream above the nozzle to capture the flow behavior at the nozzle lip. The computational domain is only a 1/8th section using cyclic side boundaries.

I have included pictures below.


Attachment 15675


Attachment 15676


Attachment 15677



This mesh is very coarse for LES but at this stage I am just trying to establish my BC's and get a stable run.


I am using the flowRateInletVelocity BC so the simulation is driven by a mass flow not a pressure difference (using zeroGradient pressure BC at inlet).
I am trying to avoid a 'numerical shock' so I am currently ramping this inlet BC but it is way too gradual, the table is:
(0 0.05496
(3000 5.496)

Even at this very slight ramp the simulation is still crashing after only 0.003sec and at this time it should be barely moving yet there is a max velocity of 117m/s! So obviously this is completely unstable.

I also fear that my outlet is poorly defined. At this stage I have my inlet boundary, the nozzle wall, then all other boundaries are effectively an 'outlet', which I have named freestream. Is it OK to have more than one outlet or do I need to define an actual outlet (perhaps the rightmost face) and then the freestream separately using some far-field condition?

At the moment I am using a totalPressure condition for all the free-stream boundaries but will use waveTransmissive when I perform the actual run to dissipate the shocks.

Basically I keep getting this error message when I run the case (rho is diverging, enthalpy equation is crashing):


--> FOAM FATAL ERROR:
Maximum number of iterations exceeded

From function specieThermo<Thermo>::T(scalar f, scalar T0, scalar (specieThermo<Thermo>::*F)(const scalar) const, scalar (specieThermo<Thermo>::*dFdT)(const scalar) const) const
in file /home/opencfd/OpenFOAM/OpenFOAM-2.1.0/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 69.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#2 Foam::specieThermo<Foam::hConstThermo<Foam:erfec tGas> >::T(double, double, double (Foam::specieThermo<Foam::hConstThermo<Foam:erfe ctGas> >::*)(double) const, double (Foam::specieThermo<Foam::hConstThermo<Foam:erfe ctGas> >::*)(double) const, double (Foam::specieThermo<Foam::hConstThermo<Foam:erfe ctGas> >::*)(double) const) const in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libbasicThermophysicalModels.so"
#3 Foam::hPsiThermo<Foam:ureMixture<Foam::constTran sport<Foam::specieThermo<Foam::hConstThermo<Foam:: perfectGas> > > > >::calculate() in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libbasicThermophysicalModels.so"
#4 Foam::hPsiThermo<Foam:ureMixture<Foam::constTran sport<Foam::specieThermo<Foam::hConstThermo<Foam:: perfectGas> > > > >::correct() in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libbasicThermophysicalModels.so"
#5
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/rhoPimpleFoam"
#6 __libc_start_main in "/lib/i386-linux-gnu/libc.so.6"
#7
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/rhoPimpleFoam"
Aborted



I have done the following with no success:
- Running it in PISO mode with nOuterCorrectors = 3
- using backward ddt scheme
- have increased all rel tol by 10 times (kept rel tol final = 0)
- have decreased the relaxation factors to 0.7 (plan to increase it to 1 when flow is developed)

Does anyone have any ideas on how to increase the stability of my run? Should I just use a uniform velocity inlet condition?

A lot of info I know but any help would be really appreciated.

Thankyou

martyn88 September 11, 2012 21:48

Is there anyone that could help me with this?

martyn88 September 13, 2012 00:45

anybody out there? :)

hz283 January 20, 2013 10:05

Quote:

Originally Posted by martyn88 (Post 381200)
Hi everyone,

I am doing an LES simulation of a turbulent supersonic free jet using the rhoPimpleFoam solver.

My solution domain is a converging diverging nozzle with the free-stream extending 30 nozzle exit diameters. and 10 diameters high. There is also a section of free-stream above the nozzle to capture the flow behavior at the nozzle lip. The computational domain is only a 1/8th section using cyclic side boundaries.

I have included pictures below.


Attachment 15675


Attachment 15676


Attachment 15677



This mesh is very coarse for LES but at this stage I am just trying to establish my BC's and get a stable run.


I am using the flowRateInletVelocity BC so the simulation is driven by a mass flow not a pressure difference (using zeroGradient pressure BC at inlet).
I am trying to avoid a 'numerical shock' so I am currently ramping this inlet BC but it is way too gradual, the table is:
(0 0.05496
(3000 5.496)

Even at this very slight ramp the simulation is still crashing after only 0.003sec and at this time it should be barely moving yet there is a max velocity of 117m/s! So obviously this is completely unstable.

I also fear that my outlet is poorly defined. At this stage I have my inlet boundary, the nozzle wall, then all other boundaries are effectively an 'outlet', which I have named freestream. Is it OK to have more than one outlet or do I need to define an actual outlet (perhaps the rightmost face) and then the freestream separately using some far-field condition?

At the moment I am using a totalPressure condition for all the free-stream boundaries but will use waveTransmissive when I perform the actual run to dissipate the shocks.

Basically I keep getting this error message when I run the case (rho is diverging, enthalpy equation is crashing):


--> FOAM FATAL ERROR:
Maximum number of iterations exceeded

From function specieThermo<Thermo>::T(scalar f, scalar T0, scalar (specieThermo<Thermo>::*F)(const scalar) const, scalar (specieThermo<Thermo>::*dFdT)(const scalar) const) const
in file /home/opencfd/OpenFOAM/OpenFOAM-2.1.0/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 69.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#2 Foam::specieThermo<Foam::hConstThermo<Foam:erfec tGas> >::T(double, double, double (Foam::specieThermo<Foam::hConstThermo<Foam:erfe ctGas> >::*)(double) const, double (Foam::specieThermo<Foam::hConstThermo<Foam:erfe ctGas> >::*)(double) const, double (Foam::specieThermo<Foam::hConstThermo<Foam:erfe ctGas> >::*)(double) const) const in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libbasicThermophysicalModels.so"
#3 Foam::hPsiThermo<Foam:ureMixture<Foam::constTran sport<Foam::specieThermo<Foam::hConstThermo<Foam:: perfectGas> > > > >::calculate() in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libbasicThermophysicalModels.so"
#4 Foam::hPsiThermo<Foam:ureMixture<Foam::constTran sport<Foam::specieThermo<Foam::hConstThermo<Foam:: perfectGas> > > > >::correct() in "/opt/openfoam210/platforms/linuxGccDPOpt/lib/libbasicThermophysicalModels.so"
#5
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/rhoPimpleFoam"
#6 __libc_start_main in "/lib/i386-linux-gnu/libc.so.6"
#7
in "/opt/openfoam210/platforms/linuxGccDPOpt/bin/rhoPimpleFoam"
Aborted



I have done the following with no success:
- Running it in PISO mode with nOuterCorrectors = 3
- using backward ddt scheme
- have increased all rel tol by 10 times (kept rel tol final = 0)
- have decreased the relaxation factors to 0.7 (plan to increase it to 1 when flow is developed)

Does anyone have any ideas on how to increase the stability of my run? Should I just use a uniform velocity inlet condition?

A lot of info I know but any help would be really appreciated.

Thankyou

Hi Hugh,

I had the same problem now. I am using rhoPimpleFoam (LES) to simulate a free turbulent jet. The jet exit velocity is 70 and the coflow velocity is 10. I used the standard rhoPimpleFoam solver and did not make any modification on it. However, I had the same error messege from the solver. I guess it is caused by the wrong calculations of enthalpy, rho. How did you sovle that problem half a year ago?

I really appreciate it if you can give me some suggestions.

best
H

halowine March 13, 2013 10:03

hi,

I have the same problem. I try to simulate a supersonic LES flow with openFoam and this error about the thermoLibrary pop up every time.

Any idea?

thx

richpaj March 18, 2013 01:17

A few suggestions, firstly, you might want to ensure that the 'transonic' switch is set to 'on' in fvSolutions (in the PISO subdict, not sure if that is mentioned above).....failing that, and secondly, modify the initial conditions (using
setFields) to allow the central column of gas to 'move'.

The thermo error you observe is merely a reflection of the fact that h (enthalpy) has overshot owing to a poor/unstable estimate of the convection
term in the hEqn. Once you stabilize U&phi the rest should follow.

I had a similar geometry some years back but after some consideration
was able to replace the downstream section with a pressure boundary condition (p fixed or waveTransmissive, I forget which) at the exit to the divergent section of the nozzle.

Good luck,

Richard K.

srahul July 1, 2013 08:11

Hello Everybody,

I am trying to solve supersonic flow over backstep using rhoCentralFoam and sonicFoambut I m faced with this strange problem :

The error is:
--> FOAM FATAL ERROR : Maximum number of iterations exceeded

From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const
in file /home/liu/OpenFOAM/OpenFOAM-1.2/src/thermophysicalModels/specie/lnInclude/specie ThermoI.H at line 83.

FOAM aborting

Looking forward to constructive suggestions.

Thanks
Rahul

richpaj July 1, 2013 10:51

ditto for the above.

Richard K.


All times are GMT -4. The time now is 19:28.