Implementation of Wall Function for Turbulent Flows – Doubts
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Implementation of Wall Function for Turbulent Flows – Doubts
 This topic has 1 reply, 2 voices, and was last updated 7 years, 10 months ago by mathias.

AuthorPosts

June 21, 2016 at 6:49 am #1839Alejandro_ClaroMember
Hello everyone,rnrnI have been tried, during the last 2 weeks, to implement a wall function in a turbulent channel flow in 2D without success. I have based my algorithm in the paper of Malaspinas and Sagaut (2014). rnrnThey propose to use the second offwall node/lattice in order to calculate the shearstress at the wall. Once this value is calculated, using the quasianalytical function of Musker (2007) for example, the first offwall node/lattice velocity can be calculated using the same function of Musker (2007).rnrnThe velocity at the first offwall node will allow to calculate the density using the method of Zou and He (1997) and the deviatoric stress (S) is calculated using the nonequilibrium distribution function f¹. Once all these quantities are known, the population reconstruction is made using the regularized formula.rnrnI have tried to implement this procedure in the postprocess step. I used the StraightFdBoundaryProcessor2D and OuterVelocityCornerProcessor2D classes as the reference for my case. I have created a new createInterBoundaryCondition2D method in order to call my postprocess step at the boundary nodes of interest. rnrnStraightFdBoundaryProcessor2D:rnThe algorithm that I implemented is able to calculate the velocity in the boundary node (i.e. the first offwall node) using the function of Musker (2007). Also, the density have been implemented using the method of Zou and He. The deviatoric stress have been calculated by:rn
Code:rnlbDynamicsHelpers<T,typename Lattice<T>::BaseDescriptor>::computeStress(cell1, rho1, u1, pi1);rn// cell1 corresponds to the first offwall nodern// rho1 is the density at the first offwall node according to the method of Zou and He and u1rn// u1 is the velocity obtained using the function of Musker (2007)rn// pi1 is an array defined as: T pi1[util::TensorVal< Lattice<T> >::n]rnrnFinally, the distribution function population is calculated at the cell1 according to the regularized formula. rnrnOuterVelocityCornerProcessor2D:rnThe second offwall node/lattice is chosen to be the fluid node, this have been made manually (I known where is the fluid node), at the inlet or outlet. Then, the velocity is calculated with Musker (2007) formula. The density have been extrapolated the same way as in OuterVelocityCornerProcessor2D. The deviatoric stress (S) is calculated as in StraightFdBoundaryProcessor2D. The populations are reconstructed using the regularized formula.rnrnI have tried the code for a Reynolds number of 10 000 with water at 20°C as the fluid of reference. I calculated the wall distance in order to be at the logregion (y⁺ > 30). The test case is a 0.2 x 1.0 m rectangular channel. I am using the consistent Smagorinsky BGK model (ConStrainSmagorinskyBGKdynamics)rnrnThe coded algorithm diverges the simulation, I get “”nan”” values for the density after a hundred of simulations.rnrnSorry if the “”introduction”” for my problem have been so long. Here the questions I have about the implementation:rnrn1. Is it correct to calculated the deviatoric stress at the boundary node (i.e. first offwall node) using the velocity of Musker formula, the density of Zou and He’s method and the offequilibrium distribution function f¹? The distribution function f¹ is defined as f – f⁰. However, the actual distribution f is not well known because it is a node at the boundary (it exists some unknown distributions). rnrn2. Should I better reconstruct the distribution function f at the boundary using the Zou and He’s procedure ? I know the velocity at the boundary because it is calculated by the Musker formula. rnrn3. I tried to implement the Zou and He method for the flat wall and the regularized formula at the corner nodes, but the simulation diverges faster that using the regularized formula in both boundary nodes. Should the Zou and He condition be implemented in both boundary nodes?rnrn4. I realized that all the 2D boundary conditions implemented at OpenLB deal with corners using the class OuterVelocityCornerProcessor2D. The Zou and He procedure is not ideal for this kind of boundary? Or, could I implemented the Zou and He method taking into account the “”burried links””?rnrnBest regards,rnrnAlejandro rnrnPD : rnMalaspinas and Sagaut (2014): Wall model for largeeddy simulation based on the Boltzmann method.rnMusker (2007) Explicit expression for the smooth wall velocity distribution in a turbulent boundary layer.rnZou and He (1997) On pressure and velocity boundary conditions for the lattice Boltzmann BGK model.
July 20, 2016 at 10:16 am #2409mathiasKeymasterDear Alejandro,rnrn There are several issues to be discussed for that topic. Further, we will have a spring school in March 2017 for LBM and OpenLB, where we can help to get started. Please contact me to proceed.rnrnBestrnMathias

AuthorPosts
 You must be logged in to reply to this topic.