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

Viscoelastic simulation - checkerboard problem and low pressure

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 11, 2018, 16:40
Default Viscoelastic simulation - checkerboard problem and low pressure
  #1
Member
 
Join Date: Jun 2016
Posts: 31
Rep Power: 9
tdof is on a distinguished road
Hi all,

I'm doing some viscoelastic simulations using viscoelasticFluidFoam in combination with the Leonov model and I'm experiencing a strong checkerboard pattern in the velocity field. Also, the inlet pressure is far too low with a fixed inlet velocity. My experience with viscoelastic fluid simulations is rather limited, I mainly had to focus on getting it to run at all. I can't post the whole model due to a NDA, but I used the standard settings found in the Leonov test case in OpenFOAM Extend 4.0.

I can't post the viscoelasticProperties dict since the settings aren't publicly available, but the relaxation time constant lambda and shear modulus G are known with which I calculated eta_p. There are only sigmafirst and taufirst listed below, but the other ones are identical. I know that it is a niche subject, but maybe someone has experienced similar issues. I was able to find out that the checkerboard problem is linked to the pressure-velocity decoupling and the staggered/collocated grid approach. OF apparently uses a mix of both grid types. Would a different interpolation routine of higher order be able to get rid of this behaviour?

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

libs
(
    "liblduSolvers.so"
      //"libOpenFOAM.so"
      "libsimpleSwakFunctionObjects.so"
      "libswakFunctionObjects.so"
      "libgroovyBC.so"
     );

     
OptimisationSwitches
{
    commsType       nonBlocking;
}     
     
application     viscoelasticFluidFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         5;

deltaT          1e-5;

writeControl    adjustableRunTime;

writeInterval   1;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression uncompressed;

timeFormat      general;

timePrecision   6;

graphFormat     raw;

runTimeModifiable yes;

adjustTimeStep on;

maxCo          0.8;

maxDeltaT      0.0005;


// ************************************************************************* //
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
    grad(U)         Gauss linear;

}

divSchemes
{
    default                  none;
    div(phi,U)               Gauss upwind;
    div(phi,sigma)           Gauss upwind;
    div(phi,sigmafirst)           Gauss upwind;
    div(phi,sigmasecond)           Gauss upwind;
    div(phi,sigmathird)           Gauss upwind;
    div(phi,sigmafourth)           Gauss upwind;    
    div(tau)                 Gauss linear;
    div(taufirst)                 Gauss linear;
    div(tausecond)                 Gauss linear;
    div(tauthird)                 Gauss linear;
    div(taufourth)                 Gauss linear;
}

laplacianSchemes
{
    default                      none;
    laplacian(etaPEff,U)         Gauss linear corrected;
    laplacian(etaPEff+etaS,U)    Gauss linear corrected;
    laplacian((1|A(U)),p)        Gauss linear corrected;
}

interpolationSchemes
{
    default           linear;
    interpolate(HbyA) linear;
}

snGradSchemes
{
    default         corrected;
}


// ************************************************************************* //
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{

    p
    {
        solver          PCG;
        preconditioner  Cholesky;

        tolerance        1e-07;
        relTol           0;
        minIter          0;
        maxIter          800;
    }

    U
    {

        solver           BiCGStab;
        preconditioner   ILU0;

        tolerance         1e-6;
        relTol            0;
        minIter           0;
        maxIter           1000;
    }

    sigma
    {

        solver           BiCGStab;
        preconditioner   ILU0;

        tolerance         1e-6;
        relTol            0;
        minIter           0;
        maxIter           1000;

    };
    sigmafirst
    {

        solver           BiCGStab;
        preconditioner   ILU0;

        tolerance         1e-6;
        relTol            0;
        minIter           0;
        maxIter           1000;

    };
    sigmasecond
    {

        solver           BiCGStab;
        preconditioner   ILU0;

        tolerance         1e-6;
        relTol            0;
        minIter           0;
        maxIter           1000;

    };
    sigmathird
    {

        solver           BiCGStab;
        preconditioner   ILU0;

        tolerance         1e-6;
        relTol            0;
        minIter           0;
        maxIter           1000;

    };
    sigmafourth
    {

        solver           BiCGStab;
        preconditioner   ILU0;

        tolerance         1e-6;
        relTol            0;
        minIter           0;
        maxIter           1000;

    };    
}

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

relaxationFactors
{
    p               0.2;
    U               0.2;
    tau             0.2;
}


// ************************************************************************* //
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    inlet
    {
        type            zeroGradient;
    }
    fixedWalls
    {
        type            zeroGradient;
    }
    outlet
    {
        type            fixedValue;
        value           uniform 0;
    }

}


// ************************************************************************* //
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform (0.009279 0 0);
    }
    
    
    
    
    fixedWalls
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    outlet
    {
        type            zeroGradient;
    }

}


// ************************************************************************* //
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volSymmTensorField;
    object      sigmafirst;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform (50 0 0 50 0 50);

boundaryField
{
    inlet
    {
        //type            fixedValue;
        //value           uniform (0 0 0 0 0 0);
        type            zeroGradient;
    }
    fixedWalls
    {
        type            zeroGradient;
    }
    outlet
    {
        type            zeroGradient;
    }

}


// ************************************************************************* //
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volSymmTensorField;
    object      tau;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform (0 0 0 0 0 0);

boundaryField
{
    inlet
    {
        //type            fixedValue;
        //value           uniform (0 0 0 0 0 0);
        type            zeroGradient;
    }
    fixedWalls
    {
        type            zeroGradient;
    }
    outlet
    {
        type            zeroGradient;
    }

}


// ************************************************************************* //
tdof 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
Pressure dissipation problem in bubble simulation (Riemann problem) ndabir CFX 9 June 4, 2015 16:48
Pressure dissipation problem in bubble simulation (Riemann problem) ndabir FLUENT 0 June 3, 2015 20:17
Pressure dissipation problem in bubble simulation (Riemann problem) ndabir FLUENT 0 June 3, 2015 20:16
Low pressure de Laval simulation convergence problem heksel8i FLUENT 3 July 22, 2013 10:28
Multicomponent fluid Andrea CFX 2 October 11, 2004 05:12


All times are GMT -4. The time now is 13:15.