LES
&
DES and
Machine Learning
3 day
ONLiNE COURSE
SWEDEN
 
1, 3, 5 July 2024


Large-Eddy Simulation &
Detached-Eddy Simulations and
Machine Learning using a Python CFD code

The traditional method for CFD in industry and universities is Reynolds-Averaged Navier-Stokes (RANS). It is a fast method and mostly rather accurate. However, in flows involving large separation regions, wakes and transition it is inaccurate. The reason is that all turbulence is modeled with a turbulence model. For predicting aeroacoustic, RANS is even more unreliable. For these flow, Large-Eddy Simulation (LES) and Detached-Eddy Simulations (DES) is a suitable option although it is much more expensive. Still, in many industries (automotive, aerospace, gas turbines, nuclear reactors, wind power) DES is used as an alternative to RANS. In universities, extensive research has been carried out during the last decade(s) on LES and DES.
 
Unfortunately, most engineers and many researchers have limited knowledge of what a LES/DES CFD code is doing. The object of this on-line course is to close that knowledge gap. During the course, the participants will learn and work with an in-house LES/DES code called arrowpyCALC-LES, written by the lecturer. It is a finite volume CFD code written in Python. The numerical procedure is based on an implicit, fractional step technique with pyamg [17] -- an AMG multigrid pressure Poisson solver -- and a non-staggered grid arrangement. If your computer has a compatible Nvidia graphics card, you can choose so solve the on the graphics card using pyamgx [17]
The last day of the course will be dedicated to Machine Learning. Support Vector Regression, SVR (available in Python), will be used for developing new wall functions [20,21] and optimizing coefficient in arrow turbulence models. In the workshop the participants will be guided on how to use the Python package SVR.
The Python CFD code is fully vectorized. It is reasonably fast. The user can choose to run fully on the CPU or the GPU or use the GPU only when solving the equation system (the sparse matrix solver). On an eight million mesh, pyCALC-LES runs 40 times faster on the GPU than on the CPU.

