Hello everyone,rnrnI am trying to simulate turbulent flow with the Smagorinskt-BKG algorithm. I read the literature about this implementation. I know that the dimensionless relaxation time used by the BGK collision operator, tau_mol, is changed in order to take into account the eddy viscosity from the Smagorinsky model, by setting:rnrn
Code:
tau_eff = tau_mol + tau_turb
rnWhere the new dimensionless relaxation time is tau_eff.rnrnI know that the strain rate tensor S_i-j can be calculated form the second-order moment of the non-equilibrium distribution function fi¹. Thus, tau_turb is explicitly evaluated using tau_mol and this second-order moment.rnrnThe computeOmega function defined by the SmagorinskyBGKdynamics class calculates tau_turb as:rnrn
Code:
rntemplate<typename T, template<typename U> class Lattice>rnT SmagorinskyBGKdynamics<T,Lattice>::computePreFactor(T omega, T smagoConst, T dx, T dt)rn{rn return (T)(smagoConst*smagoConst*dx*dx)*Lattice<T>::invCs2/dt*4*sqrt(2);rn}rnrntemplate<typename T, template<typename U> class Lattice>rnT SmagorinskyBGKdynamics<T,Lattice>::computeOmega(T omega0, T preFactor, T rho,rn T pi[util::TensorVal<Lattice<T> >::n] )rn{rn T PiNeqNormSqr = pi[0]*pi[0] + 2.0*pi[1]*pi[1] + pi[2]*pi[2];rn if (util::TensorVal<Lattice<T> >::n == 6) {rn PiNeqNormSqr += pi[2]*pi[2] + pi[3]*pi[3] + 2*pi[4]*pi[4] +pi[5]*pi[5];rn }rn T PiNeqNorm = sqrt(PiNeqNormSqr);rn T tau_mol = 1. /omega0;rn T tau_turb = 0.5*(sqrt(tau_mol*tau_mol+(preFactor*tau_mol*PiNeqNorm))-tau_mol);rn tau_eff = tau_mol+tau_turb;rn T omega_new= 1./tau_eff;rn return omega_new;rn}
rnrnFrom the literature the expressions for prefactor and tau_turb seems to be erroneous. Should not these expressions be evaluated like:rnrn
Code:
rnpreFactor = (smagoConst*smagoConst*dx*dx)*Lattice<T>::invCs2/dt*4*sqrt(2);rnpreFactor = preFactor*Lattice<T>::invCs2/rho;rnrntau_turb = 0.5*(sqrt(tau_mol*tau_mol+(preFactor*PiNeqNorm))-tau_mol);rn
rnrnBest Regards,rnrnAlejandrorn