CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   LES initial condition (https://www.cfd-online.com/Forums/fluent/33461-les-initial-condition.html)

Vishnu K Vijayaraghavan April 12, 2004 17:37

LES initial condition
 
Hi all,

I am starting LES simulations in Fluent. I am simulating flow through a straight pipe with periodic conditions at the boundaries (Re = 100,000). What initial conditions have to be used? Is there any way to set the initial conditions at different nodes individually?

Any help will be greatly appreciated, Thanks, Vishnu

Dmitry April 13, 2004 06:27

Re: LES initial condition
 
hi, it's a good idea to start your simulation using a simple RANS turbulence model. In general, this step is optional and you can set any other initial conditions (IC), for example, from some inlet boundary. If you want to set IC at different nodes individually you can use patch possibility in FLUENT (solve->initialize->patch).


Vishnu K Vijayaraghavan April 14, 2004 12:07

Re: LES initial condition
 
Thanks for the reply!!

Is it necessary to initially perturb the flow, or will Fluent add random perturbations automatically?

Also, patch seems to be limited in the sense that only initial conditons in different zones can be specified (is this correct?). I am looking into DEFINE_INIT udf for specifying the initial condition at each node.

Thanks, Vishnu

Dmitry April 15, 2004 06:02

Re: LES initial condition
 
In my opinion it's not necessary to initially perturb the flow. In state of the art solutions some experts in this area set up perturbations on inlet boundaries for velocity and turbulent kinetic energy. But I did not perform such simulations and don't know is it really important.

Best regards.

Nicolas_Castro July 30, 2009 16:33

Imitate Periodic Boundary Without Periodic Boundary
 
I have ran and gotten accurate results for flow in a pipe using LES with periodic boundary conditions. I now wish to change/remove my periodic boundaries to an inlet and an outlet. I would like to set the inlet instantaneous values (i.e. u, v, w, p) equal to the values at the outlet (or values at a plane some distance downstream) so that turbulence continues to feed itself. The reason I would like to do this is to be able to introduce particles into the pipe since fluent does not allow discrete particle modeling with periodic boundary conditions. Any help or suggestions would be much appreciated!

sbaffini August 2, 2009 18:30

Fluent has its own "turbulence" generation methods. Not the best ones but...

Nicolas_Castro August 3, 2009 09:19

I know Fluent has it's own turbulence generation that are not very good, which is why I would like to be able to set my inlet equal to instantaneous values I have already calculated that I know have the correct profile and turbulent characteristics. Again I have ran and attained a solution for turbulent pipe flow using periodic boundary conditions. All I want to do now is figure out what I need to come up with a UDF that will copy the values at a plane calculated some distance downstream and set the upstream inlet boundary equal to them so that turbulence is feeding itself without the need for periodic boundaries.

sbaffini August 4, 2009 09:18

Well...sorry for the stupid response. However what you want to set as a boundary condition is exactly the same as the periodic boundary condition so if it is not possible to use it there should be a proper reason (i guess...). You could use the previously calculated statistics (in the periodic case) in the turbulence generator and this should give you an inlet condition which is not that bad.


In any case, to force the boundary condition you mentioned you will need an UDF...i think that you could try to make a first cycle on the cells of your domain in a define_on_demand macro and store the cell index of those cells which are on the same plane you want to use as a mirror for the inlet.


After that, in the subroutine for the inlet velocity profile you should put an additional cycle on the previously memorized cells to find the cell whose coordinates (except the streamwise one) is the nearest to the point you want to apply the boundary condition. (i'm not sure if this kind of nesting is possible).

Maybe, if the cycle on the inlet cells does not change its order, after the first time step you could memorize the copied cells index in the correct order and you will not need any further cycle to find the nearest point but could access the right cell directly (again, the practical feasibility of this approach should be checked).

vishwa August 6, 2009 09:24

Hello All,
I am running a LES simulation in a confined impinging jet reactor. I am using the smagorinsky-lilly model with the default settings available in fluent.

From the experiments we are sure that there is a turbulence in the reactor. However, for the same conditions, in the simulation, it shows that it is totally laminar after I have ran for 1/3rd residence time.

Right now I have plug flow entering the two inlets of the reactor. The inlets are long enough for the flow to develop. Is there a better way to initialize the flow so that the turbulence kicks in.

Regards,
Vishwa

sbaffini August 6, 2009 09:55

There could be a lot of reasons. The first one is surely the model, you should use the dynamic smagorinsky model because the original smagorinsky model is usually found to be too dissipative (especially in the near wall region).

The second one is probably the plug flow inlet. It is usually very difficult to get the transition even with a very fine grid and a real inflow condition thus, even if the Fluent inflow condition is not such a good method, the plug flow is surely not going to help. It will no cost you that much to activate one of the two method available in Fluent.

Another one could depend on the numerics. The convective scheme should be the central one or, at least, the bounded central scheme (in this case you could also perform a simple laminar simulation according to the MILES approach).

Of course the grid should be fine enough to properly represents the turbulent scales. For wall bounded and channel/pipe flows the grid should have the following (somehow relaxed) spacings:

dx+ = 30 - 100 - streamwise
dz+ = 10 - 50 - spanwise
dy+ = 1 - near wall
dy+ = 30 - 50 away from the wall

but these values are not exhaustive and, of course, the jet deserves attention because it introduces its own scales as well as any other geometry dependent energy injection

Also, according to my experience with Fluent, the time step should be fine enough to have a courant number of 0.1 in the ideal case or courant=1-2 in the worst case. Of course you have to use the 2nd order time integration method. Also, to speed-up the simulation, i suggest the fractional step method for the pressure-velocity coupling.

these are general guidelines to be checked with your simulation results

vishwa August 20, 2009 11:33

Thanks very much for the reply sbaffini. could you please tell me what do these dx+, dy+ and dz+ that you have mentioned mean?

When using the FSM, I am guessing you need to have a really small time step and how will fluent in this case take care of the convergence ?

Thanks in advance
Vishwa

farahnak.mehdi April 28, 2011 16:58

turbulence generator modeling in wind tunnel (orifice perforated plate OPP)
 
hello every one.
i want to model a isotropic turbulent flow with openfoam.
my case is a turbulence generator in a wind tunnel.
i just know the velocity of air at entrance of the tunnel
i want to model it with simplefoam.
what boundary condition must i choose for P and U and ....?
please help me :(

shmhava August 27, 2012 12:06

Hello,

I hope someone would answer my post.
I'm trying for a very long time to simulate a simple fully developed flow in a square duct (4 walls). The flow is periodic in the streamwise direction. The Re number is 10504. I'm using the LES approach with smagorinsky constant equal to 0.1. I don't know why, but the u_rms, or more precisely, the location of the peak of u_rms is in a very wrong place. According to the literature, it should be somewhere between y+=15-17, but to me it's in y+=27.
The dynamic model helps to correct this result, but at the same time, my friction coefficient becomes too small, and the mean velocity doesn't behave according to the log law.
What am I doing wrong?
Please help me,
Hava

sbaffini August 27, 2012 13:01

Dear hava,

are you dealing with the same test case of the following DNS?

http://www.cfmbyexample.com/resources/JFM_Duct.pdf

I have a personal opinion on this database (see the discussion here http://www.cfd-online.com/Forums/mai...tau-600-a.html).

However, as a matter of fact, i performed some LES computation on this case at the same Re number (also for aspect ratios AR = 2 and 4) with Fluent and the Dynamic Model with a bounded central scheme, PRESTO! for pressure and the fractional step for pressure velocity-coupling. The outcome is the best i ever had with LES in Fluent and it is practically perfect, which is why i started questioning the database above.

To give you some help you should describe your computational setting with more details (number of grid points in the 3 directions, the law of their spatial distribution, maximum and minimum grid spacings in the 3 directions, time step, domain size, convective scheme etc. etc.)

shmhava August 27, 2012 13:27

Dear Sbaffini,

Thank you for your reply. I'm dealing exactly with the same test case. As for the information you asked: I'm using a condition of mass flow rate in the periodic condition and not pressure gradient and for that the fractional step is not available. Instead I'm using second order implicit for transient. I also use BCD. For pressure I'm using simplec and standard, because I read that PRESTO! can be dissipative. However, I used once the PRESTO! and it didn't change a thing.
My number of grid points are:120x120x64 which gives: dx+min=1.2, dx+max=13 and dz+=64. Time step is 0.0001s, which according to fluent, results in CFL_max~0.2-0.3. Domain size is HxHx6.4H.

What was your skin friction coefficient? it should be approximately 0.0075.
What was the ratio between the velocity in the center and the bulk velocity? Did you get the secondary flows in the corners?

Thanks a lot,
Hava

sbaffini August 27, 2012 14:34

Dear hava,

my friction coefficient is:

cf = 2 * (u_tau / u_bulk)^2 = 2 * tau_wall / (rho * u_bulk^2) = 0.00713

and

u_centerline / u_bulk = 1.228

where:

u_bulk = 33.538762 m/s (volume average of the mean-streamwise-velocity over the whole domain)

tau_wall = 4.0049109 kg/m*s^2 (area average of the mean wall shear stress over the four walls)

rho = 1 kg/m^3

My other settings are:

Domain: 6.4H x H x H with H = 1m and 96 x 64 x 64 points (sin law in the wall normal directions)

Fixed pressure gradient: dp/dx = -16 kg/m^2*s^2

Dynamic Smagorinsky Model

mu = 1/300 kg/m*s

dt = 0.0001 s (second order implicit in time)

NITA - Fractional step with PRESTO!, Least-squares gradient reconstruction and bounded central scheme for the convective term.

Statistics gathered over 30 s (300k time steps)


There are some things i would say:

1) I made some tests in the past between the mass-flow/pressure-gradient option (channel flow at Re_tau = 590) and non sensible differences were present in the nondimensionalaized results. However, you should be aware that fixing the mass flow, all the problems will show up at the wall stress level. In contrast, fixing the pressure gradient, all the problems will show up at the bulk velocity level. Of course, friction coefficient problems will show up in both, but coming from different sources. My dimensional results with fixed mass flow were clearly different from the expected logarithmic profiles. Also, consider that the reference DNS is nondimensionalized by the LOCAL friction velocity.

2) I made some test with several numerical parameters (for this and the channel flow test case) and, while very few differences were found in this case (much more for the channel where i made them with the unbounded scheme), the PRESTO! was found as the best option (less dissipative) for LES. I'm not saying it is always the best option (several times i can't simply use it to maintain the solution stable), just that it is the best for this case with the bounded scheme.
I also tested the gradient options in some different tests (pipe flow as i remember) and, while still getting very few differences, i noticed the least-squares option as the best.

3) By comparison with your settings, i guess that the main difference is in the grid. Consider that one of the main concerns i have on the reference DNS is the obviously large grid step in the stream-wise direction (dx+ = 40 is LES!) together with the 5th order upwind scheme used therein. That's why i used their same grid step in the stream-wise direction.

