Fundamentals of Finite Volume Methods in CFD: Theory, Practice, and Implementation in Python
Course Introduction
Welcome to the Fundamentals of Finite Volume Methods in CFD: Theory, Practice, and Implementation with Python course. This introductory and foundational course is designed to provide a comprehensive understanding of Finite Volume Methods (FVM) and their application in Computational Fluid Dynamics (CFD). Using Python as a practical implementation tool, participants will learn the underlying theoretical principles, develop practical skills, and apply this knowledge to solve basic CFD problems. This course is aimed at graduate students in chemical engineering, researchers, and professionals who wish to build a solid foundation in CFD and FVM.
Course Objectives
- Understand the basic principles: Gain a solid understanding of the theoretical fundamentals of the Finite Volume Method.
- Application in CFD: Learn how FVM is applied in computational fluid dynamics to solve fundamental problems.
- Develop practical skills: Develop practical skills in using Python to implement and solve CFD problems.
- Theoretical foundations of CFD: Understand the essential theoretical concepts underpinning CFD, including governing equations and discretization techniques.
Prerequisites
To get the most out of this course, you should have a basic understanding of:
- Python programming
- Linear algebra
- Transport phenomena
- Fluid dynamics
We do not expect participants to be fully proficient in each of the topics mentioned above, only to have a basic understanding. The course notes will provide an introduction to programming principles with Python, a review of vector calculus, and, regarding engineering concepts, will primarily focus on understanding balance equations. Throughout the course notes, care will be taken to explain the underlying concepts.
Course Structure
The course is divided into the following modules:
- Basic Linux: An introduction to Linux, essential commands, and package management.
- Developer Tools: Setting up development environments, version control, and debugging techniques.
- Basic Python: Fundamental programming concepts in Python, including data types, functions, and error handling.
- Linear Algebra in Python: Exploration of linear algebra concepts and their implementation in Python.
- Finite Volume Method in CFD: Understanding FVM, its application in CFD, and its practical implementation using Python.
Tools and Resources
Participants should bring a laptop with “VirtualBox” installed, as a preconfigured Xubuntu operating system image with all necessary software will be provided.
We will also make available the course notes (this document), as well as presentations and practical activities created with JupyterLab.
Here is the translation:
Tools and Resources
Participants should bring a laptop with “VirtualBox” installed, as a preconfigured Xubuntu operating system image with all necessary software will be provided.
We will also make available the course notes (this document), as well as presentations and practical activities created with JupyterLab.
About the Instructor
The instructor for this course is Guillermo Ibarra, a member of the Open Multi-Physics group at the National Institute for Nuclear Research (ININ). One of our main tools is OpenFOAM, so this course serves several purposes. Firstly, it provides training to our collaborators on their path to mastering OpenFOAM. Secondly, the group’s goal is to promote the use of open-source tools like OpenFOAM. We recognize that open-source tools have a steeper learning curve, so to facilitate the learning process, we aim to make these resources available to everyone. By doing so, we hope to facilitate the adoption and effective use of these powerful tools in various research and engineering applications.
Contact Us
We invite you to get in touch with us if you have any suggestions for the course material, questions about the content, or if you are interested in contributing to our research group. We greatly value your feedback and participation as we strive to improve and expand our educational and research efforts.
Contact info: guillermoibarra@gmail.com