1

Previous: Computation set up Up: Computation set-up Next: Running test case

This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.

Numerical solution parameters

  • Numerical solution parameters are stored in directory system
  • In file fvSolution there are stored parameters for solving system of linear equations and parameters for numerical method
  • Print file fvSolution on the screen:
    # cat $FOAM_RUN /pitzDaily/system/fvSolution

     

    solvers
    {
        p
        {
            solver          GAMG;
            tolerance       1e-06;
            relTol          0.1;
            smoother        GaussSeidel;
        }
    
        "(U|k|epsilon|omega|f|v2)"
        {
            solver          smoothSolver;
            smoother        symGaussSeidel;
            tolerance       1e-05;
            relTol          0.1;
        }
    }
    
  • Section solvers defines which linear system solvers are used to compute quantities (partial differential equations are transformed to system of linear equations)
  • Each quantity has its options
  • Parameter solver defines which solver is used
  • Parameter preconditioner (not used in this case) defines preconditioner of linear system solver
  • Parameter relTol defines relative tolerance of linear system solver (order of residual decrease for each iteration)
  • Parameter tolerance defines absolute tolerance of linear system solver (initial residual is checked)

  • Overview of linear solvers
    DefinitionMethod nameDescription
    PCGPreconditioned Conjugate Gradientprojection method for symmetric
      and positive-definite matrix
    PBiCGPreconditioned Bi-Conjugate Gradientprojection method for
      general matrix
    GAMGGeneralized Geometric-Algebraicmulti-grid solver
     Multi-Grid 
    smoothSolver iteration solver
       

     

  • Overview of preconditioners
    DefinitionPreconditioner
    DICDiagonal Incomplete Cholesky (symmetric)
    FDICFaster Diagonal Incomplete Cholesky
    DILUDiagonal Incomplete LU Factorization
    diagonalJacobi preconditioner
    GAMGGeneralized Geometric Algebraic Multi Grid
    noneno preconditioner
      

     

  • “Smoother“ overview
    Definition“Smoother“
    DICDiagonal Incomplete Cholesky (symmetric)
    GaussSeidelGauss-Seidel iteration method
    DICGaussSeidelcombination of DIC and GaussSeidel
      

     

    SIMPLE
    {
        nNonOrthogonalCorrectors 0;
        consistent      yes;
    
        residualControl
        {
            p               1e-2;
            U               1e-3;
            "(k|epsilon|omega|f|v2)" 1e-3;
        }
    }
    
  • In section SIMPLE there are defined parameters of SIMPLE algorithm and convergence criteria residualControl
  • Parameter nNonOrthogonalCorrectors defines number of non-orthogonal correctors (may improve convergence on non-orthogonal meshes) (0 orthogonal mesh – 20 strongly non-orthogonal mesh)
  • If all quantities reach residuals in section residuaControl, computation is stopped

     

    relaxationFactors
    {
        equations
        {
            U               0.9; // 0.9 is more stable but 0.95 more convergent
            ".*"            0.9; // 0.9 is more stable but 0.95 more convergent
        }
    }
    
  • In section relaxationFactors there are defined relaxation factors for individual quantities

  • In file fvSchemes there are stored numerical schemes properties for individual quantities
  • Print file on the screen:
    # cat $FOAM_RUN /pitzDaily/system/fvSchemes
    ddtSchemes
    {
        default         steadyState;
    }
    
  • In section ddtSchemes there are defined schemes for time derivatives

     

    gradSchemes
    {
        default         Gauss linear;
    }
    
  • In section gradSchemes are defined schemes for gradient discretization
  • There may be defined different schemes for each quantity

     

    divSchemes
    {
        default         none;
        div(phi,U)      bounded Gauss linearUpwind grad(U);
        div(phi,k)      bounded Gauss limitedLinear 1;
        div(phi,epsilon) bounded Gauss limitedLinear 1;
        div(phi,omega)  bounded Gauss limitedLinear 1;
        div(phi,v2)     bounded Gauss limitedLinear 1;
        div((nuEff*dev2(T(grad(U))))) Gauss linear;
        div(nonlinearStress) Gauss linear;
    }
    
  • In section divSchemes there are defined schemes for divergence discretization
  • There may be defined different schemes for each quantity

     

    laplacianSchemes
    {
        default         Gauss linear corrected;
    }
    
  • In section laplacianSchemes there are defined schemes for Laplace operator discretization
  • There may be defined different schemes for each quantity

     

    interpolationSchemes
    {
        default         linear;
    }
    
  • In section interpolationSchemes there are defined schemes for interpolating from cell centers to cell faces
  • There may be defined different schemes for each quantity

     

    snGradSchemes
    {
        default         corrected;
    }
    
  • In section snGradSchemes there are defined schemes for gradient discretization in direction perpendicular to the boundary
  • There may be defined different schemes for each quantity

     

    wallDist
    {
        method meshWave;
    }
    
    // ************************************************************************* //
    
  • In section wallDist there is method for calculation of distance of cell centers and boundary (which is needed in turbulent models).

  • More information is in the web documentation:
    http://www.openfoam.com/docs/user/fvSchemes.php