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/)
-   -   multiphaseEulerFoam: exception related to nu (https://www.cfd-online.com/Forums/openfoam-solving/142020-multiphaseeulerfoam-exception-related-nu.html)

timbojones September 21, 2014 22:28

multiphaseEulerFoam: exception related to nu
 
Hello Foamers,

I'll post more details on the specifics of my error later today, but wanted to post the general question if someone might have a quick fix.

I'm simulating a drum with one inlet and two outlets. The simulation runs fine with all quantities solving with reasonable values. However, after about 1300 time steps, the code will stop owing to aa what appears to be a division by zero error involving nu. My LES model has been set as laminar. Anyone have a similar experience and knows how to fix my mistake?

Sorry for the sloppy post. I'm not near my computer, but wanted to pose the general question. I'll post the exact error stream in a short while.

Thanks,
Timbojones

timbojones September 22, 2014 07:16

Printstack
 
As promised, here is the printstack associated with the floating-point exception I discussed in my previous post.

#0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2
at sigaction.c:0
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 void Foam::divide<Foam::fvPatchField>(Foam::FieldField< Foam::fvPatchField, double>&, Foam::FieldField<Foam::fvPatchField, double> const&, Foam::FieldField<Foam::fvPatchField, double> const&) in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so"
#5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<doub le, Foam::fvPatchField, Foam::volMesh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so"
#6 Foam::multiphaseSystem::nu() const in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libmultiphaseSystem.so"
#7 Foam::incompressible::LESModels::laminar::nuSgs() const in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libincompressibleLESModels.so"
#8 Foam::incompressible::LESModel::nut() const in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libincompressibleLESModels.so"
#9
in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/multiphaseEulerFoam"
#10 __libc_start_main in "/lib64/libc.so.6"
#11
in "/opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/multiphaseEulerFoam"
[1]+ Floating point exceptionmultiphaseEulerFoam > log.mpef

I set the LES model to be laminar for this case so I'm a bit confused by the references in lines #7 and #8 which seem to refer to nut() (turbulent viscosity) and nuSgs (viscosity related to LES). However, it does seem to be nu() that starts the whole mess. I've set values for nu for both phases in transportProperties as well as the dummy entry at the bottom of transportProperties. I'm not sure what's going wrong here and would be very grateful for some help.

Thanks and Regards,
Timbojones

GerhardHolzinger September 22, 2014 08:20

The Lines 3 and 4 of the stacktrace tell you that division cause the floating point exception, most probably division by zero.

The method Foam::multiphaseSystem::nu() computes the kinematic viscosity nu. In the return statement, there is a division ( return tmu/rho(); ).

Did your solution diverge otherwise, which caused the mixture density to become zero?

What does the solver output say? The stacktrace alone is too little information to determine the cause of the solver crash.


All times are GMT -4. The time now is 02:31.