CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   rhoSimpleFoam troubles (

Nicola_Z May 16, 2010 12:53

rhoSimpleFoam troubles
Hi all, I'm new in cfd analysis and I have to model a subsonic airfoil whit rhoSimpleFoam and Spalart-Allmaras turbolence model.
I'have this error:

smoothSolver: Solving for Ux, Initial residual = 0.0718934, Final residual = 0.00354669, No Iterations 6
smoothSolver: Solving for Uy, Initial residual = 0.195708, Final residual = 0.0109704, No Iterations 6
DILUPBiCG: Solving for h, Initial residual = 0.996372, Final residual = 0.0960167, No Iterations 621
#0 Foam::error::printStack(Foam::Ostream&) in "/home/nicola/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/nicola/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/"
#2 Uninterpreted:
#3 Foam::hPsiThermo<Foam::pureMixture<Foam::sutherlan dTransport<Foam::specieThermo<Foam::hConstThermo<F oam::perfectGas> > > > >::calculate() in "/home/nicola/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/"
#4 Foam::hPsiThermo<Foam::pureMixture<Foam::sutherlan dTransport<Foam::specieThermo<Foam::hConstThermo<F oam::perfectGas> > > > >::correct() in "/home/nicola/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/"
#5 main in "/home/nicola/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linuxGccDPOpt/rhoSimpleFoam"
#6 __libc_start_main in "/lib/tls/i686/cmov/"
#7 _start at /build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:122
Floating point exception

Someone can help me?
Thanks a lot!

truong_nm May 17, 2010 09:36

Please give us more details on your case: Mach Reynolds numbers, BCs, mesh properties :p

smart May 18, 2010 15:09

I have the same problem with rhoSimpleFoam 1.6. In fact, I run a simple case in OF 1.5 and all is good compared to analytical value for flow in a nozzle (steam). I am trying to have the same results with OF 1.6 and I cannot obtain a converge solution. What is the main difference between these two version?

Thank you!


Nicola_Z May 19, 2010 09:47

great trouble
thanks for reply me,
I'm sure that my mesh was ok. I know static and total p and T at inlet and outlet: in FLUENT are called far_field and press_out. On surface of my airfoil I only know that there is slip. The Reynold's number is 3e06 and Ma = 0.5.
What are my BC in OF? I try zerogradient on airfoli, inletoutlet and outletinlet, but nothing.
I accept all suggest!

truong_nm May 19, 2010 09:59

@Sylvain: Take a look at the release notes of OpenFOAM 1.6, that will certainly help you.

@Nicola_z: As your flow is subsonic, you need four characteristics at inlet and only one at outlet. I suggest you: p_s, U, T_s (two components of velocity thanks to angle of attack and slideslip angle) and p_s at outlet.
For the type of BC, I would try "freestream" for U/T and "freestreamPressure" for p at inlet and freestream for p at outlet and zerogradient for the others.
It seems strange that there is a slip condition on the airfoil as you use viscous computations. What about no-slip condition ? In this last case, I would try fixedValue to 0,0,0 for U and zeroGradient for p/T.

Don't forget to post your results :)

Nicola_Z May 19, 2010 11:12

Tahnks truong_nm!
now i try your suggest and you say the true, the condition on airfoil is no slip... I was sleeping, sorry:)
And what you can say me about mut e nutilda? I have calculated the value, but what BC can I use for this, especially on surface of airfoil? I've used mutSpalartAllmarasFunction or zeroGradient.

truong_nm May 19, 2010 11:22

For the freestream conditions, take a look at this page on the CFDOnline wiki:
I think that it'll help you to determine the farfield conditions.
Concerning the airfoil nuTilda value, if your mesh is good enough, you can try zeroGradient. Otherwise, use SA wall function :)

Wait for your feedback

sh.d April 23, 2013 04:12

2 Attachment(s)
hi truong
i want to simulate super critical airfoil by rhosimplecfoam but there is this error:Floating point exception
please help me

fredo490 April 23, 2013 10:13

Usually, I use this technic (be careful, I use rhoSimplecFoam not rhoSimpleFoam ) :

1) I run my case with rhoSimplecFoam with very small relaxation number if needed (can go down to 0.1 or even 0.01). This is just to get a first field. You have to know that those low relaxation numbers will lead to unphysical results because it doesn't satisfy continuity and other. I usually run for few hundred or thousand of iterations.

2) I run the previous case with higher relaxation number. So I use the final results from the previous solver as initialization of this solver. I usually increase all the relaxation numbers over 0.5. This should immediately converge your case and remove all unphysical behavior.

3) Finally, I use the second solver data to initialize the unsteady solver. I have found that rhoLTSPimpleFoam is more stable that rhoPimpleFoam. If you run OpenFoam 2.2, rhoLTSPimpleFoam is now a solver. If you run OpenFoam 2.1, you can use rhoPorousMRFLTSPimpleFoam where you remove all Porous zones.

I have another case with a cylinder which is already in an unsteady solver:

I have found that for "coarse" mesh, this strategy is quite robust. However, for fine mesh you might have to play with the different relaxation number to get the data you want. Also, don't be afraid to use paraview to choose the best (the most realistic I would say) timeStep between the 1 and 2 solver.

fredo490 April 23, 2013 10:18

If you have a very fine mesh, you can also use rhoLTSPimpleFoam to initialize your case. I had a case with y+ = 0.1 that needed rhoLTSPimpleFoam ti be initialized. Just run few seconds of simulation and then use the solution (even not converged) as initialization of rhoSimplecFoam.

sh.d April 24, 2013 02:14

3 Attachment(s)

Originally Posted by fredo490 (Post 422617)
If you have a very fine mesh, you can also use rhoLTSPimpleFoam to initialize your case. I had a case with y+ = 0.1 that needed rhoLTSPimpleFoam ti be initialized. Just run few seconds of simulation and then use the solution (even not converged) as initialization of rhoSimplecFoam.

hi fredo
thanks for your answer
i run my case with your boundary condition and relaxation factor and other but i can't run it.
there is this error:
Attempt to return dictionary entry as a primitive

file: /home/admin/OpenFOAM/admin-2.1.x/run/tutorials/compressible/rhoSimplecFoam/2test/constant/thermophysicalProperties::thermoType from line 20 to line 26.

From function ITstream& primitiveEntry::stream() const
in file db/dictionary/dictionaryEntry/dictionaryEntry.C at line 82.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/"
#1 Foam::IOerror::abort() in "/opt/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/"
#2 Foam::dictionaryEntry::stream() const in "/opt/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/"
#3 Foam::basicPsiThermo::New(Foam::fvMesh const&) in "/opt/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/"
in "/opt/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/rhoSimplecFoam"
#5 __libc_start_main in "/lib64/"
at /home/abuild/rpmbuild/BUILD/glibc-2.15/csu/../sysdeps/x86_64/elf/start.S:116

fredo490 April 24, 2013 08:12

After a quick look,
- your pRefCell 0; pRefPoint 0; pRefValue 0; while it should be your domain pressure (pressure 110000; ?).
- why did you remove the rho limiter ? rhoMin, rhoMax ...
- are you sure your mesh doesn't need any nNonOrthogonalCorrectors ?
- your nuTilda is initialized with "value uniform $turbulentK;" but there is no "turbulentK" variable in your initialConditions file.
- ...

many many mistakes.

fredo490 April 24, 2013 08:14

plus, you try to use a OpenFoam 2.2 thermoType in a OpenFoam 2.1 solver... It cannot work because all the thermo model has been deeply changed.

All times are GMT -4. The time now is 04:25.