|
[Sponsors] |
Floating Point Exception using dieselFoam solver |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 23, 2010, 18:02 |
Floating Point Exception using dieselFoam solver
|
#1 |
New Member
Nam Nguyen
Join Date: Jun 2010
Posts: 5
Rep Power: 15 |
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, |
|
June 25, 2010, 17:04 |
|
#2 |
New Member
Nam Nguyen
Join Date: Jun 2010
Posts: 5
Rep Power: 15 |
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. |
|
December 21, 2010, 17:27 |
|
#3 |
New Member
Join Date: Apr 2010
Posts: 18
Rep Power: 16 |
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 |
|
|
|
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 |