CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Reg. LES in OpenFOAM (http://www.cfd-online.com/Forums/openfoam-solving/72264-reg-les-openfoam.html)

ganeshv January 31, 2010 04:00

Reg. LES in OpenFOAM
 
hi !

Newbie alert !!

Wherever I look, I get redirected to Oodles or ChannelOodles for LES in OpenFOAM. I have OpenFOAM-1.6.x installed finally and there's no solver called Oodles.

Code:

[blah@blah incompressible]$ pwd
/opt/OpenFOAM/OpenFOAM-1.6.x/applications/solvers/incompressible
[blah@blah incompressible]$ ls
boundaryFoam  nonNewtonianIcoFoam  pisoFoam          simpleFoam
channelFoam  pimpleDyMFoam        porousSimpleFoam
icoFoam      pimpleFoam          shallowWaterFoam

channelFoam.c in channelFoam says that it the LES solver for channel flows. I have the following questions/doubts

1. Is an LES solver in OpenFOAM nothing more than SGS stress terms added to the NS equation ? So it's pisoFOAM with SGS stress terms with appropriate turbulence models and modified boundary conditions, wall functions etc. ?
2. I do want to do a channel flow simulation. But what solver do I use in general for LES of incompressible flows ? pisoFoam ?
3. Can you suggest any better place than Eugene's thesis to start looking inside the box ?

ganesh

paulo February 1, 2010 13:44

I would to add one more question:

- Is there already a solver in OF suitable for external aerodynamics LES?

Best Regards,

Paulo Rocha.

eugene February 2, 2010 05:39

For LES I would suggest pimpleFoam with the appropriate turbulenceProproperties (LES) settings and boundary conditions. pimpleFoam is like pisoFoam but with incomplete convergence of the corrector steps.

For external aero LES just use the SpalartAllmaras DES model as SGS model.

paulo February 2, 2010 20:13

Thank you very much for the fast reply.

I will investigate further.

Best Regards,

Paulo Rocha.

paulo February 3, 2010 07:36

Quote:

Originally Posted by eugene (Post 244545)
For external aero LES just use the SpalartAllmaras DES model as SGS model.

Hi Eugene and all,

Isn't DES a hybrid approach between RANS (near wall) and LES (free stream)? Isn't there a way to test pure LES for external aero? :confused:

Thanks in advance,

Best Regards,

Paulo Rocha

lakeat February 3, 2010 22:35

Quote:

Originally Posted by paulo (Post 244749)
Hi Eugene and all,

Isn't DES a hybrid approach between RANS (near wall) and LES (free stream)? Isn't there a way to test pure LES for external aero? :confused:

Thanks in advance,

Best Regards,

Paulo Rocha


Of coarse you can, provided you have a suitable mesh, etc.
Try pisoFoam, I used to use them to do flow like flow past circular cylinder, building, etc. It works very well.

Regards,

eugene February 4, 2010 07:48

DES is indeed a hybrid approach. I just assume that you would not be able to mesh external aerodynamic cases fine enough to use pure LES. If you do have the meshes to do pure LES, then I suggest you try the oneEqEddy, dynOneEqEdy or locDynOneEqEddy SGS models to start off with.

Check the openfoam workshop and open source cfd conference proceedings for similar applications.

panda60 February 4, 2010 09:10

Quote:

Originally Posted by eugene (Post 244920)
DES is indeed a hybrid approach. I just assume that you would not be able to mesh external aerodynamic cases fine enough to use pure LES. If you do have the meshes to do pure LES, then I suggest you try the oneEqEddy, dynOneEqEdy or locDynOneEqEddy SGS models to start off with.

Check the openfoam workshop and open source cfd conference proceedings for similar applications.

Dear Eugene,
I have two questions:

1. If using oneEqEddy model, how we can set boundary for k?
because for RANS model, we can get k from experiment for inlet condition.
But for LES, we couldn't get sub-grid turbulent kinetic energy for inlet. Or just give a small value is OK ? for example 5e-5.
So I think why so many people use Smagorinsky model, maybe don't need to set boundary for k, am I right ?

2. I have read your paper, that is very good!
the size of my case is very similar to your "Side Mirror" one. First I use 300000 meshes Smagorinsky+ Spading law wall function, and then I use a little finer mesh 500000 mesh Smagorinsky+ VanDriset damping function, both of my velocity value is smaller than RANS and Experiment data above ground 12mm position, that meas my LES result shear stress is larger, so velocity is small. Could you give me some suggestions to improve my LES result ?
Tnank you very much.

eugene February 5, 2010 05:47

Hi,

The boundary for k is pretty straight-forward, since you will have no resolved scale turbulence at the inlet, just set it to the equivalent RANS value. It will adjust really quickly once things start happening. Setting it too small is not a good idea, as this can lead to spurious numerical noise if you have any grid abnormalities.

All I can suggest, is that you try the other turbulence models and see what happens. I haven't run pure LES for a while, but in literature most people use some kind of dynamic model. Also, the oneEqEddy model I used in my thesis is not the same as the one currently in OPENFOAM. I had a separate near-wall dissipation length-scale that was independent of the turbulent energy length scale. This improved results on channel flows by a few percent relative to the current model. The independent dissipation scale does not fit into the current SGS model framework though and was not incorporated into the release code as a result. Unfortunately, I no longer have the code for this.

paulo February 6, 2010 19:21

Eugene, Daniel and all

Thanks a lot for the information and time. I will start trying to solve my problem.

Best Regards,

Paulo Rocha

alberto February 7, 2010 04:02

Quote:

Originally Posted by panda60 (Post 244937)
Dear Eugene,
I have two questions:

1. If using oneEqEddy model, how we can set boundary for k?
because for RANS model, we can get k from experiment for inlet condition.
But for LES, we couldn't get sub-grid turbulent kinetic energy for inlet. Or just give a small value is OK ? for example 5e-5.
So I think why so many people use Smagorinsky model, maybe don't need to set boundary for k, am I right ?

Some picky comment, but I hope of some help. ;)

  1. Depending on the information you have from experiments, you can, at least roughly, estimate the residual kinetic energy at the inlet, and use that value. If you have PIV measurements of the inlet, you can filter that velocity filter that velocity field with the same filter size you use in the simulation, and obtain the value of the residual k at the BC.
  2. Giving as boundary condition the total turbulent kinetic energy when you are solving an equation for the residual one does not sound correct in principle, since your solution is going to depend on that value.
