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

Improving the accuracy of result

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 20, 2021, 13:22
Default Improving the accuracy of result
  #1
Member
 
Kabir Shariff
Join Date: Oct 2016
Location: France
Posts: 53
Rep Power: 10
Kbshariff is on a distinguished road
Hello Foamers,

I am relatively new to openfoam, my numerical case is a tidal turbine with actuator disc applied using fvOptions source. I use k-E turbulence model

I would like to improve the quality of my results (attached herewith is a comparison with a reference case using fluent).

My mesh is orthogonal mesh hence I used Gauss linear for the gradScheme..

below is my fvScheme
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default             steadyState;
}

gradSchemes
{
    default             Gauss linear; 
}

divSchemes
{
    default             none;

    div(phi,U)          Gauss linearUpwind grad(U);//Gauss upwind;	//bounded Gauss upwind;
    div(phi,epsilon)    Gauss upwind;					//Gauss upwind;	//bounded Gauss upwind;
    div(phi,k)          Gauss upwind;					//Gauss upwind;	//bounded Gauss upwind;
    div((nuEff*dev2(T(grad(U)))))    Gauss linear;
}

laplacianSchemes
{
    default             Gauss linear limited corrected 0.33;
}

interpolationSchemes
{
    default            linear;
}

snGradSchemes
{
    default            corrected;	// limited corrected 0.33;
}


// ************************************************************************* //

fvSolution

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver           GAMG;
        tolerance        1e-7;
        relTol           0.001;
        minIter          5;
        maxIter          100;
        smoother         GaussSeidel; // DIC; //DICGaussSeidel; //FDIC;
        nPreSweeps       1;
        nPostSweeps      3;
        nFinestSweeps    3;
        scaleCorrection true; 
        directSolveCoarsest false;
        cacheAgglomeration on;
        nCellsInCoarsestLevel 50;    // 500
        agglomerator     faceAreaPair;
        mergeLevels      1;    // 3
    }
    
    U
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-6;
        relTol           0.01;
        nSweeps          1;
        maxIter	100;
    };




    k
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-6;
        relTol           0.01;
        nSweeps          1;
        maxIter	100;
    };


    epsilon
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-6;
        relTol           0.01;
        nSweeps          1;
        maxIter	100;
    };
/*
    p
    {
        solver           GAMG;
        tolerance        1e-6;
        relTol           0.001;
        smoother         GaussSeidel;
    }

    U
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-6;
        relTol           0.1;
        nSweeps          1;
    }


    k
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-6;
        relTol           0.1;
        nSweeps          1;
    }

    epsilon
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-6;
        relTol           0.1;
        nSweeps          1;
    }

*/

}

SIMPLE
{
    nNonOrthogonalCorrectors 0;

    residualControl
    {
        p               1e-3;
        U               1e-4;
        "(k|epsilon)"   1e-4;
    }
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        U               0.7;
        k               0.5; //0.7;
        epsilon         0.5; //0.7;
    }
}

cache
{
    grad(U);
}

Thanks
Attached Images
File Type: png result.png (24.9 KB, 18 views)
Kbshariff is offline   Reply With Quote

Old   January 21, 2021, 04:38
Default
  #2
Senior Member
 
Join Date: Dec 2019
Posts: 215
Rep Power: 8
shock77 is on a distinguished road
The result look quite good compared with your experiments. Most people would be satisfied with that I guess. I suppose you have achieved grid convergence before doing your final simulations. You can always increase the mesh denisty and do an LES or even an DNS. Also you can improve mesh density at walls and either resolve the boundary layer directly or you use e. g. the k-omega-SST model. There are like 1000 possibilties to do sth better but you have to decide whether you are satisfied with your results or not, since only you know what actually is important in you problem.
shock77 is offline   Reply With Quote

Reply


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to split air blade in CFX Post without loosing accuracy JonasII CFX 7 May 18, 2021 17:54
Does a larger number of iterations for steady state gives better result? cfdnewb123 FLUENT 0 March 3, 2019 01:09
radiation module, no accuracy result Young FLUENT 0 February 18, 2009 05:11
accuracy of Discontinuous Galerkin Qu Kun Main CFD Forum 0 September 6, 2004 10:19
time accuracy test nat Main CFD Forum 0 April 2, 2003 00:24


All times are GMT -4. The time now is 21:32.