4) As a matter of fact, i realized that the solution is strongly sensitive to the stram-wise resolution (we also worked on several spatial resolutions). Also, by a sin law wall normal point distribution, i got y+ lower than one at the wall with only 64 points while still having the maximum dy+ lower than 15.

I can't provide additional results or details as this is still a work in progress and the results are not definitive yet but, roughly speaking, we got a full superposition with mean and rms DNS results. We only got a light discrepancy in the secondary flows, mostly on the position, but they are certainly present. Sadly, the available DNS spectra are not very reliable in my opinion so we can't get a full meaningful comparison.

Hope this helps

shmhava August 27, 2012 14:54

Dear Paolo,

Is it possible to create sin law in the wall normal directions in gambit?
I used the successive ratio method, and with 60 nodes in the wall normal direction I received dx+max=60. How did you make it possible?

One more thing. What was your subgrid dynamic viscosity const? The maximum I got was 0.045.

Thank you,
Hava

sbaffini August 27, 2012 15:36

Dear hava,

i made my own grid generator in matlab. You can find it attached at some post in here:

http://www.cfd-online.com/Forums/flu...tml#post369355

It is a simple one-block structured grid generator but it did the job. By now i can't explain much how it works, but it should be quite simple to understand.

For the dynamic constant i did not pay too much attention and i didn't take any average of it. My experience is that it usually covers the full spectrum of the possible values (0<Cd<0.0529) as it isn't so well behaved and requires clipping. However, if the grid is fine enough you can probably attain lower values (as in your case) but, if you check the values of the constant in time (during the simulation), i'm pretty sure at some point you will also get the maximum.

