Advanced Research Computing for Computational Fluid Mechanics
Advanced Research Computing for Computational Fluid Dynamics, or ARC4CFD, is a 16-hour online, asynchronous course to help learners with a basic understanding of fluid dynamics and CFD bridge the knowledge gap towards the effective utilization of CFD on modern ARC resources.
Course structure
- Section 1: Foundational aspects of ARC (4 hours)
- Section 2: Leveraging HPC for large-scale CFD computations (9 hours)
- Section 3: Research data management for CFD (3 hours)
Target audience and prerequisites
- new graduate students in computational physics or engineering
- experimentalists and theoreticians complementing their work with numerical simulations on HPC
- undergraduate students on student design teams interested in leveraging CFD on HPC
The prerequisites for the course are listed here.
Learning outcomes
At the end of this course, the learner should be able to:
- Define the main concepts in parallel and high performance computing
- Conduct an a priori estimate of the computational cost of a CFD simulation
- Explain the impact of modelling assumptions on HPC cost
- Optimize simulation and parameters of a CFD problem for HPC
- Develop a research data management strategy for a CFD workflow
High-performance computing and Software
This course uses open-source CFD tools on modern high-performance computing systems. The course was specifically developed for use on the Digital Research Alliance of Canada HPC clusters but access to an HPC cluster is not essential for completing the course. The students can install the software and run the test cases on their local computer. The only requirement is to use a multi-core processor. The content of this course is also applicable for use on most modern Advanced Research Computing clusters. There will be slight differences in installation proceedures, specific command lines and visualization. Users on other HPC clusters are invited to reach out to their local help desk for assistance.
Computational Fluid Dynamic tools
This course is developed using the following open-source software. Although older versions can be used, the following minimal versions are suggested.
- GMsh (version above 4.XX ) The source code can be download and installed, binary releases of 4.13.1 require Windows ≥ 10, Linux with glibc ≥ 2.24, macOS (x86 - Intel processors) ≥ 10.15 or macOS (ARM - Apple M-series processors) ≥ 12
- OpenFoam (version above v1812, version v2306 was used herein) The source code can be downloaded and can be installed from source, although precompiled versions of v2406 are available for Linux (Ubuntu, Debian, OpenSUSE etc.), Mac (using Docker), and Windows (using Docker or natively installed on Windows 10)
- SU2 (version above 6.X.X, version 7.5.1 was used herein) The precompiled version 8.1.0 can be downloaded for Mac, Windows, and Linux. The source code can also be [downloaded and compiled from the git repo](git clone https://github.com/su2code/SU2.git).
Third-party contributions
ARC4CFD is a continually evolving course that will be updated and aligned with Compute Ontario’s Summer School. The authors invite users to download and clone the repository in order to use and modify the teaching material. If you are interested to contribute to this course and have ideas on improvements, please contact us.
Citation
Please cite our manuscript “ARC4CFD: Learning how to leverage High-Performance Computing with Computational Fluid Dynamics”, Hickey et al. (under review).
Acknowledgments
This course was developed in the Multi-Physics Interaction Lab at the University of Waterloo, Canada with the financial support of Compute Ontario.
For comments and suggestions, please contact us.