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

Dicretization schemes in LES (pitzDaily)

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree61Likes
  • 2 Post By owayz
  • 1 Post By owayz
  • 1 Post By Djub
  • 10 Post By owayz
  • 23 Post By alberto
  • 1 Post By Djub
  • 1 Post By alberto
  • 14 Post By alberto
  • 2 Post By cfdonline2mohsen
  • 1 Post By openfoammaofnepo
  • 3 Post By openfoammaofnepo
  • 2 Post By ykanani

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 5, 2012, 18:47
Default Dicretization schemes in LES (pitzDaily)
  #1
Senior Member
 
Awais Ali
Join Date: Feb 2010
Location: Germany
Posts: 128
Rep Power: 17
owayz is on a distinguished road
Send a message via MSN to owayz
Hallo Foamers,
I am trying to do a compressible LES simulation of a cylinder at Re=10,000. And I am very confused about the fvSchemes settings in openfoam.
I have read it in many places that upwind schemes must be avoided as they are highly dissipative. Now I come to my question, in "tutorials/compressible/rhoPimpleFoam/les/pitzDaily" some divergence schemes are given as:

div(phi,U) Gauss filteredLinear2V 0.2 0;
div(phi,h) Gauss filteredLinear2 0.2 0;


Openfoam documentation says " filteredLinear2 --- Linear with filtering for high-frequency ringing"
I have 2 questions:
1-Well I don't know how would this effect the results if I simply select limitedLinear for div(phi,U) and div(phi,h)?
2-If I choose filteredLinear2 then what does the two numbers specify (i.e. 0.2 0) and how should I choose them?
Any help would be welcomed. If somebody could give me a pointer where I could read more about it, I would be very happy.
And if somebody could help me or guide me about setting fvSchemes specifically for LES I would be the happiest man on earth for some time.

Regards,
Awais
PonchO and rajibroy like this.
owayz is offline   Reply With Quote

Old   September 6, 2012, 05:25
Default
  #2
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
Hi,
My divSchemes are Gauss linear in general, but for div(phi,U) which is Gauss linearUpwindV grad(U); . By the way, I don't know why I am using this!!!
What I know is that the spatial schemes have to be centered; and the temporal scheme has to be of 2nd order (Crank-Nicholson 1/2 or Backward) (cf university of Chalmers). Eugene DeVillier promotes the use of Backward but I am not sure it is a good idea with large time steps.

'hope thie little things could help you...
Djub is offline   Reply With Quote

Old   September 6, 2012, 09:18
Default
  #3
Senior Member
 
Awais Ali
Join Date: Feb 2010
Location: Germany
Posts: 128
Rep Power: 17
owayz is on a distinguished road
Send a message via MSN to owayz
Quote:
Originally Posted by Djub View Post
Hi,
My divSchemes are Gauss linear in general, but for div(phi,U) which is Gauss linearUpwindV grad(U); . By the way, I don't know why I am using this!!!
What I know is that the spatial schemes have to be centered; and the temporal scheme has to be of 2nd order (Crank-Nicholson 1/2 or Backward) (cf university of Chalmers). Eugene DeVillier promotes the use of Backward but I am not sure it is a good idea with large time steps.

'hope thie little things could help you...
Hi Julien,
My point of view is that using upwind schemes would produce high Dissipation so may be you should avoid using linearUpwind for grad(U) and instead simply use Gauss Linear for grad.
What is confusing for me is that how should we use filteredLinear and filteredLinearV, and when should we use them, because they are used in LES tutorials in openFoam specially for div(phi,U) and div(phi,h).
So if you have any idea about it?.
Regards,
Awais
rajibroy likes this.
owayz is offline   Reply With Quote

Old   September 26, 2012, 05:36
Default
  #4
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
Hi Owayz,
I agree with you: I have red that upWind schemes were "forbidden" in LES cases because thay add viscosity. So I tried to change my scheme, replacing
div(phi,U) Gauss linearUpwindV grad(U);
by
div(phi,U) Gauss linear;
But now, that DOES NOT WORK AT ALL! The flow is awful , the mesh appears:


