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/)
-   -   reactingFoam , FOAM Warning : Increase time precision and then crash (http://www.cfd-online.com/Forums/openfoam-solving/114755-reactingfoam-foam-warning-increase-time-precision-then-crash.html)

camille131 March 17, 2013 06:02

reactingFoam , FOAM Warning : Increase time precision and then crash
 
Hi every OpenFoamer,
I am a new user trying to simulate a burner (premixed air/gas) with reactingFoam.

I have boundary conditions over inlet, outlet and walls. FrontAndBack are everytime set as wedge and the axis set as empty.

I use in a first time laminar RASModel.

My boundary conditions are the next ones :

VELOCITY :
- inlet : fixed value (5.77 0 0) m/s
- walls : fixedValue (0 0 0) (no slip condition)
- outlet: inletOutlet
inletValue (5.77 0 0)
value (0 0 0)

PRESSURE
- inlet : first I put a totalPressure condition (with p0 = 1e5 and gamma=1.3 ) but it didn't work, I had a error message such that T was out of range of the JANAF table (i.e. 145 K instead of 200 to 5000 K)

Then I put fixedValue 1e5 and had the same problem but with T = 44 218 K !
Now I put zeroGradient pressure condition at the inlet and have the error described below...

It increases time precision, become slower then and finally crashes.


- outlet : waveTransmissive ;
field p;
phi phi;
rho rho;
psi psi;
gamma 1.3;
fieldInf 1e5;
lInf 0.3;
value uniform 1e5;


- walls : zeroGradient


Can somebody help me? I can give you more details of my case if necessary.

Thank you for your help

Camille

FIRST WARNING
Quote:

Courant Number mean: 0.00136405 max: 0.501311
deltaT = 9.27068e-08
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 6 to 7 to distinguish between timeNames at time 0.0105444
Time = 0.01054445

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for O2, Initial residual = 5.19814e-05, Final residual = 3.14383e-09, No Iterations 1
DILUPBiCG: Solving for H2O, Initial residual = 5.86842e-05, Final residual = 9.42635e-10, No Iterations 1
DILUPBiCG: Solving for CH4, Initial residual = 3.22394e-06, Final residual = 5.2933e-12, No Iterations 1
DILUPBiCG: Solving for CO2, Initial residual = 5.86842e-05, Final residual = 9.42526e-10, No Iterations 1
DILUPBiCG: Solving for hs, Initial residual = 7.373e-05, Final residual = 7.54413e-10, No Iterations 1
T gas min/max = 251.184, 5000
DICPCG: Solving for p, Initial residual = 0.000571098, Final residual = 1.25381e-08, No Iterations 1
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 0.000136388, global = 2.93978e-06, cumulative = -0.0269849
DICPCG: Solving for p, Initial residual = 2.09969e-07, Final residual = 2.09969e-07, No Iterations 0
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 0.000136397, global = 2.93823e-06, cumulative = -0.026982
ExecutionTime = 280.01 s ClockTime = 283 s
LAST WARNING

Quote:

Courant Number mean: 8.5201e-07 max: 0.517007
deltaT = 3.9029e-301
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 19497 to 19498 to distinguish between timeNames at time 0.0113605
Time = 0.011360481550797446245737454262325627496466040611 26708984375

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
[7] #0 Foam::error::printStack(Foam::Ostream&) in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[7] #1 Foam::sigFpe::sigHandler(int) in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[7] #2
[7] at sigaction.c:0
[7] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[7] #4 Foam::operator*(Foam::tmp<Foam::Field<double> > const&, Foam::UList<double> const&) in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[7] #5 Foam::fv::EulerDdtScheme<double>::fvmDdt(Foam::Geo metricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
[7] #6 Foam::tmp<Foam::fvMatrix<double> > Foam::fvm::ddt<double>(Foam::GeometricField<double , Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reactingFoam"
[7] #7
[7] in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reactingFoam"
[7] #8 __libc_start_main in "/lib64/libc.so.6"
[7] #9
[7] in "/usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reactingFoam"
[mback01:01807] *** Process received signal ***
[mback01:01807] Signal: Floating point exception (8)
[mback01:01807] Signal code: (-6)
[mback01:01807] Failing at address: 0x5650000070f
[mback01:01807] [ 0] /lib64/libc.so.6() [0x38a8a32920]
[mback01:01807] [ 1] /lib64/libc.so.6(gsignal+0x35) [0x38a8a328a5]
[mback01:01807] [ 2] /lib64/libc.so.6() [0x38a8a32920]
[mback01:01807] [ 3] /usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam8multiplyERNS_5FieldIdEERKN S_5UListIdEES6_+0xc1) [0x7f32446b3f21]
[mback01:01807] [ 4] /usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4FoammlERKNS_3tmpINS_5FieldIdEEE ERKNS_5UListIdEE+0x48) [0x7f32446b8a58]
[mback01:01807] [ 5] /usr/local/centFOAM/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so(_ZN4Foam2fv14EulerDdtSchemeIdE6 fvmDdtERKNS_14GeometricFieldIdNS_12fvPatchFieldENS _7volMeshEEES8_+0x23c) [0x7f3245745dac]
[mback01:01807] [ 6] reactingFoam(_ZN4Foam3fvm3ddtIdEENS_3tmpINS_8fvMat rixIT_EEEERKNS_14GeometricFieldIdNS_12fvPatchField ENS_7volMeshEEERKNS7_IS4_S8_S9_EE+0x10f) [0x43743f]
[mback01:01807] [ 7] reactingFoam() [0x41de9a]
[mback01:01807] [ 8] /lib64/libc.so.6(__libc_start_main+0xfd) [0x38a8a1ecdd]
[mback01:01807] [ 9] reactingFoam() [0x419439]
[mback01:01807] *** End of error message ***

camille131 March 17, 2013 06:36

I try with another outlet BC for pressure : inletOutlet instead of waveTransmissive :

pressure BC :
- inlet : zeroGradient
- outlet : inletOutlet;
inletValue 1e5;
value 1e5;

but it doesn't seem to work anymore. after a few time I also have an error about JANAF bounds, the T is over 5000 K..

Does anybody have an idea of how to counter this issue?

EDIT : I forgot to give you my TEMPERATURE BC :

- inlet : fixedValue 293 (room temperature)

- outlet : inletOutlet
inletValue uniform 293;
value uniform 293;


- walls : wallHeatTransfer
Tinf uniform 293;
alphaWall uniform 20;
value uniform 293;

- internalField 293

tomf March 18, 2013 06:26

Dear Camille,

Is there a reason why you want to use waveTransmissive or inletOutlet?

If you want to do this:
For pressure I would use outletInlet combined with inletOutlet for other variables (T, Y_i), maybe pressureInletOutletVelocity for U

pressure BC :
- inlet : zeroGradient
- outlet : fixedValue
or
- outlet: outletInlet;
outletValue 1e5;
value 1e5;

camille131 March 18, 2013 09:01

Hello Tom,
First I would like to thank you for your answer.

The outlet of the flow is at atmospheric conditions. Therefore, the pressure at the outlet is a fixed value corresponding to the atmospheric pressure, i.e. 105 Pa. But such a condition could cause the outlet to be reflective like a wall. That's why I thought to use waveTransmissiveWave . But may I have to use it with other combined BC for velocity field and others?

Then I thought to use inletOutlet to put a zeroGradient is the flux goes outside or a fixedValue if the flux goes inside.

Actually I don t really understand the necessity to specify inletValue and then value when we use a inletOutlet BC ? the inletValue isn't the one that we selected for the inlet? or is this in the case we choose fixedGradient or something else at the inlet?

I could use the BC you suggest to me but I don't really know what a outletInlet BC does?

Thank you for your help

Cam

tomf March 18, 2013 10:01

Ok, well the naming is a bit confusing, but I hope this explains:

inletOutlet means that this boundary acts as zeroGradient when there is an flux out of the domain. Normally you would use this for velocity, turbulence, temperature etc. on an outlet. It will act as fixedValue when there is an inward flux. In that case, the value it takes is the "inletValue" the "value" entry is only used at the first timestep, so it is the initial condition.

outletInlet does the exact opposite: It is fixed value with an outward flux (taking the outletValue as value) and zeroGradient with an inward flux. This is the behavior you want for the pressure, normally.

Regards,
Tom

camille131 March 24, 2013 10:10

Hi Tom,
thank you for the precisions.

Then I will try what you suggest me bt I still have a question :

I should use pressureInletVelocity instead of fixedValue for the U inlet path ?

and what about the U outlet path ? inletOutlet value is ok?


thank you

Cam

tomf March 25, 2013 08:26

Fixed Value is good for the inlet. You may want to use pressureInletOutletVelocity on the outlet.

camille131 March 26, 2013 14:50

Hi and thanks for the help.

I tried with the suggested BC and it seems to run.

But first I had a big problem because i I was wrong in a comma for species proportions ... :-/ I wrote 19 instead of 0.19 for the O2 specie..

So it seems to work with the BC :

p/outlet : type outletInlet ;
outletValue uniform 1e5;
value uniform 1e5;

U/outlet : type inletOutlet;
inletValue uniform (5.77 0 0);
value (0 0 0);

And it simulate till 5 sec as I ask.

But when I put the pressureInletOutletVelocity BC for U/outlet, the simulation stops :
- at 2.8 seconds if I put value (0 0 0 );
- at 4.2 seconds if I put value (5.77 0 0);

And I think it stops because it has to increase time precision.

And all the simulations are done with RAS
turbulence model of laminar type, with chemistry on (ode) , and combustion active true.

Now I'm not sure of the BC for T ...

Quote:

internalField uniform 293;

boundaryField
{
inlet
{
type fixedValue;
value uniform 293;
}
leftWall
{
type wallHeatTransfer;
Tinf uniform 293;
alphaWall uniform 20;
value uniform 293;

}
upWall
{
type wallHeatTransfer; // or fixedGradient?
Tinf uniform 293;
alphaWall uniform 10;
value uniform 293;
}
outlet
{
type inletOutlet;
inletValue uniform 293;
value uniform 293;

}
frontAndBack
{
type wedge;
}
axis
{
type empty;
}
}


All times are GMT -4. The time now is 07:27.