f0208secretx |
September 26, 2015 12:57 |
Velocity gradient that looks like checkerboard
3 Attachment(s)
I am solving an acoustic problem arises from turbulence. For that I am using pimpleFoam + Spalart-Allmaras DES (OpenFOAM 2.4.0 on RHEL) as suggested by some people when grid resolution is not high enough. I am particularly concerned with the velocity gradient as it will act as a quadrupole source term when acoustic analogy is used.
For the current setup, I have two problems:
1. I couldn't seem to get rid of the "checkerboard" velocity gradient despite the relatively smooth velocity field. Quotation because I don't think they are as bad as the real checkerboard issue. Pictures are attached.
2. There seems to be some artifacts when transitioning from coarser grid to denser grid near the region of interest.
Currently I suspected its the convergence issue, but it could also be the gradient scheme I chose to compute the gradient (cell limited gauss linear 0.8)? I posted my fvSolution/fvScheme and hopefully someone with some experience could point out some obvious errors. Any help is appreciated. Thanks.
fvScheme:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default backward;
}
gradSchemes
{
default Gauss linear;
grad(nuTilda) cellLimited Gauss linear 0.8;
grad(U) cellLimited Gauss linear 0.8;
}
divSchemes
{
default Gauss linear;
div(phi,U) Gauss LUST unlimitedGrad(U);//Gauss limitedLinear 1
//div(phi,U) Gauss linearUpwind unlimitedGrad(U);
div(phi,k) Gauss limitedLinear 1;
div(phi,B) Gauss limitedLinear 1;
div(phi,nuTilda) Gauss limitedLinear 1;
div(B) Gauss linear;
div((nuEff*dev(T(grad(U))))) Gauss linear;
//default none;
//div(phi,U) Gauss linearUpwindV grad(U);
//div(phi,k) Gauss upwind;
//div(phi,omega) Gauss upwind;
//div((nuEff*dev(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
interpolate(U) linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
// ************************************************************************* //
fvSolution:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.01;
}
pFinal
{
solver PCG;
preconditioner DIC;
tolerance 1e-8;
relTol 0;
}
U
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;
}
B
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;
}
"(U|k|epsilon|omega|nuTilda)Final"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-8;
relTol 0;
}
}
PIMPLE
{
nOuterCorrectors 2; // 1 leads to a piso algorithm
nCorrectors 3;
nNonOrthogonalCorrectors 2;
pRefCell 0;
pRefValue 0;
}
// ************************************************************************* //
|