shmhava August 28, 2012 10:58

Dear Paolo,

I hope it's not too rude, but, could you send me your case file? I have no intention to use it for publication purposes or something like that. I just want to see what I'm doing wrong.

Thank you,
Hava

sbaffini August 28, 2012 16:47

Dear hava,

of course you are not rude for asking, but i hope you understand why i can't give you my case files. This is not only because the work is still in progress but also because i am not the only one involved in this work; finally, and this is more trivial, i have no direct access to the data at the moment. However i'm here to give you any useful information and probably for the next week i will manage to also provide some graphical results.

Also, consider that the informations i gave you are pretty much all the ones we shared in our group at the moment the different cases had to be set up (different cases were set up by different people in different places at different moments).

shmhava August 29, 2012 04:59

Dear Paolo,

Thank you for your reply, I understand.
I went through your matlab code for meshing, and to be honest with you, I have no idea where to begin. How do I implement this code in fluent? First, I have to change the file name from writemesh.m to writemesh.msh, right?
Then, what should I do with the other two codes and what do I need to change in your code in order it would fit my case file? When I read the file into fluent, it gave an error message: invalid id x. (something like that).
I so envy you that you have a group to work with. I work entirely alone.

Thank you,
Hava

sbaffini August 29, 2012 05:41

Dear hava,

