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/)
-   -   an sigFpe error on Turbulence (https://www.cfd-online.com/Forums/openfoam-solving/118354-sigfpe-error-turbulence.html)

immortality May 29, 2013 16:10

yes.it should be for that reason.
could you please have a look into the main case also?

wyldckat May 29, 2013 16:28

Uhm... I have the case running in serial (sequential mode) for over 600 seconds already and it hasn't crashed yet.

At which time step is it meant to crash?

immortality May 29, 2013 16:41

this simple case doesn't crash,although the values of turbulence variales increase constantly.which value is suitable to be used in internal field and enterance?are the current values proper?
And crashing occurs in the case with groovyBC.

wyldckat May 29, 2013 17:48

Hi Ehsan,

As tired as I am, I'm trying to figure out what to suggest. This is unfortunately waaaay beyond my level of experience.

From what I can figure out, "omega" shoots up to very high values at the walls, due to the sudden pressure/mass flow intake. I think that injecting higher values of k-omega won't affect the results... the pressure difference is simply too high. Either that, or the initial pressure is already too high inside the domain, leading "omega" to increase so much!?

OK, there are several layers of complexity at work here and you'll have to isolate one at a time:
  1. Pressure: it's too high at the inlet. Start the simulation with a very small difference in pressure intake. Examine how things simulate.
    • Use atmospheric pressure levels as reference, instead of using the high pressure levels right away.
  2. As you gradually increase pressure, you should begin to notice two effects:
    1. The mesh resolution starts to seem insufficient (if it was coarse to begin with).
    2. k-omega or k-epsilon start to become less functional.
    The mesh should be adapted, if it seems to need to be. And perhaps looking for other turbulence models would be a good idea, if these models start to loose their effectiveness.
  3. And as I said in the past in other threads: you need simple cases where you can analytically calculate what the end result should be. I think you've already found several papers/thesis that should be able to give you some examples.
  4. Pressure driven simulations can be harder to simulate. Sometimes it's easier to first do some approximate tests by injecting speed, rather than pressure. This strategy can help figure out if there is something wrong with the chosen pressure boundary conditions... or at least, this usually works on incompressible cases.

And that's pretty much all I can figure out to suggest :(

Good luck!
Bruno

immortality May 29, 2013 18:19

thanks Bruno for your time and effort
Did you do tests on simple case with constant entrance height?
Please have a look into the case with groovyBC to see wich values are appropriate.
Feel free to change turbulence and other values to make it work.
you have a more well ordered way to investigate things than me.
Thanks

lramutti April 19, 2014 00:06

Hi Bruno,

At the moment I have no zero parameters in my boundary conditions nor initial conditions. I am trying to implement the SST k-omega solver for the conjugate heat transfer problem and I get this error which I don't quite understand. I was able to get the case working for a k-epsilon; however, for some strange reason when I change the solver and add values for kappat, nut, and omega the solver crashes. I was wondering if you could please help me understand what is this message exactly saying. Where is the equation being divided by zero and what is causing it?

Cheers!

Code:

Selecting turbulence model type RASModel
Selecting RAS turbulence model kOmegaSST
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/bin/chtMultiRegionSimpleFoam"
#5  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/bin/chtMultiRegionSimpleFoam"
#6  Foam::compressible::RASModels::kOmegaSST::F2() const in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
#7  Foam::compressible::RASModels::kOmegaSST::F23() const in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
#8  Foam::compressible::RASModels::kOmegaSST::kOmegaSST(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::fluidThermo const&, Foam::word const&, Foam::word const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
#9  Foam::compressible::RASModel::adddictionaryConstructorToTable<Foam::compressible::RASModels::kOmegaSST>::New(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::fluidThermo const&, Foam::word const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
#10  Foam::compressible::RASModel::New(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::fluidThermo const&, Foam::word const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
#11  Foam::compressible::turbulenceModel::addturbulenceModelConstructorToTable<Foam::compressible::RASModel>::NewturbulenceModel(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::fluidThermo const&, Foam::word const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
#12  Foam::compressible::turbulenceModel::New(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::fluidThermo const&, Foam::word const&) in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleTurbulenceModel.so"
#13 
 in "/opt/openfoam221/platforms/linux64GccDPOpt/bin/chtMultiRegionSimpleFoam"
#14  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#15 
 in "/opt/openfoam221/platforms/linux64GccDPOpt/bin/chtMultiRegionSimpleFoam"
Floating point exception (core dumped)


CFDUser_ April 19, 2014 00:32

Dear Lucas,

I guess there is something wrong with your mesh.
Please run below code and post the result.
Code:

checkMesh -allGeometry -allTopology
Regards,
CFDUser_

wyldckat April 19, 2014 07:01

Greetings Lucas,

Quote:

Originally Posted by lramutti (Post 486963)
Where is the equation being divided by zero and what is causing it?
Code:

#6  Foam::compressible::RASModels::kOmegaSST::F2() const in "/opt/openfoam221/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"

As shown above, the problem is in the method "F2()": https://github.com/OpenFOAM/OpenFOAM...OmegaSST.C#L72
To know better which exact division is giving the problem, you would have to build the Debug version: http://openfoamwiki.net/index.php/HowTo_debugging

But my guess is that the new fields you've added, there were some that you initialized with 0, which as stated in post #2, is wrong.

Best regards,
Bruno

PS: Please wrap code output with the "[CODE]" markers, as explained in my signature link: Posting code and output with [CODE]

lramutti April 20, 2014 18:53

Hey Bruno,

Thanks for the help! I got it working. The F2() parameter depends on the inverse of the velocity field. Initially I left it set as (0 0 0) but I made a minor change and it worked. Sorry about the code, I was not aware about the link you posted. Thanks for letting me know!

Cheers!


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