Below I list some of the flows that have been computed using pyCALC-LES (see some figures below):

  • Diffuser flow using a wall-function based on Neural Network. IDDES is used and the predicted skin-friction is compared with IDDES with y+ 1. Mesh 525x70x48. 10 000 time steps. The computation time is 8 hours (it runs fully on the GPU).
  • Windtunnel flow with a noise reducing fairing, Uin=16m/s (air). LES, WALE model. Domain 1X0.25X0.25 m3. 7500 timesteps (3 750 to reach fully-developed conditions + 3 750 for time-averaging). Mesh 256x200x200 (10M cells). The computation time (pressure equation is solved on the GPU) on an Alienware x17 R1 laptop is 40 hours.

  • Channel flow. x+=65, z+=16 (domain 6.4 x 2 1.6). LES (Reτ=2000) using a 196x196x196 mesh. 7 500 timesteps (3 750 to reach fully-developed conditions + 3 750 for time-averaging). The solution time (both the pressure and the momentum equations are solved on the GPU) on a PC with a graphics card with large 16 GB memory is 21 hours (more than four times faster than on the CPU).

  • Channel flow. x+=17, z+=8. DNS (Reτ=500) using a 96x96x96 mesh. 20 000 timesteps (10 000 to reach fully-developed conditions + 10 000 for time-averaging). The CPU time on a PC is 11 hours. It's more than twice as fast when solving all equations on the GPU.

  • Channel flow. DES ((Reτ=5200) with a k-omega-DES model using a 32x96x32 mesh. 15000 timestep (7 500 + 7 500). The CPU time is 1.1 hours on an Alienware x17 R1 laptop.

  • Periodic hill flow. DES (Re=10500) wtth a k-omega-DES model using a 160x80x32 mesh. 20000 timestep (10000 + 10000). The CPU time on a PC is 8 hours.

  • Channel flow with inlet and oulet. Δx+=40, Δz+=20. LES (Reτ=395) using a 96x96x32 mesh. 20 000 timesteps (10 000 to reach fully-developed conditions + 10 000 for time-averaging). Anisotropic synthetic fluctuations [7,9] are prescribed at the inlet. The WALE model is used. The CPU time on a PC is 8 hours

  • Flat-plate boundary layer. Δx+=104, Δz+=30. Reθ,inlet;=2 400. k-eps IDDES using a 700x105x128 mesh. 3 750 timesteps (3 750 to reach fully-developed condition + 3 750 for time-averaging). Anisotropic synthetic fluctuations are prescribed at the inlet. The efficient AMGX sparse-matrix solver (pyamgx) is employed for all variables using the GPU. The CPU time on a PC is 62 hours

  • Channel flow with inlet and oulet. x+=400, z+=200. LES (Reτ=5200) using a 96x96x32 mesh. 15 000 timesteps (7500 to reach fully-developed conditions + 7500 for time-averaging). Anisotropic synthetic fluctuations [7,9] are prescribed at the inlet. The k-omega DES model is used. The CPU time on a PC is 13 hours

  • Hump flow using a 582x128x32 mesh. Re=9.36E+5. 7 500 timesteps (3 750 to reach fully-developed conditions + 3 750 for time-averaging). Anisotropic synthetic fluctuations [7,9] are prescribed at the inlet. The k-omega DES model is used. The CPU time on a PC is 39 hours (pressure is solved on the GPU)

  • Couette-Poiseuille flow. x+=14, z+=7. DNS (ReΔU2h=40000) using a 288x240x288 mesh. 15 000 timesteps (7500 to reach fully-developed conditions + 7500 for time-averaging). All eqyations are solved on the GPU (GeForce RTX 3090). The CPU time on a PC is 63 hours





THE ON-LINE COURSE

The course includes lectures (12 hours) and workshops (12 hours) learning and using pyCALC-LES. The course is given 1, 3, 5 July 2024.
 
The lectures will be given on-line (Live) using Zoom. During the workshops, the participants will get supervision in a joint Zoom room which will enable participants to learn from each others questions. Part of the supervision may also be given in individual break-out Zoom rooms.
 
arrow Zoom
 
In the lectures we will address:
  • finite volume discretization
  • Smagorinsky model
  • WALE model
  • the k-eps DES model
  • two-equation PANS model (k and epsilon)
  • wall and periodic boundary conditions
  • how to prescribe turbulent inlet boundary conditions
  • how to generate inlet anisotropic synthetic turbulent fluctuations
  • Machine Learning
    • Use Support Vector Regression (SVR) for improving wall functions [20,21] and arrow turbulence models
    • Import the developed SVR model into pyCALC-LES
    • Carry out simulations with pyCALC-LES using the improved models

 
In the workshops, the participants will use pyCALC-LES.
The participants will get the pyCALC-LES source CFD code and install it on their lap-top or desk-top. The following Python packages are used
  • Python 3.8
  • from scipy import sparse
  • import numpy as np
  • import pyamg
  • from scipy.sparse import spdiags,linalg

    Some results are shown below obtained with pyCALC-LES.

    1. DNS at Reτ = 500 of fully developed channel flow. Periodic boundary conditions in streamwise and spanwise directions.
       





      Instantaneous w' fluctuations at y+=9


    2. k-omega DES of the hill flow. Periodic boundary conditions in streamwise and spanwise directions.
       
       

      Instantaneous spanwise fluctuation


    3. k-omega DES of the channel flow at Reτ = 5200. Periodic boundary conditions in streamwise and spanwise directions.
       
       

      Resolved (blue) and modeled (red) shear stresses compared with DNS (markers)


    4. k-eps IDDES with wall functions of the diffuser flow.
    5. WALE Channel flow with inlet-outlet Reτ = 395. Periodic boundary conditions in spanwise direction.
       
       

      Predicted friction velocity vs. x. Target value is one



      Shear stresses compared with fully developed DES and inlet synthetic fluctuations (markers)


    6. k-omega DES Channel flow with inlet-outlet Reτ = 5200. Periodic boundary conditions in spanwise direction.
       
       

      Predicted friction velocity vs. x. Target value is one



      Shear stresses compared with DNS and synthetic inlet fluctuations (markers)


    7. Flat-plate boundary layer. Δx+=40, Δz+=104. LES (Reθ,inlet;=2 400)
       
       

      Predicted skin friction vs. Reθ. Markers: expts



      Shear stresses compared with DNS and inlet synthetic fluctuations (markers)


    8. Hump flow, Re=9.36E+5)
       
       

      The grid (every 8th grid line is shown)



      Predicted skin friction. Markers: expts


    9. Couette-Poiseuille flow, DNS (ReΔU2h=40000)
       
       

      Velocity






    OBJECT

    The object is that the participants should learn how a CFD code for LES/DES works. It will give them increased knowledge, confidence and know-how when using commercial CFD codes.



    PARTiCiPANTS

    The participants are expected to hold a MSC degree or PhD degree related to fluid mechanics. They are expected to have at least a basic knowledge in LES and DES. Programming skills in Pythons is recommended. The course is expected to be valuable also for researchers with extensive knowledge in LES and/or DES. The participants may continue to use pyCALC-LES after the course, in their daily work and/or research. Participant who are reasonable good at programming can rather easy convert the Python CFD code to their favorite language (C, C++, Fortan95).



    LECTURER

    The lecturer at the course (both during lectures and workshops) will be Prof. Lars Davidson, Chalmers University of Technology.
     
    arrow homepage


    COURSE MATERiAL





    COURSE LANGUAGE

    The course material is in English and the lectures will be given in English.



    DATE & LOCATiON

    The course will be held 1, 3, 5 July 2024 online at Zoom
    arrow Zoom

     



    REGiSTRATiON

    Registration form should be submitted no later than June 7, 2024. The price is 16,300 SEK (excl. VAT). No refunding after June 9. The number of participants is limited to 16.
     
    registration form


    PROGRAM

    DAY 1, Monday, 7 hours, 11.00-19.00, Swedish time

    • General structure of pyCALC-LES
    • Discretization in pyCALC-LES
    • Compute geometrical quantities
    • Studying Test Case 1 (channel flow)
    • Studying Test Case 2 (atmospheric boundary layer)
    • WORKSHOP
      • Fully-developed channel flow simulations using PANS
      • Channel flow simulations with inlet-outlet using PANS
      • Investigation of different synthetic fluctuating inlet fluctuations. For example, change the prescribed integral length scale, the integral time scale, the anisotropy ...

    Tueday (no teaching). Participants can work on pyCALC-LES

    DAY 2, Wednesday, 7 hours, 11.00-19.00, Swedish time

    • Implicit Rhie-Chow interpolation in pyCALC-LES
    • Implementation of Zero equation models
    • Implementation of the PANS model in pyCALC-LES
    • Studying Test Case 'hump flow'
    • WORKSHOP
      • Implementing a one-equation hybrid LES-RANS model
      • Implementing a DES model (k-eps and/or k-omega)
      • Implementing a DDES model (k-eps and/or k-omega)
      • Implementing a IDDES model (k-eps and/or k-omega)

    Thursday (no teaching). Participants can work on pyCALC-LES

    DAY 3, Friday, 7 hours, 11.00-19.00, Swedish time

    • How to implement a new turbulence model in pyCALC-LES
    • How to generate anisotropic turbulent fluctuations in pyCALC-LES
    • How to write Machine Learning scripts in Python using SVR for improving wall functions [20,21] and arrow turbulence models
    • How to export and import SVR models
    • Pre-cursor RANS (using a 1D solver written in Python) as input to synthetic turbulence generator
    • WORKSHOP, see Section workshop in the report on pyCALC-LES
      • Implement an IDDES model (k-eps and/or k-omega)
      • Implement the SAS model (k-omega)
      • Write Machine Learning scripts in Python using SVR for improving wall functions [20,21] and arrow turbulence models
      • Export SVR model; import them into pyCALC-LES
      • Make CFD simulations with pyCALC-LES using Machine-Learning-improved turbulence models

    Above, we give examples on what turbulence models and Machine Learning rotuines to implement in the workshops. Participants may of course propose to implement other turbulence models and Machine Learning rotuines.


    QUESTiONS & FURTHER iNFORMATiON

    Please contact
     
    • Lars Davidson
    • tel. +46 (0) 730-791 161
    • E-mail: lada@flowsim.se, lada@chalmers.se

     



    REFERENCES

    1. P. Emvin, The Full Multigrid Method Applied to Turbulent Flow in Ventilated Enclosures Using Structured and Unstructured Grids. PhD thesis, Dept. of Thermo and Fluid Dynamics, Chalmers University of Technology, Göteborg, 1997.

    2. L. Davidson, Large eddy simulations: how to evaluate resolution. International Journal of Heat and Fluid Flow, 30(5):1016-1025, 2009.
    3. L. Davidson, The PANS k-ε model in a zonal hybrid RANS-LES formulation. International Journal of Heat and Fluid Flow, 46:112-126, 2014.

    4. L. Davidson, Zonal PANS: evaluation of different treatments of the RANS-LES interface. Journal of Turbulence, 17(3):274-307, 2016.

    5. A. Altintas and L. Davidson, Direct numerical simulation analysis of spanwise oscillating lorentz force in turbulent channel flow at low Reynolds number. Acta Mechanica, pages 1-18, 2016.

    6. J. Ma, S.-H. Peng, L. Davidson, and F. Wang, A low Reynolds number variant of Partially-Averaged Navier-Stokes model for turbulence. International Journal of Heat and Fluid Flow, 32(3):652-669, 2011.10.1016/j.ijheatfluidflow.2011.02.001.

    7. L. Davidson, Using isotropic synthetic fluctuations as inlet boundary conditions for unsteady simulations. Advances and Applications in Fluid Mechanics, 1(1):1-35, 2007.

    8. L. Davidson and S.-H. Peng, Embedded large-eddy simulation using the partially averaged Navier-Stokes model. AIAA Journal, 51(5):1066-1079, 2013.

    9. L. Davidson, Two-equation hybrid RANS-LES models: A novel way to treat k and ω at inlets and at embedded interfaces. Journal of Turbulence, 18(4):291-315, 2017.

    10. B. Nebenfuhr, L. Davidson, Large-Eddy Simulation Study of Thermally Stratified Canopy Flow, Boundary-Layer Meteorology, Vol. 156, number 2 , pp. 253-276, 2015

    11. B. Nebenfuhr, L. Davidson, Prediction of wind-turbine fatigue loads in forest regions based on turbulent LES inflow fields, Volume 20, Issue 6 pp. 1003-1015, Wind Energy, 2017.

    12. L. Davidson and C. Friess, The PANS and PITM model: a new formulation of f_k, Proceedings of 12th International ERCOFTAC Symposium on Engineering Turbulence Modelling and Measurements (ETMM12), Montpelier, France 26-28 September, 2018

    13. L. Davidson, Zonal Detached Eddy Simulation coupled with steady RANS in the wall region, ECCOMAS MSF 2019 Thematic Conference, 18-20 September 2019, Sarajevo, Bosnia-Herzegovina

    14. L. Davidson, inlet boundary conditions.

    15. L. Davidson, "Non-Zonal Detached Eddy Simulation coupled with a steady RANS solver in the wall region", ERCOFTAC Bullentin 120, Special Issue on Current trends in RANS-based scale-resolving simulation methods, pp 43-48, 2019.

    16. L.M. Olson abd J.B. Schroder, PyAMG: Algebraic Multigrid Solvers in Python v4.0, Release 4.0, 2018

    17. L. Davidson and Ch. Friess, "Detached Eddy Simulations: Analysis of a limit on the dissipation term for reducing spectral energy transfer at cut-off", ETMM13: The 13th International ERCOFTAC symposium on engineering, turbulence, modelling Rhodes, Greece, 15-17 September, 2021
      View PDF file

    18. L. Davidson
      "Detached Eddy Simulation coupled with steady RANS in the wall region", ETMM13: The 13th International ERCOFTAC symposium on engineering, turbulence, modelling Rhodes, Greece, 15-17 September, 2021
      View PDF file
       
    19. L. Davidson,
      "Non-Zonal Detached Eddy Simulation coupled with a steady RANS solver in the wall region", International Journal of Heat and Fluid Flow, Vol.92, 108880, 2021
      Get article at publisher

    20. L. Davidson
      "Using Machine Learning for formulating new wall functions for Large Eddy Simulation: A First Attempt", Div. of Fluid Dynamics, Mechanics and Maritime Sciences, Chalmers University of Technology, 2022.
      View PDF file
       
    21. L. Davidson
      "Using Machine Learning for formulating new wall functions for Large Eddy Simulation: A Second Attempt", Div. of Fluid Dynamics, Mechanics and Maritime Sciences, Chalmers University of Technology, 2022.
      View PDF file
       
    22. L. Davidson
      "pyCALC-LES: A Python Code for DNS, LES and Hybrid LES-RANS" Div. of Fluid Dynamics, Mechanics and Maritime Sciences, Chalmers University of Technology, 2022.
      view PDF file
    23. L. Davidson
      "Using Machine Learning for formulating new wall functions for Detached Eddy Simulation", ERCOFTAC symposium on Engineering, Turbulence, Modelling and Measurements (ETMM14), in Mini-Symposium: Machine learning for turbulence, Barcelona, Spain 6th - 8th September 2023; Chalmers University of Technology, 2022.
      View PDF file
       
    24. L. Davidson
      "Using Machine Learning for Improving a Non-Linear k-eps Model: A First Attempt", Div. of Fluid Dynamics, Mechanics and Maritime Sciences, Chalmers University of Technology, 2023.
      View PDF file
       
    25. L. Davidson
      "Using Neural Network for Improving an Explicit Algebraic Stress Model in 2D Flow", CUSF 2024, Proceedings of the Cambridge Unsteady Flow Symposium", Springer Nature Switzerland AG, Editors: J. C. Tyacke and N. R. Vadlamani, 2024 (to appear)
      View presentation