In practice, this is an extension of the Reichardt wall law to pressure gradient effects.

It is semi-analytical because it takes as assumption that the base Reichardt law is an exact solution of the 1D problem (which is not true).

While this might certainly be material for a paper (every work i am aware of uses numerical integration to solve the 1D problem; this, in particular, requires solving a tridiagonal system for every near wall cell), i honestly don't have time for this (life is too short to be spent in review).

Hence, here it is the work: a description in the pdf file and a matlab/octave comparison script in the txt file. If you ever worked on wall function you should fastly get to the point.

Otherwise, i'm open to discussion.

http://hdl.handle.net/10589/89603

I won't spend too much words on promoting it, you can read the abstract for this. I just want to say it possibly provides a fresh view on the matter of implicit/explicit filtering, commutation errors and other evergreen topics in LES. As i put a specific effort on this, i also hope that it might work as a not too heavy introduction on LES in general. Finally, it is developed within Fluent and you can find most of the used routines on this same blog.

Hope it helps someone. ]]>

Still, all the y+ calculators i am aware of rely on a very specific flow condition, namely, a flat plate boundary layer. This is probably the most common practical case but not the only option. For example, the fully developed flow in a pipe is cretainly different and possibly requires a different input for the y+ calculation.

The tool in the attached file is intended to provide an y+ calculator for the three most common equilibrium flows: channel flow, pipe flow and boundary layer. For the latter, a typical input would thus be the depth of the boundary layer and the external velocity. Analogous input are required for the remaining two flows.

All the relations are taken from the Pope's book. You will notice that, as much as in wall function calculations, an iterative loop is required, but i'm not an Excel fan, so i arranged it in a very trivial way over 10 consecutive rows (still, i know is possible to use some Excel feature to do it more elegantly).

Hope it helps someone, at least in clarifying that such y+ calculation is not uniquely done for all flows.

Edit: as for all the recent attachments, remember to rename it correctly instead of the dummy .php extension (i.e., .xlsx in this case).

http://www.cfdlab.polimi.it/Research/LESinItaly.tar.gz ]]>

The attached pdf file contains an explanatory image of the method while the .c routine should be sufficiently commented to be readily usable by anyone who actually knows what i'm talking about. If you don't, then you don't need it.

The routine only works in parallel (a serial version is available on request but its use is pointless in LES) and has been tested on straight circular and square ducts, both with structured and unstructured grids.

When compared with the default methods in Fluent (Vortex Method and Spectral Synthesizer) on the same number of cells, it is found to be around the 18% faster on average (different parallel partitions, load balances and hardware architectures). When the parallel partitioning is optimized the saving is higher.

A preliminary testing of the procedure has been presented here:

http://proceedings2012.caeconference...icoMilano.html

While additional details will be present in my forthcoming Ph.D. thesis, which i will share as soon as i will defend it.

The auxiliary flow is driven by a fixed source term (which nonetheless can be easily modified). An alternative version based on a PID controller to fix the mass flow rate and/or an additional integral parameter (say, the swirl number) is also available on request. However, this PID version has not been toroughly tested and some additional work might be needed.

The models are provided without any kind of warranty; still, no specific problem came up during testing.

For wall bounded turbulent flows in Fluent i strongly suggest the Vreman model due to its specific, theoretically wrong, near wall behavior. The SVD model, in contrast, seems to behave much like the dynamic Smagorinsky model and possibly worst. However, the SVD model is the first one i met that, in Fluent, provides a full y^3 near wall behaviour for the tangential stress, independently from the grid.

I will soon update this post with some plot.

1) output.c: Used to dump an instantaneous field file

2) outputavg.c: Used to dump an averaged field file

More details can be found in the files

1) Custom field function for the Q criterion (q_crit.txt, to be renamed in .scm). Some Fluent versions (12, 13 and maybe 14) only have a "Normalized Q criterion" scalar, while previous ones simply don't have it at all. This custom field function is what i used in those dark days.

2) Several initialization routines (init*.c and scalefield.c) fully described in the files

x(nx,ny,nz): x coordinates of your grid

y(nx,ny,nz): y coordinates of your grid

z(nx,ny,nz): z coordinates of your grid

dudx(nx,ny,nz): x-wise derivative of x-wise velocity component

dudy(nx,ny,nz): y-wise derivative of x-wise velocity component

.

.

.

dwdz(nx,ny,nz): z-wise derivative of z-wise velocity component

This is, more or less, how i would put it down in Matlab the task of plotting Q isosurfaces (tipically used for flow visualization in DNS/LES):

%MATLAB CODE

iso_q=100; %Pick your number here

%Definition of Q

q=-0.5*(dudx.^2+dvdy.^2+dwdz.^2)-dudy.*dvdx-dudz.*dwdx-dvdz.*dwdy;