sorry for the lack of clearness. The files are not to be used as computational grids but are themselves a simple grid generator written in matlab, so you first need matlab to produce the grid.

All you need to do is to create a .m file with the following two calls (the files i posted were already set-up for the square channel with the sin law point distribution in the wall normal directions):

[x,y,z] = createmesh(nx,ny,nz,Lx,Ly,Lz,x0,y0,z0);
writemsh(x,y,z,file_name);

Here nx, ny and nz are the number of grid nodes (cells+1) in the three directions; Lx, Ly and Lz are the domain dimensions in the three directions and x0, y0 and z0 are the starting positions of the domain. Considering that in the files it is assumed that the stream-wise direction is x, this is the .m file i would use in your case:

file_name=mypath/mygrid.msh;
H=1;
Lx=6.4*H; Ly=H; Lz=H;
x0=0; y0=-H/2; z0=-H/2;
[x,y,z] = createmesh(97,65,65,Lx,Ly,Lz,x0,y0,z0);
writemsh(x,y,z,file_name);

Hope it is more clear now

shmhava August 29, 2012 06:37

sorry again, but when you say: file_name=mypath/mygrid.msh; what exactly do you mean? for example: file_name=C:\Documents and Settings\shmhava\Desktop\/mygrid.msh ? it doesn't work. Does it create a msh file or .m file?

sbaffini August 29, 2012 06:42

Try simply with:

file_name='mygrid.msh'; (sorry, i forgot the single quotes)

What i wrote above (previous post) has to be written in a .m file. When it is launched in matlab (the .m files i posted, together with this one, have to be in your working directory) it will produce (in the same directory) the file mygrid.msh, which is the grid you have to use in Fluent (as it was produced by gambit).

shmhava August 29, 2012 08:00

Thank you so much!!!! it's working.

Now, I have one more question: How did you start your calculation? the thing I did in previous calculations was first to calculate the flow using steady k-e,realizable, enhanced wall treatment model until convergence, then I used the command "solve/initialize/init-instantaneous-vel" to produce fluctuations and then I switched the viscosity model to LES.

sbaffini August 29, 2012 11:35

That's exactly the same procedure i used too. Sometimes i had to temporarily switch to the unbounded central scheme just to avoid relaminarization in the first time instants of the flow, then i switched back to the bounded scheme.

shmhava August 29, 2012 15:28

Dear Paolo,

Thanks again for you help.
How do you know when your calculation has reached the statistically steady state, and then you can turn on the "data sampling for time statistics"?

sbaffini August 29, 2012 16:58

There is not unique answer on this, in the sense that different people tend to use different indicators. I usually monitor the volume average of the kinetic energy (e.g. velocity magnitude squared) over the whole domain; when it is clearly oscillating around a steady mean value then i start collecting statistics until they are, to a certain extent (also according to the personal taste), converged.

shmhava September 5, 2012 09:50

Dear Paolo,

I wanted to thank you a lot for your help. My simulation now works much better than my previous ones (although, I get skin friction coefficient smaller than expected from the literature by 6-7%). Now, I added heat transfer to the problem, and I get Nusselt number of 11% smaller than the value predicted from a known correlation. Do you have any suggestions of how to improve my results?

Thanks again,
Hava

sbaffini September 6, 2012 04:17

Dear hava,

compared to the skin friction value you cited before, i got a 5% error which is comparable to your results. The difference may probably be due to the statistical difference in the samples used for the statistics (including, maybe, the total number of time steps used).

Initially we also had the idea to include heat transfer in our calculations but, as we were more concerned on several other effects, we didn't to save computational time. I have a very limited experience with heat transfer and LES in Fluent, it being limited to the case of bluff body flows (where the near wall small scale phenomena are much less important than in straight channels/ducts).

I can suggest the use of a dynamic model for the turbulent heat flux modelling and, if available, the comparison with a DNS reference instead of a correlation (or experimental data in general, whose uncertainties have to be carefully considered).

More generally, an 11% discrepancy might not be that bad.


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