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
pyCALC-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
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 using IDDES runs 70 times faster on the GPU than on the CPU on a 2.3M grid. It
is mainly a research code with which only simple geometries can be
handled (one-block structured curvi-linear grids in the x-y plane and Cartesian in the z direction)
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.
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 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.
- DNS at Reτ = 500 of fully developed channel flow.
Periodic boundary conditions in streamwise and
spanwise directions.
Instantaneous w' fluctuations at y+=9
- k-omega DES of the hill flow. Periodic boundary conditions in streamwise and
spanwise directions.
Instantaneous spanwise fluctuation
- 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)
- k-eps IDDES with wall functions of the diffuser flow.
- 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)
- 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)
- 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)
- Hump flow, Re=9.36E+5)
The grid (every 8th grid line is shown)
Predicted skin friction. Markers: expts
- 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.
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
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, 13.00-21.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, 13.00-21.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, 13.00-21.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 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
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
- 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.
- L. Davidson, Large eddy simulations: how to evaluate resolution. International Journal of Heat and Fluid Flow, 30(5):1016-1025, 2009.
- L. Davidson, The PANS k-ε model in a zonal hybrid RANS-LES formulation. International Journal of Heat and Fluid Flow, 46:112-126, 2014.
- L. Davidson, Zonal PANS: evaluation of different treatments of the RANS-LES interface. Journal of Turbulence, 17(3):274-307, 2016.
- 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.
- 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.
- L. Davidson, Using isotropic synthetic fluctuations as inlet boundary conditions for unsteady simulations. Advances and Applications in Fluid Mechanics, 1(1):1-35, 2007.
- L. Davidson and S.-H. Peng, Embedded large-eddy simulation using the partially averaged Navier-Stokes model. AIAA Journal, 51(5):1066-1079, 2013.
- 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.
- B. Nebenfuhr, L. Davidson, Large-Eddy Simulation Study of Thermally Stratified Canopy Flow, Boundary-Layer Meteorology, Vol. 156, number 2 , pp. 253-276, 2015
- 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.
- 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
- 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
- L. Davidson, inlet boundary conditions.
- 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.
- L.M. Olson abd J.B. Schroder, PyAMG: Algebraic Multigrid Solvers in Python v4.0,
Release 4.0, 2018
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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, Editors: J. C. Tyacke and N. R. Vadlamani, 2024 (to appear)
View presentation
View PDF file
Proceedings
Download code
|