%Plotting a Q isosurface, Q=iso_q

figure()

p=patch(isosurface(x,y,z,q,iso_q));

set(p,'FaceColor','red','EdgeColor','none');

daspect([1,1,1])

axis tight

ax = -1; ay = 1; az = 1;

view([ax,ay,az]);

camroll(240)

camlight

lighting gouraud

%END OF MATLAB CODE ]]>

http://rapidshare.com/files/1564297057/UFVMOM.rar

there is a basic MATLAB tool to handle unstructured finite volume grids (fluent .msh or .cas files) and to perform basic interpolations, gradient computations, plots etc. No actual FV computation is ever performed or implemented, however, the main structure of the code is clearly there.

GENERAL DESCRIPTION

The tool is actually a collection of functions, grouped by tasks under several folders plus a main test.m file which contains some useful examples.

The following folders are present (in logical order):

This is more or less a description of the several tools available. In the test.m file there are several examples on the different tools and all the subroutines are, in my opinion, heavily commented so you should be able (after a while) to understand how things work.

As you can see, all the material is at a very rough development stage yet so, it goes without saying,

CRITICAL PARTS

I want to collect here the critical points/routines or parts where a full testing is still needed:

- general:

- input\writemsh.m: it actually works and i've been using it for a while now without any problem. Nonetheless, sometimes Fluent launches a warning in reading the meshes written by this file... still, it can work it out without problems.

- fvcomp\fvfilter.m: i never used the routine or even tested it; might also be totally wrong (ok, maybe not that bad...).

- kdtree\...: the whole tool was not developed by me and i know nothing about it.

- vtk\vtkwrite.m: i already said this but i repeat it, there is a lack of support for polyhedral cells. I don't know if polygonal cells (2D) are supported because i didn't have any tool to create them. ]]>

http://www.lamc.ing.unibo.it/aimeta2.../MEM-273-0.pdf ]]>

This is defined as the second (in magnitude) eigenvalue of the matrix:

where:

This requires the construction of the characteristic cubic equation and its resolution in order to obtain lambda2 (that is, lambda2 is the second solution of the cubic characteristic equation).

For coherent structures the matrix above can be related to the opposite of the pressure Hessian matrix. As this matrix is real and symmetric, it has two positive eigenvalues when the pressure is at minimum. As a consequence, the matrix above has two negative eigenvalues and lambda2 is certainly negative (for coherent structures). How much negative you have to pick its isosurfaces is (for what i understand) related to the visual appealing of your images (like for the Q criterion).

A basic routine for Fluent is provided below. The bug reported by the user http://www.cfd-online.com/Forums/mem...icbretzel.html has been fixed.

APAME

http://www.3dpanelmethod.com/home.html

PANAIR (A502)

http://www.pdas.com/contents15.html (look for Panair - A502)

If you are looking for something more didactic, i suggest:

http://www.dept.aoe.vt.edu/~devenpor/aoe5104/

But it seems that the material is not available when the course is not active. ]]>

taking the time derivative of the first one and the divergence of the second one:

and finally substituting the second in the first one, we get:

with:

Now, considering single component flows, we have:

Obviously, an incompressible fluid doesn't even exists. For the present task we can assume the

And finally moving all the pressure terms to the left side:

Considering the last equation (which, i think, should be correct) we can say something about the nature of the pressure.

In fact, mathematically speaking, it is similar (somehow and neglecting some lower order terms) to an externally forced mass-spring system with playing the role of k, the elastic costant of the spring.

So, what happens when k is very high?

In the mass spring-system, after some very fast oscillations (the more k is high the more they are faster), the mass will assume a displacement in equilibrium with the external forcing. The same is true even if the external forcing is not costant but relatively slow, and at every time the mass can be considered in equilibrium with the external force.

In this case the problem is called stiff because the time scale of the system is very different from that of the external forcing.

Going back to the pressure equation, the role of k is now played by , the speed of sound in the fluid. When is very high but the fluid velocity is relatively slow compared to , the problem becomes stiff, that is the thermodynamic is much more faster than the external forcing; this comes out nondimensionalising the right hand terms with .

Actually, in this case, the thermodynamic nature of the pressure is not changed (why should it be?) but (first of all for computational purposes) we can consider a new equation in which the time derivative term is omitted because of the term (being of lower order):

Moreover, with a very lenghty procedure, it can be shown that the divergence of the velocity field is proportional to terms involving , so, in the same hypothesis already made, it also is of lower order and can be

Which is of very different nature respect to the original one, being an equilibrium equation for the pressure (not a time-evolution one), so at every time the pressure is

So, what actually changes between the incompressible view and a general one, it's not the pressure nature, which is still thermodynamic, but the parameters affecting it. Actually, in the incompressible view, we are