CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   strange behaviour of rhoPisoFoam, circular cylinder (http://www.cfd-online.com/Forums/openfoam-solving/76398-strange-behaviour-rhopisofoam-circular-cylinder.html)

 ivan_cozza May 25, 2010 04:35

strange behaviour of rhoPisoFoam, circular cylinder

Hi Foamers,
I'm doing some compressible CFD on a 2D circular cylinder, Mach 0.12, Re 1.4x10^5, k-omega SST turbulence.
First I ran a wall-modeled simulations, y+ around 30, wall functions, (mutSpalartAllmarasWallFunction for mut, as suggested in other threads), and the run converged. I get an error of about 20% on St with respect 3D LES and experiments found in litterature, so I switched to low-Re modeling.
I remeshed up to y+ max of 1.2, and I set al turbulent variables at 1x10^-12 at wall, excepting for omega (omegaWallFunction should work also for low-Re in the 1.6.x version). I mapped from the previous run and I started the simulation, but now I can't obtain a stable result, the calculation blows up.

I did something wrong in the set-up? Did someone experienced similar problems?

Thanks, Ivan

 ivan_cozza May 25, 2010 04:37

For completeness, I use this schemes setup:

ddtSchemes
{
default backward;
}

gradSchemes
{
default cellMDLimited Gauss linear 1;
}

divSchemes
{
div(U,p) Gauss linearUpwind cellLimited Gauss linear 1;
div(phi,U) Gauss linearUpwind cellLimited Gauss linear 1;
div(phiU,p) Gauss linearUpwind cellLimited Gauss linear 1;
div((muEff*dev2(grad(U).T()))) Gauss linear;
div(phi,h) Gauss linearUpwind cellLimited Gauss linear 1;
div(phi,omega) Gauss linearUpwind cellLimited Gauss linear 1;
div(phi,k) Gauss linearUpwind cellLimited Gauss linear 1;
div(phid,p) Gauss linearUpwind cellLimited Gauss linear 1;
}

laplacianSchemes
{
laplacian(muEff,U) Gauss linear corrected;
laplacian(alphaEff,h) Gauss linear corrected;
laplacian((rho*rAU),p) Gauss linear corrected;
laplacian(DomegaEff,omega) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(1,p) Gauss linear corrected;
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p ;
}

 ivan_cozza May 28, 2010 05:21

The story becomes more intricate:

I tried to do a longer run with the wall-modeled case, that up to 0.5 sec goes well. After a certain number of timesteps, it goes crazy like the low-Re model! I post some pictures of the problem.

First, when everything was ok:

Cl and Cd versus time of my cylinder

http://img99.imageshack.us/img99/2900/correctcl.png

turbulent kinetic energy:

http://img191.imageshack.us/img191/781/correctk.png

Omega:

http://img198.imageshack.us/img198/3444/correctom.png

log of the calculation:

http://img38.imageshack.us/img38/245/correctlog.png

Then, when the calculation go crazy

Cl and Cd versus time:

http://img27.imageshack.us/img27/3152/strangecl.png

turbulent kinetic energy:

http://img25.imageshack.us/img25/2433/wrongk.png

Omega:

http://img571.imageshack.us/img571/7307/wrongom.png

log of the wrong calculation:

http://img99.imageshack.us/img99/6364/wronglog.png

It seems that the dissipation of the turbulence model go crazy, destroying all the k in the simulation. The stranger thing is that I did not change anything between the two calculations, I just let the run go on with the same setup.
I have exactly the same problem with the low-Re mesh, the only difference is that this phenomenon appears in a fewer number of timesteps.

Please OpenFOAM gurus, give me some hints!

Have a nice day, Ivan

 dhuckaby May 28, 2010 08:46

Ivan,
Have you tried reducing your Courant number or using another time-integration scheme such as Euler or boundedBackward ?

Dave

 ivan_cozza May 28, 2010 08:50

Quote:
 Originally Posted by dhuckaby (Post 260681) Ivan, Have you tried reducing your Courant number or using another time-integration scheme such as Euler or boundedBackward ? Dave
Dave,
no I didn't, but my Max Courant in the whole calculation is below 0.9...
I have to try with boundedBackward... what's the difference between it and backward? Is more diffusive?

 dhuckaby May 28, 2010 09:30

Ivan,

The general guidelines from various posts on the message board has been Co < 0.5 for stability Co < 0.2 for accurracy. I have also found that some simulations require a fixed time-step for stability as opposed to a Courant number bound.

The thread below briefly mentions the "boundedBackward" scheme
http://www.cfd-online.com/Forums/ope...calar-les.html, I would assume it is locally more diffusive.

 ivan_cozza May 28, 2010 09:57

Quote:
 Originally Posted by dhuckaby (Post 260694) Ivan, The general guidelines from various posts on the message board has been Co < 0.5 for stability Co < 0.2 for accurracy. I have also found that some simulations require a fixed time-step for stability as opposed to a Courant number bound. The thread below briefly mentions the "boundedBackward" scheme http://www.cfd-online.com/Forums/ope...calar-les.html, I would assume it is locally more diffusive.

Mmm... I'm not so experienced in unsteady simulations in OF, I used more frequently steady state, but Co < 0.5 for stability seems to me quite a severe limitation. But, I will try to limit my Co to less than 0.5...

 aerothermal December 19, 2010 08:20

Hello Cozza,

have you managed to converge?
what was your fvSchemes?

I am trying to use the linearUpwind in OF16-ext and OF171 and they are giving me errors saying those schemes are not acceptable. Did they change the name in new versions?

Regards,

Guilherme

 All times are GMT -4. The time now is 05:54.