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

Velocity artifacts when using adaptive mesh refinement

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 27, 2019, 06:42
Default Velocity artifacts when using adaptive mesh refinement
  #1
New Member
 
Join Date: Dec 2013
Location: Germany
Posts: 9
Rep Power: 12
stuntmanmike is on a distinguished road
Hi everybody,

I am working on a setup for a LES (keqn eddy model) of a jet in crossflow using adaptive mesh refinement (with dynamicRefineFvMesh). I am injecting a passive scalar through the nozzle. However, refinement based on the tracer volume fraction does not capture all the important flow features. Therefore, I modified pimpleDyMFoam to compute Ugrad = mag(grad(U)) and refine along Ugrad (using this tutorial: http://www.tfd.chalmers.se/~hani/kur...rayDyMFoam.pdf).

I created a fully hexahedral (cubic cells, actually) mesh using blockMesh so that the refined cells remain cubic at all times.

There is however a problem, since the refinement/coarsening causes artefacts in the velocity field. I have attached a screenshot of the initial field/mesh and of the artifacts a few time steps into the simulation. I have tried to get rid of these artifacts for the past few days but I have not been successful.

Using the tracer volume fraction for refinement helps but that is not an option. Also Ugrad looks fine within the refined regions of the flow, so Ugrad itself shouldn't be the cause of the problem, right?

Things that I tried:
Increasing nBufferLayers in dynamicMeshDict: does not help
switching correctFluxes (phi U),(phi_0 U_0)/(phi none),(phi_0 none): does not help
switching correctPhi yes/no for PIMPLE in fvSolutions: does not help
changing div(phi,U) schemes: upwind helps a bit but is of coarse undesirable for LES
switching to RANS: does not help, so I guess its not a problem of rapid cell size changes for nuSgs.


Does anyone have any insights? I would highly appreciate it

Cheers Simon

Attachements:

OFv1612
dynamicMeshDict:
Code:
dynamicFvMesh   dynamicRefineFvMesh;

dynamicRefineFvMeshCoeffs
{
    // How often to refine
    refineInterval  1;

    // Field to be refinement on
    field           UGrad;

    // Refine field inbetween lower..upper
    lowerRefineLevel 5000;;
    upperRefineLevel 999999;

    // If value < unrefineLevel unrefine
    unrefineLevel   4999;

    // Have slower than 2:1 refinement
    nBufferLayers   1;

    // Refine cells only up to maxRefinement levels
    maxRefinement   4;

    // Stop refinement if maxCells reached
    maxCells        10000000;

    // Flux field and corresponding velocity field. Fluxes on changed
    // faces get recalculated by interpolating the velocity. Use 'none'
    // on surfaceScalarFields that do not need to be reinterpolated.
    correctFluxes
    (
    (phi U)
    (phi_0 U_0)

    );

    // Write the refinement level as a volScalarField
    dumpLevel       true;
}
fvSchemes:

Code:
ddtSchemes
{
    default         backward;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss LUST grad(U);
    div(phi,k)      Gauss LUST grad(U);
    div(phi,s)      Gauss limitedLimitedLinear 1 0 1;
    div((nuEff*dev2(T(grad(U))))) Gauss linear;

}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         bounded;
}

wallDist
{
    method meshWave;
}
fvSolutions:
Code:
solvers
{
    p
    {
        solver          GAMG;
        tolerance       1e-06;
        relTol          0.01;
        smoother        DICGaussSeidel;
        nPreSweeps      0;
        nPostSweeps     2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 1;//10;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }

    pFinal
    {
        solver          GAMG;
        tolerance       1e-06;
        relTol          0;
        smoother        DICGaussSeidel;
        nPreSweeps      0;
        nPostSweeps     2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 1;//10;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }

    "pcorr.*"
    {
        solver          GAMG;
        tolerance       1e-2;
        relTol          0;
        smoother        GaussSeidel;
        cacheAgglomeration true;

    }


    "(U|k|epsilon|omega|s)"
    {
        solver           PBiCG;
        preconditioner   DILU;
        //solver          smoothSolver;
        //smoother        symGaussSeidel;
        tolerance       1e-05;
        relTol          0.1;
    }

    "(U|k|epsilon|omega|s)Final"
    {
        $U;
        tolerance       1e-05;
        relTol          0;
    }
}

PIMPLE
{
    nOuterCorrectors 1;
    nCorrectors     2;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue       0;
	turbOnFinalIterOnly false;
	correctPhi      yes;

    residualControl
    {

        U
        {
                tolerance  1e-4;
                relTol      0;
        }
        p
        {
                tolerance  5e-3;
                relTol      0;
        }
        s
        {
                tolerance  1e-4;
                relTol      0;
        }
     }
}

relaxationFactors
{
    equations
    {
        "U.*"           1;
        "k.*"           1;
        "epsilon.*"     1;
        "omega.*"     1;
        "s.*"           1;
    }
}
Attached Images
File Type: jpg Uz_0.jpg (92.5 KB, 49 views)
File Type: jpg Uz_artefacts.jpg (95.2 KB, 67 views)
stuntmanmike 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
[snappyHexMesh] snappyHexMesh sticking point natty_king OpenFOAM Meshing & Mesh Conversion 11 February 20, 2024 09:12
decomposePar problem: Cell 0contains face labels out of range vaina74 OpenFOAM Pre-Processing 37 July 20, 2020 05:38
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! sc298 OpenFOAM Meshing & Mesh Conversion 2 March 27, 2011 21:11
[snappyHexMesh] external flow with snappyHexMesh chelvistero OpenFOAM Meshing & Mesh Conversion 11 January 15, 2010 19:43


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