CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

RSM convergence

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   January 25, 2010, 06:33
Default RSM convergence
  #1
New Member
 
Matteo Carpentieri
Join Date: Mar 2009
Posts: 28
Rep Power: 7
mcarpe is on a distinguished road
Hi all,

I need some advice...

I'm running RANS (with the LRR Reynold Stress Turbulence Model) simulations for atmospheric flow over a regular array of simple buildings. I'm aware that RSM models are notoriously tricky to get converged but, unfortunately, I must use it (or I can run LES, but I'd prefer not to step in that field... yet).

The problem is that it seems like I'm not able to reach complete convergence, at least basing this on the (initial) residuals only. While I can consider Ux residuals as ~ converged (they go flats at ~ 1e-04), I cannot say the same for other variables (notably p, whose residuals remains ~0.005).

I tried with kEpsilon and I was able to reach convergence (residuals <1e-04). Searching in this forum I've discovered how to, at least, start with a converging RSM simulation by initialise it with a partially converged kEpsilon simulation. Unfortunately this doesn't help after a good number of iterations, when the residuals start becoming flat.

Initially I tried with simpleFoam (steady state), but soon I discovered that the RSM model is able to catch some unsteady features of the flow (in particular vortex shedding) and so I couldn't expect it to converge with steady state simulations. I'm now running pisoFoam and I'm using second order discretisation schemes.

The mesh I'm using is a fine Cartesian mesh with low expansion ratios. I'm going to try further refinements in some parts of the domain, but I'm running out of tricks, now. Is anyone able to suggest me anything else? Is there anything I'm doing wrong in your opinion?

Please ask me if you need more information on my case study.
Thanks in advance for your help!

Matteo
mcarpe is offline   Reply With Quote

Old   February 15, 2010, 11:24
Default small improvements
  #2
New Member
 
Matteo Carpentieri
Join Date: Mar 2009
Posts: 28
Rep Power: 7
mcarpe is on a distinguished road
Hello,

after some useful advice and more tweaking of the boundary conditions I was able to improve the results.
I'm now able to reach values of residuals for almost all variables lower than 1e-05 with first order discretisation (I need second order, though...). The only exception is the p residual which does not go below 0.002.

Does anyone have any idea?

For info, these are my 'system' files:

controlDict:

Code:
application     pisoFoam;

startFrom       latestTime;

stopAt          endTime;

endTime         2030;

deltaT          0.0025;

writeControl    runTime;

writeInterval   10;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression uncompressed;

timeFormat      general;

timePrecision   8;

runTimeModifiable yes;

libs ( "libOpenFOAM.so" "libgroovyBC.so" ) ;
fvSchemes:

Code:
ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss upwind;
    div(phi,epsilon) Gauss upwind;
    div(phi,R)      Gauss upwind;
    div(R)          Gauss upwind phi;
}

laplacianSchemes
{
    default         none;
    laplacian(nuEff,U) Gauss linear corrected;
    laplacian((1|A(U)),p) Gauss linear corrected;
    laplacian(DepsilonEff,epsilon) Gauss linear corrected;
    laplacian(DREff,R) Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    p               ;
}
fvSolution:

Code:
solvers
{
    p
    {
        solver           GAMG;
        tolerance        1e-07;
        relTol           0.01;
        smoother         GaussSeidel;
        nPreSweeps       0;
        nPostSweeps      2;
        cacheAgglomeration on;
        agglomerator     faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;
    }

    pFinal
    {
        solver           GAMG;
        tolerance        1e-09;
        relTol           0.001;
        smoother         GaussSeidel;
        nPreSweeps       0;
        nPostSweeps      2;
        cacheAgglomeration on;
        agglomerator     faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;
    }

    U
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-09;
        relTol          0.001;
    }

    k
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-09;
        relTol          0.001;
    }

    epsilon
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-09;
        relTol          0.001;
    }

    R
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-09;
        relTol          0.001;
    }

    nuTilda
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-09;
        relTol          0.001;
    }
}

PISO
{
    nCorrectors     3;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue       0;
}

SIMPLE
{
    nNonOrthogonalCorrectors 0;
}

relaxationFactors
{
    p               0.4;
    U               0.6;
    k               0.7;
    epsilon         0.7;
    R               0.7;
    nuTilda         0.7;
}
Thanks
Matteo
Attached Images
File Type: png linear.png (7.4 KB, 47 views)
File Type: png cont.png (4.9 KB, 32 views)
mcarpe is offline   Reply With Quote

Old   May 6, 2010, 08:51
Default
  #3
Senior Member
 
Claus Meister
Join Date: Aug 2009
Location: Wiesbaden, Germany
Posts: 241
Rep Power: 8
idrama is on a distinguished road
Hello mcarpe,

I'd like to know: How have you determine the relaxation factors. I'd like to learn that.

Cheers
idrama is offline   Reply With Quote

Old   May 6, 2010, 09:06
Default
  #4
New Member
 
Matteo Carpentieri
Join Date: Mar 2009
Posts: 28
Rep Power: 7
mcarpe is on a distinguished road
Quote:
Originally Posted by idrama View Post
Hello mcarpe,

I'd like to know: How have you determine the relaxation factors. I'd like to learn that.

Cheers
I think the under relaxation factors are not used by the pisoFoam solver.
They are in my fvSolution file because of some previous attempts with simpleFoam. Anyway I'm afraid there isn't any simple rule for determining the UR factors.

Best
Matteo
mcarpe is offline   Reply With Quote

Old   May 6, 2010, 11:06
Default
  #5
Senior Member
 
Claus Meister
Join Date: Aug 2009
Location: Wiesbaden, Germany
Posts: 241
Rep Power: 8
idrama is on a distinguished road
Hello mcarpe,

in interFoam they work. I had problems i my case, but I used your RF's. and I have convergence now. However, I had to modify them to 0.4 0.4 0.4 and so on.

kinda regards!
idrama is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Convergence of CFX field in FSI analysis nasdak CFX 2 June 29, 2009 01:17
RSM convergence khar FLUENT 1 May 11, 2008 15:50
RSM with Eulerian, tips for convergence? Paul FLUENT 3 April 9, 2008 13:25
Defect correction and convergence ganesh Main CFD Forum 4 June 30, 2006 14:20
Help with RSM convergence alice FLUENT 1 June 10, 2004 03:27


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