We may earn an affiliate commission when you visit our partners.
Course image
Dr Aidan Wimshurst

An introduction to the fundamentals of Computational Fluid Dynamics (CFD) that are used to solve complex fluid dynamics problems (weather prediction, aircraft flight, turbomachinery) by researchers, scientists and engineers around the world. The course starts from first principles and you will rapidly develop your first CFD solution using the Excel sheets and Python source code provided. By the end of the course, you will understand the importance of upwind differencing, Peclet number and mesh resolution. No prior experience is required and no specific CFD code/coding experience is required. You do not need ANSYS Fluent, OpenFOAM, Star CCM or any other CFD to use this course.

Enroll now

What's inside

Learning objectives

  • The fundamentals of computational fluid dynamics (cfd) that are used by engineers, scientists and researchers
  • How to set up and solve your first cfd solution from first principles (using excel, python or matlab)
  • The importance of central differencing, upwind differencing and peclet number
  • A common framework to solve any scalar transport equation in cfd

Syllabus

Understand how the course is structured and how to best follow along with the material.

A short introduction to the course, with instructions on how to best follow along with the course material.

Read more

A quick note on the course updates and version control.

The course starts off with an introduction to the Navier-Stokes equations, which are derived from Newton's second law. The general form of transport equations for temperature, species concentration and passive scalars are then introduced. It is shown that all transport equations in CFD share a common form and can all be analysed with the same framework used in this course.

The finite volume discretisation of the 1D diffusion equation is introduced in this Lecture, for both interior and boundary cells. The finite volume equations are then assembled in matrix form (AX=B) and solved.

The finite volume discretisation of the diffusion equation from the precious lecture is extended to include the convection term. The relative strength of the convective and diffusive transport mechanisms are compared using the Peclet number. High and low Peclet number solutions are generated with central differencing and it is shown that central differencing leads to non-physical oscillations at high Peclet number.

Upwind differencing for the convection term is introduced in this Lecture and is compared with central differencing from the previous Lecture. It is shown that upwind differencing eliminates the non-physical oscillations that are generated by central differencing. However, it also leads to a reduction in accuracy as the scheme is only first order accurate.

Test your knowledge of the concepts introduced in this course with this quiz!

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a foundational understanding of CFD, which is essential for solving complex fluid dynamics problems in various fields such as weather prediction and aircraft flight
Starts from first principles and rapidly develops a CFD solution using accessible tools like Excel and Python, making it suitable for learners without specific coding expertise
Explores the importance of upwind differencing, Peclet number, and mesh resolution, which are key concepts in numerical methods for solving partial differential equations
Teaches how to set up and solve CFD solutions from first principles using common tools like Excel, Python, or MATLAB, offering hands-on experience
Does not require specific CFD software like ANSYS Fluent or OpenFOAM, making it accessible to learners without access to specialized commercial software
Focuses on the finite volume method for discretizing diffusion and convection terms, which is a widely used technique in CFD for solving transport equations

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Computational fluid dynamics fundamentals overview

According to learners, this course provides a solid foundation in Computational Fluid Dynamics fundamentals, starting with clear explanations and an accessible approach from first principles. Many found the provided code examples in Excel and Python useful for practical understanding. However, some reviewers felt the course leans heavily on fundamental theory and could benefit from more focus on practical software application or complex problem-solving relevant to industry. A few reviewers also noted that despite the claim of needing no prior experience, the course might be difficult to follow without a strong existing math or physics background.
Useful Excel and Python files included.
"The use of Excel and Python for the first solution was practical and easy to follow."
"The code examples were useful for seeing the theory in practice."
"The provided Excel and Python files were invaluable for hands-on learning."
Provides a solid grasp of CFD basics.
"This course provided a fantastic introduction to CFD. Starting with first principles made it very accessible..."
"A solid fundamentals course. It covers the key concepts well, especially the finite volume method..."
"Excellent course! The lectures were clear and the progression from simple diffusion to convection... was logical."
"Good introduction to the core ideas of CFD. Finite volume explanation was good."
Can be challenging without background.
"Found it difficult to follow at times. While it starts from first principles, the jump to discretisation and matrix assembly felt a bit rushed."
"Not sure if 'no prior experience' is entirely accurate unless you have a strong math/physics background."
Focuses on theory, less on software use.
"The course explains the theory well, but it feels very academic. I was hoping for more guidance on using actual CFD software..."
"...wish there were more complex examples or a bit more on practical setup for real-world problems..."
"Don't expect to be a CFD expert or fluent in any software after this, but you'll understand the underlying principles."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Computational Fluid Dynamics Fundamentals Course with these activities:
Review Calculus Fundamentals
Strengthen your understanding of calculus, especially differential equations, as CFD relies heavily on these mathematical concepts.
Show steps
  • Review differentiation and integration techniques.
  • Practice solving ordinary differential equations.
  • Familiarize yourself with partial differential equations.