If there are numerical problems due to grid anomalies when k is set to be small, it simply means the mesh is not good enough for a LES anyway, or there is some problem in the numerics.
Remember that, strictly speaking, you cannot use a non-uniform mesh in LES, since you assume you can commute the integral and the derivative operators, and you neglect the terms depending on the filter size when you filter the conservation equations. The error is generally not negligible. It was shown (Guerts and co-workers, take a look at what they published in Physics of Fluids in 2005 on the commutation error) that the error becomes small if the change in the filter is slow and its skew is limited, but this is surely not the case if the mesh anomalies can cause numerical problems. :D
In addition, there is quite some interest around commutative filters and other approches to account for the commutation error. You might be interested in reading, for example, the work of
  • Marsden et al, Journal of Computational Physics, 2002 (Commutative filters on unstructured grids)
  • Iovieno and Tordella, Physics of Fluid, 2003 (Incorporation of filter-dependent terms in the conservation equations)
  • Geurts and co-workers, Physics of Fluids, 2005
  • Piomelli et al., Stanford CTR Proceedings Summer 2006
Best,

deji May 7, 2010 15:12

LES turbulent inlet
 
Hey there Eugene. I have a question that has being on-going for a short while. My research entails feeding the mean velocity and temperature profile into the lower portion of a plate (turbulent natural convection flow). So, to accurately predict the turbulent flow field downstream, what is the best approach to take in setting the turbulent inlet. I have considered superimposing some perturbations at the inlet and also remapping the flow field downstream back into the inlet. So any thoughts on this? Thanks.
And, I have not found any literature on how to set these turbulent boundaries in openFOAM. Is there any documentation or example in the code? Thanks.
Kind regards
Deji

