CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   DieselFoam and temperature out of janaf range (http://www.cfd-online.com/Forums/openfoam-solving/59563-dieselfoam-temperature-out-janaf-range.html)

hoogland July 14, 2007 07:14

I'm trying to use dieselFoam (
 
I'm trying to use dieselFoam (for the excellent particle tracking) to model the injection of gas and particles from a reservoir containing ambient air @ 20 [atm] into a 20 [L] spherical chamber with initial ambient air @ 0.4 [atm]. Flow at the inlet is expected to be 2 > M > 1. I've done this already in Fluent.

Using many of the defaults from aachenBomb (e.g. chem.inp, therm.inp and dict files), I have switched on the PISO transonic option. With chemistry, turbulence and virtually all the particle models switched off, after a few hundred iterations, a temperature somewhere creeps below the thermo table lower limit of 200 [K], e.g.:

\start
...
Evolving Spray
Solving chemistry
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for Ux, Initial residual = 2.82412e-05, Final residual = 1.52958e-09, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 2.56321e-05, Final residual = 5.48701e-09, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 2.2131e-05, Final residual = 2.16408e-09, No Iterations 1
DILUPBiCG: Solving for C7H16, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for O2, Initial residual = 7.56145e-05, Final residual = 1.06866e-08, No Iterations 1
DILUPBiCG: Solving for CO2, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for H2O, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for h, Initial residual = 6.94819e-05, Final residual = 6.86817e-09, No Iterations 1
DILUPBiCG: Solving for p, Initial residual = 4.17584e-08, Final residual = 2.10339e-13, No Iterations 1
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.58205e-16, global = 6.99217e-19, cumulative = 6.87049e-15
DILUPBiCG: Solving for p, Initial residual = 5.92624e-12, Final residual = 5.92624e-12, No Iterations 0
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.69901e-16, global = 6.65534e-19, cumulative = 6.87116e-15

Number of parcels in system | 1442
Injected liquid mass....... | 4.58556e-10 mg
Liquid Mass in system...... | 194.444 mg
SMD, Dmax.................. | 105.083 mu, 563.588 mu
Added gas mass = -194.444 mg
Evaporation Continuity Error| 6.37119e-06 mg
ExecutionTime = 2201.73 s ClockTime = 2201 s

Courant Number mean: 1.52092e-06 max: 0.00999747
deltaT = 7.18861e-09
Time = 4.59275e-06

Evolving Spray
Solving chemistry
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for Ux, Initial residual = 2.81661e-05, Final residual = 1.52641e-09, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 2.56031e-05, Final residual = 5.43359e-09, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 2.20784e-05, Final residual = 2.1833e-09, No Iterations 1
DILUPBiCG: Solving for C7H16, Initial residual = 0, Final residual = 0, No Iterations 0
[1]
[1]
[1] --> FOAM FATAL ERROR : attempt to use janafThermo<equationofstate> out of temperature range 200 -> 5000; T = 199.958#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&)
#1 Foam::error::abort()
#2 Foam::specieThermo<foam::janafthermo<foam::perfect gas> >::H(double) const
#3 Foam::hMixtureThermo<foam::reactingmixture>::calcu late()
#4 Foam::hMixtureThermo<foam::reactingmixture>::corre ct()
#5 main
#6 __libc_start_main
#7 __gxx_personality_v0 at ../sysdeps/x86_64/elf/start.S:116
[1]
[1]
[1] From function janafThermo<equationofstate>::checkT(const scalar T) const
[1] in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.4/src/thermophysicalModels/specie/lnInclude/ janafThermoI.H at line 73.
[1]
FOAM parallel run aborting
\end

David Herbert addressed similar issues in http://www.cfd-online.com/cgi-bin/Op...cus/discus.cgi, . I suspect there is a fundamental mathematical/numerical issue going on with the thermo parameters, maybe in combination with the relatively high level of expansion occuring in the gas. I have some additional questions:

- If I have switched chemistry off, why are many of the species still involved in the calculation (see output above)?
- What is the best way to find out which cell(s) are approaching a given parameter threshhold, in this case T = 200 [K]? It would help with diagnosis.
- How can I switch the calculation of thermo parameters over from the curve fits to constant and/or perfect gas properties?

Cheers
Jason

lucchini July 15, 2007 04:53

Dear Jason, the crashing of
 
Dear Jason,

the crashing of dieselFoam and the other combustion solvers is generally linked to troubles related to numerics or bad mesh resolution (non-orthogonality or skew).

These are some suggestions to improve your case:

First of all, switch all the Laplacian schemes to

Gauss linear uncorrected or
Gauss linear limited and see what happens,

Second: try upwind schemes for the enthalpy in divSchemes

Third, make sure about the mesh generation, where everything which is a "real wall" must be declared as a wall (and not a patch) in the blockMeshDict file and in the boundary file.

Fourth, try with a finer mesh

Fifth: try to increase the number of correctors in the PISO settings.

Then, the replies to your questions:

1) Switching the chemistry off means that no chemical source terms will be calculated. Even if you switch the chemistry off, the number of the involved species is always same since it taken from the chemical mechanism and for this reason for each species a transport equation is solved.

