CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Floating Point Exception using dieselFoam solver

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 23, 2010, 18:02
Default Floating Point Exception using dieselFoam solver
  #1
Nam
New Member
 
Nam Nguyen
Join Date: Jun 2010
Posts: 5
Rep Power: 15
Nam is on a distinguished road
Dear OpenFOAM and dieselFoam users,

I sincerely need your help to locate the source of this error for I am just a newbie, 2 weeks old. I have a problem requiring using OpenFOAM to simulate water extinguishing systems, so dieselFoam is natural for this problem. I basically scale up the aachembomb example problem and change the thermophysicalProperties file to the following

liquidComponents ( H2O );//C7H16

liquidProperties
{
H2O H2O defaultCoeffs;
}

I also change the injectorPropeties to the following
(
{
injectorType commonRailInjector;

commonRailInjectorProps
{
position (-2.495 1. 0.);
direction (1 0 0);
diameter 0.00019;
mass 1.0;
injectionPressure 737.73e+6;
temperature 298;
nParcels 500000;

X
(
1.0
);

massFlowRateProfile
(
(0 1.0)
(0.2125 1.0)
);

injectionPressureProfile
(
(0.0 0.01)
(0.2125 0.01)
);
}
}
)

I also change the outer cone angle in the sprayProperties file to 80 degree. The new volume into 5mx2mx2m.

The following is the traces for the error. I include the appropriate portion of the codes below each trace for your viewing. Please help me get rid of this error. Thank you very much.

Nam


#0 Foam::error:rintStack(Foam::Ostream&) at ~/OpenFOAM/OpenFOAM-1.6/src/OSspecific/POSIX/printStack.C:203
[3] #1 Foam::sigFpe::sigFpeHandler(int) at ~/OpenFOAM/OpenFOAM-1.6/src/OSspecific/POSIX/signals/sigFpe.C:128
[3] #2 __restore_rt at sigaction.c:0
[3] #3 __ieee754_log at interp.c:0
[3] #4 log in "/lib64/libm.so.6"
[3] #5 Foam::log(double) at ~/OpenFOAM/OpenFOAM-1.6/src/OpenFOAM/lnInclude/Scalar.H:223

transFunc(log)

[3] #6 Foam::NSRDSfunc1::f(double, double) const at ~/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/thermophysicalFunctions/lnInclude/NSRDSfunc1.H:113

00110 //- Evaluate the function and return the result
00111 scalar f(scalar, scalar T) const
00112 {
00113 return exp(a_ + b_/T + c_*log(T) + d_*pow(T, e_));
00114 }

[3] #7 Foam::H2O:v(double, double) const at ~/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/liquids/H2O/H2OI.H:35

00033 inline Foam::scalar Foam::H2O:v(scalar p, scalar T) const
00034 {
00035 return pv_.f(p, T);
00036 }

[3] #8 Foam:arcel::setRelaxationTimes(int, double&, Foam::Field<double>&, double&, Foam::Field<double>&, Foam::spray const&, double, Foam::Vector<double> const&, double, double, Foam::Field<double> const&, Foam::Field<double> const&, double) at ~/OpenFOAM/OpenFOAM-1.6/src/lagrangian/dieselSpray/parcel/setRelaxationTimes.C:231

scalar pBoil = fuels.properties()[i].pv(pressure, tBoilingSurface);

[3] #9 Foam:arcel::move(Foam::spray&) at ~/OpenFOAM/OpenFOAM-1.6/src/lagrangian/dieselSpray/parcel/parcel.C:158

00143 setRelaxationTimes
00144 (
00145 cell(),
00146 tauMomentum,
00147 tauEvaporation,
00148 tauHeatTransfer,
00149 tauBoiling,
00150 sDB,
00151 rhog,
00152 Up,
00153 Tg,
00154 pg,
00155 Yfg,
00156 m()*fuels.Y(X()),
00157 deltaT
00158 );

[3] #10 void Foam::Cloud<Foam:arcel>::move<Foam::spray>(Foam: :spray&) at ~/OpenFOAM/OpenFOAM-1.6/src/lagrangian/basic/lnInclude/Cloud.C:156

00155 // Move the particle
00156 bool keepParticle = p.move(td);

[3] #11 Foam::spray::move() at ~/OpenFOAM/OpenFOAM-1.6/src/lagrangian/dieselSpray/spray/sprayOps.C:87

00076 void spray::move()
00077 {
00078 // Reset Spray Source Terms
00079 sms_ = vector::zero;
00080 shs_ = 0.0;
00081 forAll(srhos_, i)
00082 {
00083 srhos_[i] = 0.0;
00084 }
00085
00086 Cloud<parcel>::move(*this);
00087 }

[3] #12 Foam::spray::evolve() at ~/OpenFOAM/OpenFOAM-1.6/src/lagrangian/dieselSpray/spray/sprayOps.C:64

dispersion().disperseParcels();

[3] #13 main at ~/OpenFOAM/hnguyen-1.6/applications/solvers/combustion/mydieselFoam/mydieselFoam.C:89

Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon());

[3] #14 __libc_start_main in "/lib64/libc.so.6"
[3] #15 Foam::regIOobject::writeObject(Foam::IOstream::str eamFormat,
Nam is offline   Reply With Quote

Old   June 25, 2010, 17:04
Default
  #2
Nam
New Member
 
Nam Nguyen
Join Date: Jun 2010
Posts: 5
Rep Power: 15
Nam is on a distinguished road
Hello FOAMers,

After debugging the solver, I found that T keeps dropping by 10 K every iteration until T is negative and log(T) blows up. I don't not know why this occurs because the analysis runs for a few time steps before Floating Point Exception happens.

Thank for your help.
Nam is offline   Reply With Quote

Old   December 21, 2010, 17:27
Default
  #3
New Member
 
Join Date: Apr 2010
Posts: 18
Rep Power: 16
namCFD is on a distinguished road
Well, this error is associated with the number of parcels in the system vs. the number of cells in the system. When I set these two parameters to the same order, it works. Also, the deltaT in controlDict must be small enough to satisfy the CFL condition. Small mesh with high velocity particles usually lead to this error if deltaT is too large.
__________________
Nam
namCFD is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
CFX error, Floating point exception Riyaz CFX 4 May 18, 2010 01:13
Floating Point Exception?? Alex FLUENT 2 April 21, 2009 01:29
floating point exception mojtaba CFX 2 November 15, 2008 06:58
CFX error, Floating point exception Riyaz Main CFD Forum 0 November 14, 2008 06:30
Floating Point Exception (Underflow) Error ashish FLUENT 1 April 19, 2006 11:08


All times are GMT -4. The time now is 00:59.