eugene May 10, 2010 04:48

Hi Deji,

The only implementation available in the standard code for LES inlets is the directMapped boundary for looping stuff back onto the inlet.

You can find an example case here:
$FOAM_TUTORIALS/iincompressible/pisoFoam/pitzDailyDirectMapped

You could of course also write your own boundary with perturbation specifications.
For a reference, search for papers by Gavin Tabor. (There are others as well, if you don't mind digging in the forum and online.)

deji May 10, 2010 09:42

Thank you very much Eugene.

deji May 24, 2010 10:12

Inlet velocity profile
 
Hey there Eugene, I have a question. I am trying to implement the directmapped inlet for my LES simulation, and I happen to have my non-uniform velocity and temperature profiles at the inlet. I am unsure as to how to prescribe the average profile on the line I have marked on the posted sample velocity inlet profile. If possible , kindly give me some input on this matter. Thanks much.

inlet
{
type directMapped;
value nonuniform
2
(
(0 0 .15)
(0 0 .12)
);
setAverage true;
average ( ); <---------- ?? :confused:
}

eugene May 24, 2010 11:42

Its not an average profile, its an average value.

average (<x y z>);

for velocity and other vectors.

average <x>;

for temperature and other scalars.

deji May 24, 2010 12:48

Thanks for the response Eugene. Hence, to clarify, for each vector that I prescribe at the inlet, there should be an average (<x y z>) when utilizing the directmapped inlet bc. For example,

inlet
{
type directMapped;
value nonuniform
2
(
(0 0 .15)
(0 0 .12)
);
setAverage true;
average
( <x y z> )
( <x y z> );

}

Thanks

eugene May 27, 2010 05:22

Unfortunately, what you want is not possible without code alteration. I checked the directMapped source code and it only admits a single value. This value fixes the mapped field average at every single timestep - i.e. the average is constant in time.

You are trying to impose a mean distribution, should not the shape of the distribution emerge from the flow calculation itself? It should not be too difficult to add an "average" field distribution, but I have no idea how you would use this to force your time-mean input field (instead of you instantaneous field) toward the desired value.

deji May 27, 2010 08:44

Unfortunately, what you want is not possible without code alteration. I checked the directMapped source code and it only admits a single value. This value fixes the mapped field average at every single timestep - i.e. the average is constant in time.

You are trying to impose a mean distribution, should not the shape of the distribution emerge from the flow calculation itself? It should not be too difficult to add an "average" field distribution, but I have no idea how you would use this to force your time-mean input field (instead of you instantaneous field) toward the desired value.

Eugene,
With the directMapped code, I assume it feeds the instantaneous field back into the inlet. So, I gather it would be more feasible to use the instantaneous field rather than some mean distribution.

And it seems that the use of the single average value is only for a uniform inlet? I did take a look at your thesis work as you utilized this capability for the diffuser's inlet. In my research, there was a free convection experiment along a vertical plate and at some point the flow became turbulent. So, I am basically taking data at the inception of turbulence for the experiment and using it for my CFD calculation.

Thanks.

Best regards
Deji

deji May 27, 2010 13:49

Hey there Eugene. I thought about this and the fact is I would rather have the instantaneous profiles at the inlet instead of the mean quantities. Mean profiles are utilized since that is all I have at that particular location of the start of a turb. b.L. Perhaps, the directMapped code should be suitable for my computation. The only thing that I am still somewhat confused by is the average quantity.

Kind regards
Deji


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