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;
}
|