Read 'An Introduction to Computational Fluid Dynamics: The Finite Volume Method' by Versteeg and Malalasekera
Gain a deeper understanding of the finite volume method, a crucial technique in CFD, by studying this comprehensive book.
Show steps
  • Obtain a copy of the book.
  • Read the chapters on finite volume discretization.
  • Work through the example problems.
Solve Discretization Problems
Reinforce your understanding of discretization methods by working through practice problems related to finite volume discretization of diffusion and convection terms.
Show steps
  • Find practice problems on finite volume discretization.
  • Solve the problems by hand.
  • Compare your solutions with the provided answers.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Review 'Numerical Computation of Internal and External Flows' by Charles Hirsch
Deepen your understanding of numerical methods for fluid flow by studying this advanced text.
Show steps
  • Obtain a copy of the book.
  • Focus on chapters related to discretization schemes.
  • Compare the methods discussed with those in the course.
Create a Presentation on Upwind Differencing
Solidify your understanding of upwind differencing by creating a presentation explaining its advantages, disadvantages, and applications in CFD.
Show steps
  • Research upwind differencing in detail.
  • Prepare slides explaining the concept and its effects.
  • Present the material to a peer or record a video.
Implement a 1D Heat Conduction Solver
Apply your knowledge by developing a simple CFD solver for 1D heat conduction using the finite volume method in Python or MATLAB.
Show steps
  • Set up the 1D heat conduction equation.
  • Discretize the equation using the finite volume method.
  • Implement the solver in Python or MATLAB.
  • Test the solver with different boundary conditions.
Contribute to an Open Source CFD Project
Enhance your skills by contributing to an open-source CFD project, such as OpenFOAM, by fixing bugs, writing documentation, or implementing new features.
Show steps
  • Explore open-source CFD projects like OpenFOAM.
  • Identify a bug or feature to work on.
  • Contribute your code or documentation to the project.

Career center

