# Eddy viscosity of smagorinsky LES model

Hi,

I am trying to understand static Smagorinsky model implemented in Palabos. As described in the documentation:

I could understand this from the relationship between the stress tensor and strain rate: Pi[sup]neq[/sup]=-2c[sub]s[/sub][sup]2[/sup]rhotau*S.

However, when I look at the file /complexDynamics/smagorinskyDynamics.hh: , I could not understand how the function computeOmega calculates the omega_{total} where the code is

[code=“cpp”]
static T computeOmega(T omega0, T preFactor, T rhoBar, Array<T,SymmetricTensor<T,Descriptor>::n> const& PiNeq)
{
T PiNeqNormSqr = SymmetricTensor<T,Descriptor>::tensorNormSqr(PiNeq);
T PiNeqNorm = std::sqrt(PiNeqNormSqr);
T alpha = preFactor * Descriptor::invRho(rhoBar);
T linearTerm = alphaPiNeqNorm;
T squareTerm = (T)2
alphaalphaPiNeqNormSqr;
// In the following formula, the square-root appearing in the explicit form of
// omega is developed to second-order.
return omega0*(1-linearTerm+squareTerm);
}

``````.

This calculation seems to be a different form compared to the one in the paper by Hou, et al. (1994)[sup][/sup] or the one by Krafczyk 2003[sup][/sup]. If so, what is the benefits of this form?

Could anyone help explain this or provide any reference?

With best,
Song

 Hou, et al. 1994, "A lattice Boltzmann subgrid model for high Reynolds number flows"
 Krafczyk 2003 "LARGE-EDDY SIMULATIONS WITH A MULTIPLE-RELAXATION-TIME LBE MODEL"``````

Hi, I am just a beginner in LBM and Palabos. I have the same problem for computing omega in LES. I read some paper and try to answer the topic. The main reference is user guide of Palabos and “Lattice Boltzmann large eddy simulation of subcritical flows around a sphere on non-uniform grids”(https://doi.org/10.1016/j.camwa.2011.03.063).

1 Like

I still have question. Why is the omega computed like this? Is it just for avoiding the dividing operation?