2) Have a look at the thermo->correct() function which should be in the hMixtureThermo class and see where the temperature is re-calculated after the enthalpy equation.

3) with dieselFoam you can only use reactingMixture and janafThermo, if you want to use something else you have to re-write your own solver and in this case you can use a multiComponentMixture with hConstThermo (which should be perfect gas)

That's all.

Regards

Tommaso

hoogland July 17, 2007 21:19

Thanks Tommaso, That was he
 
Thanks Tommaso,

That was helpful. Have tried all but the finer mesh without success. The original mesh was tet but I also tried with a wedge hex and paved hex mesh. Looks like I'll have to hack the solver.

I've had this problem before using an "in-house" c code with full chemkin-like chemistry which works well at elevated temperatures - what it is designed for - but falls over for room and sub-room temperatures in the presence of compressible flow expansion. I'd like to figure out why some day!

Jason

mahaputra May 6, 2009 14:10

Quote:

Originally Posted by hoogland (Post 184980)
Thanks Tommaso,

That was helpful. Have tried all but the finer mesh without success. The original mesh was tet but I also tried with a wedge hex and paved hex mesh. Looks like I'll have to hack the solver.

I've had this problem before using an "in-house" c code with full chemkin-like chemistry which works well at elevated temperatures - what it is designed for - but falls over for room and sub-room temperatures in the presence of compressible flow expansion. I'd like to figure out why some day!

Jason

Hi Jason Hoogland


did you succeess with your dieselFoam simulation?

i got a same problem same as yours.


please let me know how you fixed it.


thanks

hamburgFoam December 9, 2009 11:04

HeyNugroho,

i have the same problem like you. i am using the reactingFoam solver.


attempt to use janafThermo<equationOfState> out of temperature range 200 -> 5000; T = 194.657#0 Foam::error::printStack(Foam::Ostream&) in "/home/openfoam/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/openfoam/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::specieThermo<Foam::janafThermo<Foam::perfect Gas> >::H(double) const in "/home/openfoam/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libreactionThermophysicalModels.so"
#3 Foam::hPsiMixtureThermo<Foam::reactingMixture<Foam ::sutherlandTransport<Foam::specieThermo<Foam::jan afThermo<Foam::perfectGas> > > > >::calculate() in "/home/openfoam/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libreactionThermophysicalModels.so"
#4 Foam::hPsiMixtureThermo<Foam::reactingMixture<Foam ::sutherlandTransport<Foam::specieThermo<Foam::jan afThermo<Foam::perfectGas> > > > >::correct() in "/home/openfoam/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libreactionThermophysicalModels.so"
#5 main in "/home/openfoam/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/reactingFoam"
#6 __libc_start_main in "/lib/libc.so.6"
#7 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/i386/elf/start.S:122


From function janafThermo<equationOfState>::checkT(const scalar T) const
in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/specie/lnInclude/janafThermoI.H at line 64.

FOAM aborting

could you let me know, how to fixe it?

regards,

ilja


All times are GMT -4. The time now is 09:38.