CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Oscillating behaviour when mesh gets too small (https://www.cfd-online.com/Forums/openfoam-solving/128329-oscillating-behaviour-when-mesh-gets-too-small.html)

james91 January 9, 2014 05:04

Oscillating behaviour when mesh gets too small
 
1 Attachment(s)
Dear Foamers


I am simulating detonations with a 2nd order approximate Riemann Solver. The results are smooth when I have a relative coarse mesh size of 1 mm but when I refine my mesh the solver starts to oscillate in every variable (see figure), would you have any idea on how to solve this problem or where it comes from ? (Maybe adapting the FVScheme and add more dissipation)?
The mesh is a 1D shocktube (1 cell with upper and lower BC symmetry conditions imposed)

Thank you very much!!

Here is the FvScheme from DDTFoam

Code:

ddtSchemes
{
    default        Euler;
}

gradSchemes
{
    default        Gauss linear;
    grad(scalarSlope)    cellMDLimited Gauss linear 1;
    grad(USlope)    cellMDLimited Gauss linear 1;
}

divSchemes
{
    default        none;

    div(tauShear)            Gauss linear;
    div(tauMC)                Gauss linear;
    div((tauShear&U))        Gauss linear;
    div((p*U))            Gauss linear;

    div((U+((sL*Xi)*-grad(c)))) Gauss linear;
    div((sL*grad(b)))        Gauss linear;
    div(U)                Gauss linear;
    div((sL*-grad(c)))        Gauss linear;
   
    div(phiSt,c)        Gauss vanLeer01;   
    div(phiXi,Xi)    Gauss vanLeer;
   
    div(phi,k)              Gauss upwind;
    div(phi,epsilon)    Gauss upwind;
    div(phi,omega)    Gauss upwind;
}

laplacianSchemes
{
    default        Gauss linear corrected;
}

interpolationSchemes
{

    default none;
   
    interpolate(tauMC) Gamma phi 1.0;
    interpolate(mu) Gamma phi 1.0;
    interpolate(muEff) Gamma phi 1.0;
   
    reconstruct(rho) limitedLinear 1.0;
    reconstruct(U)  limitedLinearV 1.0;
    reconstruct(T)  limitedLinear 1.0;

    interpolate(rho) linear;        // for CFL
    reconstruct(cSound) linear;    // for CFL
   
    interpolate(p) linear;          // for MinMax scheme   
    interpolate(Teff) linear;        // for MinMax scheme
    interpolate(tau) linear;          // for MinMax scheme

    interpolate(-grad(c)) linear;
    interpolate(grad((1-c))) linear;
    interpolate((((p*psiu)*sL)*Xi)) linear;
    interpolate((sL*((1|Xi)-Xi))) linear;
    interpolate(((rhoUnburned*sL)*Xi)) linear;
    interpolate((laplacian(interpolate(alphaEff),c)|mag(-grad(c)))) linear;
}

snGradSchemes
{
    default        corrected;
}



All times are GMT -4. The time now is 07:36.