CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   buoyantSimpleFoam velocity oszillation 1.6-ext (https://www.cfd-online.com/Forums/openfoam-solving/88249-buoyantsimplefoam-velocity-oszillation-1-6-ext.html)

 preibie May 12, 2011 03:56

buoyantSimpleFoam velocity oszillation 1.6-ext

2 Attachment(s)
Hallo user ans developer of OpenFOAM 1.6-ext,

I want to simulate a room without any inlets and outlets only with a heat source on the ground. I choose the buoyantSimpleFoam solver. The steps I had done:
1. build and mesh the domain with Gambit
2. checkMesh OK (nonOrthogonality max = 63)
3. buoyantSimpleFoam: after 200 Iterations there are nonphysical oszillations (+-0.04 m/s) in the velocity fild (picture) :mad:
4. simpleFoam: same mesh the oszilations are very low (+- 1e-7) (picture)

Is this a problem with the mesh ore with buoyantSimpleFoam?

Preibie

 preibie May 13, 2011 02:54

We tryed something more. We changed the mesh (only the mesh) and used a hex grid. What I can say all was fine, no oscillations. :confused:
Why I'm confused: The first mesh passed checkMesh!
Next step: we convert the hex mesh with tetDecomposition into a tet Mesh. This mesh passed also checkMesh (nonOrthogonality max = 44 average = 18). It seems that this mesh is good enough, no oszillations!

Is the threshold (70) of nonOrthogonality to high?

 alberto May 13, 2011 03:49

Hi,
you should also list the schemes you are using. On tet meshes you often need to turn on limiters which are off by default in OpenFOAM.

 preibie May 13, 2011 03:58

fvSchemes:

Code:

```ddtSchemes {     default        Euler; } gradSchemes {     default        Gauss linear; } divSchemes {     div(phiU,p)                    Gauss upwind;     //div(phi,U)                    Gauss upwind;     div(phi,U)                    Gauss reconCentral cellLimited leastSquares 1.0;     div(phi,h)                    Gauss upwind;     div(phi,k)                    Gauss upwind;     div(phi,epsilon)              Gauss upwind;     div((muEff*dev2(grad(U).T()))) Gauss linear; } laplacianSchemes {     default        Gauss linear corrected; } interpolationSchemes {     default        linear;     interpolate(U)  reconCentral phi leastSquares;    //für tetraeder Gitter von Jasak } snGradSchemes {     default        corrected; } fluxRequired {     default        no;     p              ; }```

 alberto May 13, 2011 04:09

I would try:

Code:

```gradSchemes {     default        cellLimited leastSquares 1; } divSchemes {     div(phi,U)                    Gauss linearUpwindV cellLimited leastSquares 1;     div(phiU,p)                    Gauss upwind;     div(phi,h)                      Gauss upwind;     div(phi,k)                      Gauss upwind;     div(phi,epsilon)              Gauss upwind;     div((muEff*dev2(grad(U).T()))) Gauss linear; }```
Note that in your schemes, you are using inconsistent gradient formulations. Additionally, if leastSquares gives you problems, replace it with Gauss linear, which will reduce the accuracy, but tends to be more robust.

I hope this helps.

 All times are GMT -4. The time now is 06:45.