So I prefer to keep Gauss linearUpwindV grad(U);.
Nevertheless, this thread (http://www.cfd-online.com/Forums/openfoam-bugs/62534-problem-fvschemes-divschemes-cannot-use-gauss-linearupwind.html) is about fvSchemes in general. maybe there is some of your answers?
saeed jamshidi likes this.

Last edited by Djub; October 1, 2012 at 09:01. Reason: to add the picture
Djub is offline   Reply With Quote

Old   September 26, 2012, 09:16
Default
  #5
Senior Member
 
Awais Ali
Join Date: Feb 2010
Location: Germany
Posts: 128
Rep Power: 17
owayz is on a distinguished road
Send a message via MSN to owayz
Hi Djub
Well, it could be the problem with flow convergence or mesh refinement. Actually I tried linear scheme for all my terms (i.e. div, laplacian, grad) in fvSchemes and it works for me.
May be you can share your case?
regards,
Awais
owayz is offline   Reply With Quote

Old   September 26, 2012, 09:27
Default
  #6
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
What do you mean by sharing my case? Do you want all my dictionnaries ?
Djub is offline   Reply With Quote

Old   September 26, 2012, 14:01
Default
  #7
Senior Member
 
Awais Ali
Join Date: Feb 2010
Location: Germany
Posts: 128
Rep Power: 17
owayz is on a distinguished road
Send a message via MSN to owayz
Yes share the dictionary files, and if possible mesh as well.
Regards,
Awais
owayz is offline   Reply With Quote

Old   September 27, 2012, 04:48
Default
  #8
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
Whoua... Let's go:

constant\polyMesh\blockMeshDict
Code:
vertices        (
    (-1  -.7 0) (-.2  -.7 0) (.2  -.7 0) (1  -.7 0) (3  -.7 0) 
    (-1 -.05 0) (-.2 -.05 0) (.2 -.05 0) (1 -.05 0) (3 -.05 0) 
    (-1  .05 0) (-.2  .05 0) (.2  .05 0) (1  .05 0) (3  .05 0) 
    (-1   .7 0) (-.2   .7 0) (.2   .7 0) (1   .7 0) (3   .7 0) 
 
    (-1  -.7 .49) (-.2  -.7 .49) (.2  -.7 .49) (1  -.7 .49) (3  -.7 .49)
    (-1 -.05 .49) (-.2 -.05 .49) (.2 -.05 .49) (1 -.05 .49) (3 -.05 .49)
    (-1  .05 .49) (-.2  .05 .49) (.2  .05 .49) (1  .05 .49) (3  .05 .49)
    (-1   .7 .49) (-.2   .7 .49) (.2   .7 .49) (1   .7 .49) (3 .7 .49)             );
blocks          (
    hex   (0 1 6 5 20 21 26 25)   (56 45 25) simpleGrading (.50 .5  1)
    hex   (1 2 7 6 21 22 27 26)   (40 45 25) simpleGrading ( 1  .5  1)
    hex   (2 3 8 7 22 23 28 27)   (56 45 25) simpleGrading ( 2  .5  1)
    hex   (3 4 9 8 23 24 29 28)   (62 45 25) simpleGrading (2.5 .5  1)
    hex  (5 6 11 10 25 26 31 30)  (56 10 25) simpleGrading (.5  1  1)
    hex  (7 8 13 12 27 28 33 32)  (56 10 25) simpleGrading ( 2  1  1)
    hex  (8 9 14 13 28 29 34 33)  (62 10 25) simpleGrading (2.5  1  1)
    hex (10 11 16 15 30 31 36 35) (56 45 25) simpleGrading (.50  2  1)
    hex (11 12 17 16 31 32 37 36) (40 45 25) simpleGrading ( 1   2  1)
    hex (12 13 18 17 32 33 38 37) (56 45 25) simpleGrading ( 2   2  1)
    hex (13 14 19 18 33 34 39 38) (62 45 25) simpleGrading (2.5  2  1)      );
edges           ();
boundary      (
    flux_entrant {
        type inlet;
        faces (       (0 20 25 5)
                        (5 25 30 10)
                        (10 30 35 15)  );    }
    flux_sortant {
         type outlet ;
         faces (      (4 9 29 24) 
                        (9 14 34 29)
                       (14 19 39 34)    );    }
    le_sol {
          type wall ;
          faces (     (0 1 21 20)
                        (1 2 22 21)
                        (2 3 23 22)
                        (3 4 24 23)     );     }
    le_plafond {
           type wall ;
           faces (   (15 35 36 16)
                        (16 36 37 17)
                        (17 37 38 18)
                        (18 38 39 19) );    }
    Mur_gauche {
          type wall ;
          faces (     (5 6 1 0)
                        (6 7 2 1)
                        (7 8 3 2)
                        (8 9 4 3)
                        (10 11 6 5)
                        (12 13 8 7)
                        (13 14 9 8)
                        (15 16 11 10)
                        (16 17 12 11)
                        (17 18 13 12)
                        (18 19 14 13)     );    }
     Mur_droit {
        type symmetryPlane ;
        faces (      (25 20 21 26)
                       (26 21 22 27)
                       (27 22 23 28)
                       (28 23 24 29)
                       (30 25 26 31)
                       (32 27 28 33)
                       (33 28 29 34)
                       (35 30 31 36)
                       (36 31 32 37)
                       (37 32 33 38)
                       (38 33 34 39)    );    }
    le_cylindre {
       type wall ;
       faces (    (7 6 26 27)
                    (12 7 27 32)
                    (11 12 32 31)
                    (6 11 31 26)     );    }
);
mergePatchPairs 
();
Note: excuse me for the French names of the patchs...

constant\LESProperties
Code:
LESModel        Smagorinsky;
delta           cubeRootVol;
printCoeffs     on;
cubeRootVolCoeffs
{
    deltaCoeff      1;
}
system\controldict
Code:
application     pimpleFoam;
startFrom       latestTime;
startTime       0;
stopAt          endTime;
endTime         150;
deltaT          .001;
adjustTimeStep yes ;
maxCo      10 ;
maxDeltaT      .1 ;
writeControl    timeStep;
writeInterval   1;
purgeWrite      20;
writeFormat     binary;
writePrecision  6;
writeCompression off;
timeFormat      general;
timePrecision   8;
runTimeModifiable true;
system\fvSchemes
Code:
ddtSchemes{
    default         CrankNicholson .5;     }
 
gradSchemes{
    default         Gauss linear;
    grad(U)         cellLimited Gauss linear 1;      }
 
divSchemes{
    default         none;
    div(phi,U)      Gauss linearUpwindV grad(U); OR Gauss linear;
    div((nuEff*dev(T(grad(U))))) Gauss linear; }
 
laplacianSchemes{
    default         none;
    laplacian(nuEff,U) Gauss linear corrected;
    laplacian((1|A(U)),p) Gauss linear corrected;
 
interpolationSchemes{
    default         linear;}
 
snGradSchemes{
    default         corrected;}
 
fluxRequired{
    default         no;
    p               ;}
system\fvSolution

solvers{
p {
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0.01; }
pFinal {
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0; }
U {
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0; }
U final {
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0; } }
PIMPLE {
nOuterCorrectors 2;
nCorrectors 2;
nNonOrthogonalCorrectors 1;
pRefCell 0;
pRefValue 0; }
cache {
grad(U) ; }


0/U
Code:
dimensions      [ 0 1 -1 0 0 0 0 ];
initValue    uniform (3.3 0 0);
internalField    $initValue;
boundaryField{
    flux_entrant    {
        type            fixedValue;
        value           $initValue;    }
    flux_sortant    {
        type            inletOutlet;
        inletValue      uniform ( 0 0 0 );
        value           $initValue;    }
    le_sol    {
        type            fixedValue;
        value           uniform ( 0 0 0 );    }
    le_plafond    {
        type            fixedValue;
        value           uniform ( 0 0 0 );    }
    Mur_gauche    {
        type            fixedValue;
        value           uniform ( 0 0 0 );    }
    Mur_droit    {
        type            symmetryPlane;    }
    le_cylindre    {
        type            fixedValue;
        value           uniform ( 0 0 0 );    }
}

0/p
Code:
dimensions      [ 0 2 -2 0 0 0 0 ];
internalField   uniform 0;
boundaryField{
    flux_entrant    {
        type            zeroGradient;    }
    flux_sortant    {
        type            fixedValue;
        value           uniform 0;    }
    le_sol    {
        type            zeroGradient;    }
    le_plafond    {
        type            zeroGradient;    }
    Mur_gauche    {
        type            zeroGradient;    }
    Mur_droit    {
        type            symmetryPlane;    }
    le_cylindre    {
        type            zeroGradient;    }
}
0/nuSgs
Code:
dimensions      [ 0 2 -1 0 0 0 0 ];
initValue       uniform .1;
internalField   $initValue;
boundaryField{
    flux_entrant   {
        type            fixedValue;
        value           $initValue;    }
    flux_sortant    {
        type            calculated;    }
    le_sol    {
        type            kqRWallFunction;
        value           $initValue;    }
    le_plafond    {
        type            kqRWallFunction;
        value           $initValue;    }
    Mur_gauche    {
        type            kqRWallFunction;
        value           $initValue;    }
    Mur_droit    {
        type            symmetryPlane;    }
    le_cylindre    {
        type            kqRWallFunction;
        value           $initValue;    }
}
Note: I know these kqRWallFunction are out of interest here.

Of course, there are some other files, but nothing interesting (but nu=1.5e-5). About the fvSchemes: what do you think about LUST ?
Djub is offline   Reply With Quote

Old   September 27, 2012, 07:12
Default
  #9
Senior Member
 
Awais Ali
Join Date: Feb 2010
Location: Germany
Posts: 128
Rep Power: 17
owayz is on a distinguished road
Send a message via MSN to owayz
I will try to run the case.
I myself don't have much idea about LUST scheme, haven't used it.
openFOAM actually advises to use LUST in case the mesh is highly unstructured (and quality is not good). If you look into the LUST its a blending of linear and linearUpwind. The blending factor of 0.75 (for linear) is hard coded which they say is optimized for a range of mesh quality.
But with a blending of linearUpwind (2nd order upwind), it will also add some damping.
LUST is being used in motorbike tutorial of openFOAM.
Regards,
Awais
owayz is offline   Reply With Quote

Old   September 28, 2012, 02:30
Default
  #10
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
The choice of the scheme for LES should be based on the numerical diffusion it introduces. Ideally you should use linear, or cubic. You need good and prett uniform mesh anyways for LES, since you are assuming the filter operator and the differential operator are commutative, which is not true on non-uniform grids!
The filtered schemes are a last resort scheme in my view, if you can't really do better with your mesh. Upwind and linearUpwind, but also limitedLinear and QUICK should be avoided because they are too dissipative.

For the time scheme, backward is the prmary choice among the schemes available in OF. The constraint on he time step is generally not an issue in LES because you are tied by the requirement of resolving the flow large-scale time scales.

Best,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   September 28, 2012, 03:48
Thumbs up Thanks !
  #11
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
Thanks a lot Alberto. Your explainations are so simple, accurate and efficient! Respect...
Nevertheless, I am quite surprised because I have been using linearUpwind since some months, and it seems to work well. At least for these "simple" cases of a rectangluar rod in a uniform flow (similar to BARC if you know), in which I am interested for vortex shedding (Von Karman Alley). Do you think I could have a bias in the vortex shedding frequency, due to the artificial dissipation introduced by linearUpwind ?

PS: Thanks a lot also for GeekoCFD. While installing my Foam, you were my Saviour !
Djub is offline   Reply With Quote

Old   October 1, 2012, 09:02
Default
  #12
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
(picture added on post #4 : http://www.cfd-online.com/Forums/ope...tml#post383679 )
ScarFace likes this.
Djub is offline   Reply With Quote

Old   October 1, 2012, 14:15
Default
  #13
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hi Julien, since you are interested in accurate and detailed solutions, you should really use the "linear" scheme. This scheme requires the cell Re < 2, so you will have to use a refined mesh, which is anyways necessary when you do LES (of course it might be an issue if your Re is very high).

Best,
phonak likes this.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   October 2, 2012, 03:58
Default
  #14
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 152
Rep Power: 13
Djub is on a distinguished road
Hi Alberto,
I really do not understand:
- linearUpwind seems to work, when linear does not (is my picture a kind of "staggering"? I am quite new in CFD and my vocabulary is still poor). Why ??? Let suppose it is not working properly, giving wrong results. How to control this? How to be sure my solution is working well? Fields are pretty nice, vortex sheddind has a good frequency... What is wrong?
- why does LES need a fine mesh? Small eddies have not to be resolved! Thus, I supposed a coarse mesh is enough to describe large structures, while my SGS is modelling finer eddies...

In order to "tune" the size of my cells, I thought about the link between time and space: I am thinking about Strouhal number, which is commonly around 0.2 (for a cylinder for example). Thus, an eddy of size dx should "vibrate" at a frequency of nu=St.U/dx . With St=.2, this succeeds to a mean current number of about Co=5 (=St^-1). My mesh is based on these considerations.

My mesh is designed with a Co=5, about 1cm. You advice me to use Re=2. In my case, this leads to 0,1 mm. 100 times coarser, and thus a cell number 1 000 000 times larger !?!? I thought this kind of simulation was called DNS, not LES !
Djub is offline   Reply With Quote

Old   October 2, 2012, 11:55
Default
  #15
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by Djub View Post
Hi Alberto,
I really do not understand:
- linearUpwind seems to work, when linear does not (is my picture a kind of "staggering"? I am quite new in CFD and my vocabulary is still poor). Why ??? Let suppose it is not working properly, giving wrong results. How to control this? How to be sure my solution is working well? Fields are pretty nice, vortex sheddind has a good frequency... What is wrong?
The linear scheme is conditionally stable. You need the cell Re < 2. Please refer to a CFD book for this (Ferziger and Peric discuss this, for example).

Quote:
- why does LES need a fine mesh? Small eddies have not to be resolved! Thus, I supposed a coarse mesh is enough to describe large structures, while my SGS is modelling finer eddies...
This is quite basic. The idea behind LES is that you resolve directly the large non-isotropic scales, and you model the smallest isotropic ones. In true LES you must have a filter size that falls in the inertial sub-range, in order to achieve this result (Please, see Pope's book).


Quote:
My mesh is designed with a Co=5, about 1cm. You advice me to use Re=2. In my case, this leads to 0,1 mm. 100 times coarser, and thus a cell number 1 000 000 times larger !?!? I thought this kind of simulation was called DNS, not LES !
Welcome to the confusion constantly affecting CFD communities
A DNS is technically a simulation where all the turbulent scales are directly resolved. In other words you resolve directly from the largest scale, down to the Kolmogorov microscale.
An LES is less demanding in terms of grid resolution, because the isotropic scales are not resolved directly, so you can use a coarser mesh. Coarser however does not mean as coarse as you want. The requirement is that your filter size (typically the cubic root of your cell volume) corresponds to to a frequency that falls in the inertial sub-range of the spectrum.

About the schemes, in practical applications the linear scheme might have too stringent requirements. In such a case, some authors suggest to use the bounded QUICK, which is however known to be too dissipative for LES, due to its upwind nature. If you really can't use a central scheme (linear, cubic, ...), I would start looking at filtered schemes before considering others.

Best,
excolade, owayz, fumiya and 11 others like this.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   November 20, 2012, 03:36
Default
  #16
Senior Member
 
cfdonline2mohsen's Avatar
 
Mohsen KiaMansouri
Join Date: Jan 2010
Location: CFD Lab
Posts: 118
Rep Power: 16
cfdonline2mohsen is on a distinguished road
Quote:
Originally Posted by alberto View Post
The choice of the scheme for LES should be based on the numerical diffusion it introduces. Ideally you should use linear, or cubic. You need good and prett uniform mesh anyways for LES, since you are assuming the filter operator and the differential operator are commutative, which is not true on non-uniform grids!
The filtered schemes are a last resort scheme in my view, if you can't really do better with your mesh. Upwind and linearUpwind, but also limitedLinear and QUICK should be avoided because they are too dissipative.

For the time scheme, backward is the prmary choice among the schemes available in OF. The constraint on he time step is generally not an issue in LES because you are tied by the requirement of resolving the flow large-scale time scales.

Best,
Dear Alberto
Thanks for your useful guide regarding different schemes in LES.
I have a question: you said that " Upwind and linearUpwind, but also limitedLinear and QUICK should be avoided because they are too dissipative"
I know that Upwind and linearUpwind produce high dissipation and must be avoided.
But what about QUICK and TVD schemes (e.g. limitedLinear & vanLeer)? are they dissipative too?(Please introduce me a reference about dissipation in QUICK and TVD schemes!!)
Then the only choice that remains is Centred schemes (e.g. linear, cubicCorrection, midPoint) but they are all unbounded.
The question is "what scheme should be used for divSchemes that guaranties both boundedness and accuracy and also has not been too much dissipative? "

I have used the following Schemes for my case (twoLiquidMixingFoam) in LES:

ddtSchemes
{
default backward;
}

gradSchemes
{
default Gauss linear;
}

divSchemes
{
default none;
div(rho*phi,U) Gauss linear;
div(phi,alpha1) Gauss vanLeer01; // to bound the vanLeer scheme strictly between 0 and 1 to avoid negative and higher than 1 alpha

div(phi,k) Gauss limitedLinear 1;
div(phi,B) Gauss limitedLinear 1;
div(B) Gauss linear;
div(phi,nuTilda) Gauss limitedLinear 1;
div((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
default Gauss linear corrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p_rgh;
alpha1;
}

Since we had negative or higher than 1 values for alpha we have to bound it using Gauss vanLeer01 and of course Gauss limitedLinear 1 for div(phi,k).

What's your opinion about my schemes?

Thanks in advance,
Mohsen
ScarFace and allanZHONG like this.
cfdonline2mohsen is offline   Reply With Quote

Old   January 29, 2015, 08:41
Default
  #17
Senior Member
 
Join Date: Jan 2013
Posts: 372
Rep Power: 14
openfoammaofnepo is on a distinguished road
Dear Owayz,

I am also interested in try the scheme "filteredLinear2V" in the LES. Do you know what they mean about the parameters 0.2 and 0? Do you have any experience in selecting them? Thank you very much.

best regards,
OFFO

Quote:
Originally Posted by owayz View Post
Hi Julien,
My point of view is that using upwind schemes would produce high Dissipation so may be you should avoid using linearUpwind for grad(U) and instead simply use Gauss Linear for grad.
What is confusing for me is that how should we use filteredLinear and filteredLinearV, and when should we use them, because they are used in LES tutorials in openFoam specially for div(phi,U) and div(phi,h).
So if you have any idea about it?.
Regards,
Awais
tiam likes this.
openfoammaofnepo is offline   Reply With Quote

Old   March 26, 2016, 08:50
Default
  #18
Senior Member
 
Join Date: Jan 2013
Posts: 372
Rep Power: 14
openfoammaofnepo is on a distinguished road
I think LUST can be used for LES with OpenFOAM solvers. It is available OF2.1.0 and is described as:

=====================================
Linear-upwind stabilised transport
Linear-upwind stabilised transport (LUST) is a new interpolation schemes in which linear-upwind is blended with linear interpolation to stabilise solutions while maintaining second-order behaviour. The scheme is proving particularly successful for LES/DES in complex geometries with complex unstructured meshes, e.g. external aerodynamics of vehicles.
=====================================

The blending is harded coded as
Code:
                0.75*this->mesh().surfaceInterpolation::weights()
              + 0.25*linearUpwind<Type>::weights();
In OF3.0.1, it has been used for the following tutorials:

Code:
combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes:31:    div(phi,U)      Gauss LUST grad(U);
compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes:31:    div(phi,U)      Gauss LUST grad(U);
compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes:32:    div(phi,e)      Gauss LUST grad(e);
incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes:38:    div(phi,U)      Gauss LUST unlimitedGrad(U);
incompressible/pisoFoam/les/pitzDaily/system/fvSchemes:31:    div(phi,U)      Gauss LUST grad(U);
incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes:31:    div(phi,U)      Gauss LUST grad(U);
incompressible/shallowWaterFoam/squareBump/system/fvSchemes:30:    div(phiv,hU)    Gauss LUST un;
multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes:33:    div(rhoPhi,U)   Gauss LUST grad(U);
multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes:34:    div(phi,k)      Gauss LUST grad(k);
multiphase/cavitatingFoam/les/throttle/system/fvSchemes:32:    div(rhoPhi,U)   Gauss LUST grad(U);
multiphase/cavitatingFoam/les/throttle/system/fvSchemes:33:    div(phi,k)      Gauss LUST grad(k);
Quote:
Originally Posted by owayz View Post
I will try to run the case.
I myself don't have much idea about LUST scheme, haven't used it.
openFOAM actually advises to use LUST in case the mesh is highly unstructured (and quality is not good). If you look into the LUST its a blending of linear and linearUpwind. The blending factor of 0.75 (for linear) is hard coded which they say is optimized for a range of mesh quality.
But with a blending of linearUpwind (2nd order upwind), it will also add some damping.
LUST is being used in motorbike tutorial of openFOAM.
Regards,
Awais
openfoammaofnepo is offline   Reply With Quote

Old   August 3, 2016, 00:32
Default
  #19
Member
 
Yousef
Join Date: Feb 2015
Posts: 40
Rep Power: 11
ykanani is on a distinguished road
Quote:
Originally Posted by openfoammaofnepo View Post
Dear Owayz,

I am also interested in try the scheme "filteredLinear2V" in the LES. Do you know what they mean about the parameters 0.2 and 0? Do you have any experience in selecting them? Thank you very much.

best regards,
OFFO
from filteredLinear2V.H (k_ is the first parameter and l_ is the second):

Code:
// Scaling corefficient for the gradient ratio,
        // 0 = linear
        // 1 = fully limited
        scalar k_;

        // Maximum allowed overshoot/undershoot relative to the difference
        // across the face.
        // On input:
        //     0 = no overshoot/undershoot
        //     1 = overshoot/undershoot equal to the difference across the face
        // Note: After input 1 is added to l_
        scalar l_;
ykanani is offline   Reply With Quote

Old   April 30, 2020, 08:24
Default
  #20
New Member
 
navid toussi
Join Date: Nov 2015
Posts: 20
Rep Power: 10
navidmt is on a distinguished road
Quote:
Originally Posted by alberto View Post
Hi Julien, since you are interested in accurate and detailed solutions, you should really use the "linear" scheme. This scheme requires the cell Re < 2, so you will have to use a refined mesh, which is anyways necessary when you do LES (of course it might be an issue if your Re is very high).

Best,
Dear Dr. Alberto,

I would appreciate your help and any suggestion from you on my LES case:
I am working on an airfoil with a relatively high Re number (60000). I made a hybrid mesh, structured near by the wall and unstructured one away from the wall. The mesh is quite dense and fine near by the wall which gives me Y+ around 0.7. I am using WALE model. when I check the Peclet number, due to the different refinements in the mesh I have high Peclet far from the wall and quite small one near the wall.
Whenever I use Guess linear scheme for convective term, after a while I face a lot of numerical instabilities that is not allowing me to continue further.
I tried linearUpwind and LUST scheme and due to their dissipative behavior they are working fine, but i am not happy with the result of the skin friction coefficient I have. Is good to say that I have also tested the filteredLinear2 scheme and ended up with instabilities too. Regarding the mesh, I cannot refine it more since it is a very expensive simulation and already contains almost 48Mil number of cells.

I would like to know which numerical schemes would you suggest me to use to have less dissipation and good accuracy. If you need me t share any of my dictionaries pls let me know.

Any other help or advice from other members are highly appreciated.

best

Navid
navidmt is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Convection discretization schemes for LES sek OpenFOAM Running, Solving & CFD 38 July 31, 2017 14:30
Pressure problem in pitzDaily pisoFoam LES fluentfreak OpenFOAM Running, Solving & CFD 0 April 18, 2012 18:13
LES tutorial for pitzDaily hhuang84 OpenFOAM Running, Solving & CFD 0 October 12, 2009 12:38
Schemes for scalar in LES anne OpenFOAM Running, Solving & CFD 5 March 5, 2007 05:34
Advection schemes for LES kalyan Main CFD Forum 2 May 17, 2001 13:43


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