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 6 years, 8 months ago by mathias.
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 off-wall node/lattice in order to calculate the shear-stress at the wall. Once this value is calculated, using the quasi-analytical function of Musker (2007) for example, the first off-wall node/lattice velocity can be calculated using the same function of Musker (2007).rnrnThe velocity at the first off-wall node will allow to calculate the density using the method of Zou and He (1997) and the deviatoric stress (S) is calculated using the non-equilibrium 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 post-process 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 post-process 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 off-wall 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:rnCode:rnlbDynamicsHelpers<T,typename Lattice<T>::BaseDescriptor>::computeStress(cell1, rho1, u1, pi1);rn// cell1 corresponds to the first off-wall nodern// rho1 is the density at the first off-wall 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]rn
rnFinally, the distribution function population is calculated at the cell1 according to the regularized formula. rnrnOuterVelocityCornerProcessor2D:rnThe second off-wall 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 log-region (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 off-wall node) using the velocity of Musker formula, the density of Zou and He’s method and the off-equilibrium 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 large-eddy 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 #2409mathiasKeymaster
Dear 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
- You must be logged in to reply to this topic.