Learners who complete Computational Fluid Dynamics Fundamentals Course will develop knowledge and skills that may be useful to these careers:
CFD Engineer
A CFD Engineer utilizes computational fluid dynamics software to model and simulate fluid flow, heat transfer, and related phenomena. This course helps CFD Engineers build a foundation in the fundamental principles of CFD, covering topics such as finite volume methods, discretization schemes, and the analysis of transport equations. The course's emphasis on practical application, using tools like Excel and Python to solve CFD problems, is especially valuable for a CFD Engineer. Understanding upwind differencing and Peclet number, as taught in the course, is crucial for generating accurate and stable CFD solutions. This course may enable engineers to refine their skills and apply them to real-world fluid dynamics challenges. The exploration of discretization methods, combined with the practical coding exercises in Python, prepares learners to tackle complex simulations in their role as a CFD Engineer.
Aerospace Engineer
Aerospace Engineers design, develop, and test aircraft and spacecraft. This course may provide a solid foundation in CFD, which is essential for analyzing aerodynamic performance, simulating airflow around aircraft, and optimizing designs for efficiency. The course's focus on solving transport equations and understanding discretization methods helps Aerospace Engineers develop accurate and reliable CFD models. Understanding the importance of upwind differencing and Peclet number may be particularly relevant when analyzing high-speed flows and shock waves. By gaining a deeper understanding of the underlying principles of CFD, an Aerospace Engineer can improve the accuracy and reliability of their simulations, ultimately leading to better designs and more efficient aircraft. The hands-on exercises using Excel and Python may also be beneficial for developing custom CFD tools and workflows.
Simulation Engineer
Simulation Engineers develop and use computer simulations to model and analyze physical systems. This course may provide a strong foundation in CFD, which is an essential tool for simulating fluid flow and heat transfer in a variety of applications. The course's coverage of finite volume methods, discretization schemes, and transport equations helps Simulation Engineers develop accurate and reliable CFD models. The hands-on exercises using Excel and Python may also enable them to customize their simulations and analyze complex flow problems. This course may empower a Simulation Engineer to perform simulations in their discipline, no matter what it may be.
Mechanical Engineer
Mechanical Engineers design, develop, and test mechanical devices and systems. This course may provide a valuable introduction to CFD, which is used extensively in mechanical engineering for analyzing heat transfer, fluid flow in pipes and ducts, and the performance of pumps and turbines. The course's emphasis on practical application, using tools like Excel and Python to solve CFD problems, may be particularly helpful for Mechanical Engineers who need to perform simulations as part of their work. Understanding upwind differencing and Peclet number, as taught in the course, may be crucial for generating accurate and stable CFD solutions. The understanding of discretization methods and transport equations may help Mechanical Engineers improve their designs and optimize the performance of their systems.
Fluid Dynamics Consultant
Fluid Dynamics Consultants advise clients on how to solve fluid flow and heat transfer problems using CFD and other simulation techniques. A proper understanding of the fundamentals is critical. This course helps these consultants solidify their understanding of CFD principles, including discretization methods and the analysis of transport equations. The course's hands-on approach, using Excel and Python to solve practical problems, helps consultants develop the skills to tackle real-world challenges. Understanding issues like upwind differencing is also helpful. Fluid Dynamics Consultants will be able to leverage the skills from the course to provide effective solutions and guidance to their clients, enabling them to make informed decisions based on robust simulations.
Automotive Engineer
Automotive Engineers design, develop, and test vehicles and their components. This course may provide a valuable introduction to CFD, which is used in automotive engineering for analyzing aerodynamic performance, simulating airflow around vehicles, and optimizing designs for fuel efficiency and handling. The course's emphasis on practical application, using tools like Excel and Python, will be particularly helpful for Automotive Engineers who need to perform simulations as part of their work. Understanding upwind differencing and Peclet number, as taught in the course, may be crucial for generating accurate and stable CFD solutions, especially for high-speed flows around vehicles. This provides an excellent opportunity for Automotive Engineers.
Research Scientist
Research Scientists conduct research to advance scientific knowledge. This course may provide a strong foundation in CFD, which is a valuable tool for simulating and analyzing fluid dynamics phenomena in a wide range of research areas. The course's coverage of transport equations, discretization methods, and upwind differencing helps Research Scientists develop and validate their CFD models. The practical exercises using Excel and Python may also enable them to implement custom CFD solvers and analyze complex flow problems. A Research Scientist can benefit from understanding the nuances of CFD solvers. This course sets a useful pace for the learner.
Weather Forecaster
Weather Forecasters analyze atmospheric data and use computer models to predict future weather conditions. This course may provide a valuable introduction to the fundamental principles of CFD, which are used in weather forecasting models to simulate atmospheric flow and predict weather patterns. The course's coverage of transport equations, discretization methods, and upwind differencing helps Weather Forecasters understand the underlying principles of these models and interpret their results. This is important for one who wishes to build a career as a Weather Forecaster. By understanding the limitations of weather forecasting, Weather Forecasters can better inform the public of pending weather conditions.
HVAC Engineer
HVAC Engineers design, develop, and maintain heating, ventilation, and air conditioning systems. This course may be useful as a foundation for understanding CFD, which is used in HVAC engineering for simulating airflow and heat transfer in buildings and designing efficient HVAC systems. The course's coverage of finite volume methods, discretization schemes, and transport equations helps HVAC Engineers develop and analyze their CFD models. The hands-on exercises using Excel and Python may also enable them to optimize their designs and improve the energy efficiency of buildings. Taking this course allows an HVAC Engineer to understand the importance of CFD.
Biomedical Engineer
Biomedical Engineers apply engineering principles to solve problems in medicine and biology. This course may provide a valuable introduction to CFD, which can be used in biomedical engineering for simulating blood flow in the cardiovascular system, analyzing drug delivery mechanisms, and designing medical devices. The course's coverage of transport equations, discretization methods, and upwind differencing helps Biomedical Engineers develop and validate their CFD models. The practical exercises using Excel and Python may also enable them to analyze complex biological systems and design innovative medical solutions. A Biomedical Engineer may find this course useful for understanding blood flow in the cardiovascular system.
Environmental Engineer
Environmental Engineers develop solutions to environmental problems, such as air and water pollution. This course may provide a useful foundation in CFD, which can be applied to model the transport and dispersion of pollutants in the environment. The course's coverage of transport equations and discretization methods helps Environmental Engineers understand how pollutants are transported and dispersed in air and water. The practical exercises using Excel and Python may also enable them to analyze environmental data and develop effective pollution control strategies. An Environmental Engineer may find this course useful in their understanding of pollution dispersion.
Nuclear Engineer
Nuclear Engineers research, develop, and maintain nuclear systems and processes. This course may be useful for understanding the fundamental principles of CFD, which can be applied to model fluid flow and heat transfer in nuclear reactors. The course's coverage of transport equations, discretization methods, and upwind differencing helps Nuclear Engineers develop and analyze their CFD models. The practical exercises using Excel and Python may also enable them to simulate complex nuclear systems and optimize their performance. This course may show a Nuclear Engineer how they could build new innovative means of energy usage.
Data Scientist
Data Scientists analyze large datasets to extract meaningful insights and develop predictive models. While not directly focused on traditional data science, this course may provide a Data Scientist with a valuable understanding of the underlying physics and mathematical models used in CFD simulations, which may be useful for analyzing simulation results or developing data-driven models for fluid dynamics problems. The coding skills learned in this course, such as using Python, may also be transferable to data science tasks such as data analysis and visualization. This course may provide the Data Scientist with novel opportunities in this area.
Financial Analyst
Financial Analysts analyze financial data, provide investment recommendations, and manage financial risk. While seemingly unrelated, the analytical and problem-solving skills developed in taking this course may be valuable for Financial Analysts because some models of financial markets are based on differential equations. The understanding of numerical methods and modeling techniques gained in this course could be applied to financial modeling, risk analysis, and other quantitative finance tasks. This course may provide the Financial Analyst with new tools in their arsenal.
Technical Sales Engineer
Technical Sales Engineers sell complex technical products or services to clients. This course may provide Technical Sales Engineers with a deeper understanding of CFD technology, enabling them to better communicate the value and benefits of CFD software or services to potential customers. The understanding of CFD principles and applications gained in this course may enable them to engage in more technical discussions with clients and demonstrate the capabilities of CFD tools. As a Technical Sales Engineer, you may find that this course may help show you how CFD can solve customer needs.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Computational Fluid Dynamics Fundamentals Course.
Provides a comprehensive introduction to the finite volume method, which core technique used in CFD. It covers the discretization of various terms in transport equations, including diffusion and convection. This book is commonly used as a textbook in CFD courses and provides a solid foundation for understanding the numerical methods used in CFD simulations. It expands on the course material by providing more detailed explanations and examples.
Delves into the numerical methods used for solving fluid flow problems, covering both internal and external flows. It provides a detailed analysis of various discretization schemes and their accuracy. This book is valuable as additional reading for those seeking a deeper understanding of the numerical aspects of CFD. It adds breadth to the course by covering a wider range of flow problems and numerical techniques.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser