Chin Yik's Homepage

MY JOURNEY WITH COMPUTATIONAL FLUID DYNAMICS

I am excited to share my journey and insights in Computational Fluid Dynamics (CFD) with you!

Through my years of experience, I have faced numerous challenges that helped me learn and grow. I hightlight these challenges and the solutions I used to overcome them.

I will also share hints and tips that have been invaluable to me in becoming more proficient in CFD.



How It All Started

As a child, I was captivated by the raw power of jet planes soaring through the sky and the sleek lines of race cars tearing down the track.

I would spend hours building model airplanes and cars, imagining how they could propel at such speed and power.

Years later, as I sat in my first fluid dynamics class, a realisation hit me. The same principles that fascinated me as a child were at the heart of this complex, beautiful science called computational fluid dynamics (CFD).

There are always complex equations sprawling across the whiteboard. It really took me a while to understand the fundamental theory behind CFD.

Later, I realised CFD was not just about numbers, equations and models. It was a way to bring my curiosities to life. Through CFD, I could delve into the intricacies of airflow over an aircraft wing or the aerodynamic efficiency of a car's design.

This revelation was actually quite electrifying. It felt like uncovering a secret layer of the world, where science and imagination met to solve real-world challenges.

My passion for planes and cars had found its perfect complement in CFD, setting me on a path to turn that fascination into expertise and innovation.









My First Project

I first encountered my first academic exercise of CFD when I was eighteen.

It was for a year-end project on urban canopies, where my task was to simulate how air flow disperses through an urban landscape modelled as an array of buildings.

In the beginning, doing CFD felt like creating some computational grids and clicking some buttons in the software, then I watched the simulation go.

But I soon realised that is barely scratching the surface of CFD.

As I delved into the intricacies of the project, I found myself captivated by the complexity of fluid flow and the sheer amount of physics involved.

On my computer screen, I can visualise wind currents weaving through buildings creating intricate patterns of turbulence. The simulation revealed hidden dynamics, from slow moving flow to powerful turbulent gusts, all governed by the laws of physics.

What struck me most was how something so seemingly chaotic could be understood and predicted. The equations and algorithms underpinning the simulation were daunting, yet they held the key to decoding the mysteries of fluid behaviour.

This project was a gateway to a deeper understanding of the physical world. The realisation that I could use CFD to explore and solve real-world problems filled me with excitement.

From that moment, I knew that this was just the beginning of my journey into the fascinating realm of CFD.

What is CFD

CFD is a powerful tool used to study and predict the behavior of fluids, both gases and liquids, by solving complex mathematical equations with the help of computers.

At its essence, CFD allows engineers and scientists to create simulations that show how fluid flow behaves, providing insights that are often difficult or impossible to obtain through physical experiments.

The foundation of CFD lies in solving the Navier-Stokes equations, which describe the motion of fluid flow.

At the simplest level, the equations account for the velocity and pressure changes for a fluid. However, due to their complexity, the equations are impossible to solve analytically. This is where computational methods come into play.

By dividing the fluid domain into a mesh of small, discrete elements known as grids or mesh, CFD software approximates the solutions to the Navier-Stokes equations. This process involves numerically solving these equations at each point in the mesh, which collectively represents the entire fluid flow.

The results are visualised as detailed simulations that can show how fluids behave under different conditions and around different objects.

The key elements of CFD include

  • Discretisation: The continuous fluid domain is divided into discrete mesh.

  • Governing equations: The Navier-Stokes equations, which describe the motion of fluid substances.

  • Numerical methods: Techniques such as finite volume, finite element, and finite difference methods are used to solve the discretised equations.

  • Boundary conditions: Specifications of the fluid behavior at the boundaries of the domain.

To learn more about the history and background of CFD, the video lecture (right) is extremely helpful.










CFD and Turbulence

The underlying phenomenon that CFD aims to solve is turbulence.

Turbulent flows are common in our daily lives. For example, stirring a cup of tea, currents in the ocean, and changes in the weather pattern.

Despite commonly observed, turbulence is a complex, chaotic state of fluid flow characterised by irregular fluctuations in flow properties.

Amongst the key characteristics of turbulence include

  • Irregularity: turbulent flows are highly irregular and unpredictable.

  • Diffusivity: mixing enhances the transport of mass, heat, and momentum.

  • Energy cascade: energy in a turbulent flow is transferred from large scales (where it is generated) to smaller scales (where it is dissipated by viscosity)

  • High Reynolds number: Turbulence occurs at Reynolds numbers > 3500, where inertial forces dominate over viscous forces.

  • Three-dimensionality: turbulent flows are inherently three-dimensional.

The nonlinear convective term \(\mathbf{u} \cdot \nabla \mathbf{u}\) in the Navier-Stoke equations is the key source of turbulence.

In the simplest form, the velocity can be decomposed into the mean and fluctuating quantity \(\mathbf{u} = \overline{\mathbf{u}} + \mathbf{u}'\). Substituting this into the convective term leads to unclosed terms that cannot be directly solved.

To close these terms, turbulence models are needed. This is the fundamental principle of CFD.

The ability to predict and understand turbulence is critical. Such flows are key to both natural and industrial applications, such as aircraft aerodynamics, improving fuel efficiency, ventilation systems and pipeline transport.

Turbulence and CFD are deeply connected, with CFD providing the tools and techniques to model, simulate, and analyse turbulent flows, leading to advancements in various fields of engineering and science.

My Approach to CFD

So what is my approach to CFD?

My initial steps in learning CFD involved a combination of coursework, self-study, and hands-on experimentation.

1. Formal coursework

  • Fundamental courses: I began with foundational courses in fluid mechanics, thermodynamics, and numerical methods. These courses provided a solid understanding of the physical principles and mathematical foundations underlying fluid dynamics.

  • Graduate courses: Specialised graduate-level courses in CFD were crucial. These courses covered topics such as finite difference methods, finite volume methods, CFD and the theory behind the Navier-Stokes equations and turbulence modelling.

2. Textbooks and Literature

  • "Computational Fluid Dynamics: The Basics with Applications" by John D. Anderson: This book is great for beginners, offering a clear introduction to the fundamental principles of CFD.

  • "Numerical Heat Transfer and Fluid Flow" by Suhas V. Patankar: This book focuses on the numerical methods used in CFD, providing practical guidance on implementing these methods.

  • "An Introduction to Computational Fluid Dynamics: The Finite Volume Method" by H.K. Versteeg and W. Malalasekera: This book is particularly useful for understanding the finite volume method, which is widely used in CFD.









3. Hands-On Experimentation

Software and Tools:

  • Commercial CFD software: I started with user-friendly commercial CFD software like ANSYS Fluent. This tool is powerful and comes with extensive documentation and tutorials.

  • Open-Source software: I experimented and continued with open-source software like OpenFOAM, which provided a deeper understanding of the underlying algorithms and the flexibility to customise simulations.

Projects:

  • Simple problems: I began with simple problems such as 2D flow through a pipe to understand the basics of mesh generation, boundary conditions, and solver settings.

  • Complex simulations: I gradually moved on to more complex simulations, such as turbulent flow around an airfoil. These projects helped me to apply advanced concepts and troubleshoot issues.

4. Online Resources and Communities

Back then, online resources weren't available. Nowadays, one can rely on courses and forums to aid with understanding. It is important to follow courses that are delivered by those who have high credibility and experience.

  • Online courses and tutorials: Courses on platforms like Coursera and edX, such as those offered by MIT or Stanford, were beneficial. They often include video lectures, assignments, and projects.

  • Youtube tutorials: Many educators share CFD tutorials on YouTube, which can be helpful for learners.

  • CFD forum: Participating in discussions on forums like CFD Online can help troubleshoot problems, share knowledge, and learn from the experiences of others in the field.

5. Practical Application

Research projects:

  • I applied my CFD knowledge to research projects during my academic career, which involved designing and optimising the performance of micro-turbine combustor systems.

  • This practical experience was invaluable for solidifying my understanding and developing problem-solving skills.

Collaboration with peers:

  • Working with researchers and colleagues on CFD projects allowed me to learn from their approaches and insights, leading to a more comprehensive understanding of the field.

  • These initial steps laid a strong foundation for my ongoing learning and development in CFD. The combination of theoretical knowledge, practical experience, and continuous engagement with the CFD community has been essential in my journey.









Finding Your Path

Understanding the elements you enjoy most about CFD is crucial for guiding your learning and career path.

Here is my breakdown of the different aspects of CFD and what you might find appealing.

1. Physics and Mathematics

If you enjoy the fundamental science and theoretical aspects:

  • You appreciate the complexity and beauty of fluid motion, and you enjoy understanding how fluids behave under various conditions.

  • You enjoy using mathematics to predict physical phenomena and solve relevant problems.

  • You like exploring new theoretical models for simulating complex flows.

2. Engineering Applications

If you are drawn to practical and applied aspects:

  • You like using CFD to design and optimise systems such as aircraft, automobiles or industrial equipment.

  • You enjoy tackling real-world engineering challenges and using CFD to find efficient and innovative solutions.

  • You are motivated by seeing the tangible impact of your work, such as improving performance, reducing costs, or enhancing safety.

3. Computing and Programming

If you are fascinated by the computational side:

  • You enjoy developing and implementing numerical algorithms to solve complex fluid dynamics problems.

  • You are interested in coding, whether it's writing your own CFD code or customising existing CFD software.

  • You are excited by the challenge of using advanced computing resources, such as parallel computing and GPUs, to perform large-scale simulations and reduce runtime.

Below are some reflection questions to identify your interest.

Physics and Mathematics:

  • Do you find satisfaction in understanding and explaining the fundamental principles behind fluid behaviour?

  • Are you enthusiastic about deriving equations and solving complex mathematical problems?

  • Do you enjoy theoretical research and developing new models?

Engineering Applications:

  • Are you passionate about applying CFD to solve practical engineering problems?

  • Do you enjoy seeing the real-world impact of your work, such as improving product designs or optimising processes?

  • Are you interested in interdisciplinary collaboration with other engineers and scientists?

Computing and Programming:

  • Do you enjoy coding and developing software tools?

  • Do you like the challenge of optimising algorithms for better performance?

  • Are you excited about implementing parallel computing techniques to reduce simulation run times?

Experiment with different aspects of CFD to see what resonates most with you. Here are some steps you can take:









Challenges and Obstacles

Reflecting on my personal experiences with CFD, I faced specific challenges.

Each area presents unique difficulties that require specific knowledge and skills to overcome.

1. Mathematics and Theory

One of the most significant technical challenges in CFD is the complex mathematics involved.

  • Closure problem: Turbulence introduces additional unknown terms that cannot be directly solved from the averaged equations, leading to the closure problem. Understanding the Navier-Stokes equations and the closure problem is fundamental in CFD.

  • Turbulence modelling: Choosing the right turbulence model or approach (e.g., RANS, LES, DNS) that balances accuracy and computational requirements is not straightforward and requires a solid understanding of fluid mechanics and turbulence.

  • Discretisation: Choosing the appropriate discretisation scheme (finite volume, finite element, finite difference) affects accuracy and stability. Selecting the right time-stepping method (explicit, implicit, semi-implicit) to balance stability and computational cost.

  • Physical modelling: Different phenomena are represented by specific modelling processes. For example, simulating flows involving multiple phases (e.g., liquid-gas, solid-liquid) requires sophisticated models to capture phase interactions. Chemical reactions, such as combustion, introduce additional complexity in turbulence-chemistry interaction and may require reaction kinetics models.

  • Understanding and selecting the appropriate models are critical to accurately predict these phenomena.

2. Geometry and Meshing

Handling geometry and meshing challenges in CFD requires a combination of technical knowledge, practical experience, and effective use of tools.

  • Complexity of model: Engineering applications often involve complex geometries with intricate details, sharp edges, small features, and irregular shapes that are difficult to capture accurately in a mesh. Specific treatment of such features is required to eliminate challenges in CFD.

  • Mesh quality: Poor quality mesh (e.g., highly skewed, stretched, or degenerate elements) can lead to numerical instability and inaccurate CFD results.

  • Boundary layer resolution: Accurately resolving the flow around boundary layers, especially in high Reynolds number flows, requires fine mesh near walls, which can drastically increase the number of mesh elements.

  • Mesh independence: Ensuring that the results are independent of the mesh resolution requires performing sensitivity analyses, which can be time-consuming and computationally expensive.

3. Solver-related issue

Solver-related issues in CFD can be multifaceted, ranging from model selection challenges, boundary condition inaccuracies, convergence problems and numerical instability. These issues might also be related to a particular solver used.

  • Learning curve: CFD software typically has a steep learning curve, necessitating a deep understanding of fluid dynamics, numerical methods, and software-specific features.

  • Boundary specification: Providing accurate boundary conditions and initial conditions is crucial to represent the system correctly. This is often difficult due to a lack of precise data or uncertainties with the boundaries.

  • Model and scheme setup: Selecting the appropriate turbulence and physical models for your specific application can be challenging but is extremely critical for accurate results.

  • Convergence issues: Maintaining numerical stability, especially in simulations involving high Reynolds numbers or complex physics, is a common issue. Ensuring that the iterative solvers converge to a solution requires careful tuning of solver settings and parameters.

  • Customisation and scripting: Often, standard models and functions provided by the software are not sufficient. Customisation through scripting (e.g., using UDFs in Fluent or coding in OpenFOAM) adds another layer of complexity.









4. Interpretation of Results

Interpretation of results ensures that CFD conforms to fundamental physical laws. Gaining insights into the CFD results through post-processing allows results to be communicated for decision making and improvements.

  • Validation and verification: CFD needs to correctly represent the real-world scenario through extensive validation against experimental data. Discrepancies between simulation and reality must be understood and minimised. Obtaining high-quality data for validating CFD models can be challenging and expensive.

  • Uncertainty quantification: Quantifying and managing uncertainties in your simulations, stemming from model assumptions, numerical errors, and input data variability, is important for reliable interpretation of results.

  • Data analysis: CFD simulations generate vast amounts of data. Analysing the data to extract meaningful insights is challenging and often requires specialised post-processing tools. Visualising complex flow phenomena in an interpretable way requires knowledge of various visualisation techniques.

  • Physical insight: Ensuring that the CFD results provide meaningful physical insights and actionable information for design or research purposes. This requires detailed thoughts on how the data is being extracted and used.

5. Hardware and Computing Resources

  • Effective utilisation of hardware and computational resources is crucial for the success of CFD simulations. Leveraging parallel computing techniques and optimising solvers can further enhance performance.

  • Computational cost: CFD simulations, particularly high-fidelity models like DNS and LES, require significant computational power and memory.

  • Long run times: Highly-resolved simulations can take a long time to complete, especially for complex geometries and transient flows.

  • Access to high-performance computing (HPC): Limited access to HPC facilities can restrict the scale and resolution of your simulations.

  • Software costs: Commercial CFD software can be expensive, posing a barrier for small companies, academic institutions, and individual users.

Learning Curves

CFD comes with many challenges and is a continuous learning experience.

Here are the three ways I find the most useful to overcome challenges and improve proficiency.

1. Guidance from Mentors

Having mentors with expertise in CFD was invaluable. They can provide tailored explanations based on individual learning paces and styles to enhance comprehension and retention on the following:

  • Conceptual understanding: Explaining complex concepts in a more digestible manner.

  • Best practices: Sharing insights on best practices for setting up and running simulations.

  • Troubleshooting: Providing solutions based on their experience helped quickly resolve issues that could otherwise take significant time to figure out independently.

2. Hands-On Practice

Hands-on practice with CFD software through training sessions, projects, and experimentation is essential for mastering simulation techniques and software capabilities.

  • Practice projects: Focus on one software. Engaging in practice projects or case studies helps reinforce learning. Starting with simpler problems and gradually moving to more complex scenarios can build confidence and proficiency.

  • Trial and error: Experimenting with different solver settings, case setups and mesh configurations offers hands-on experience in optimising simulation setup.

  • Training sessions: Attending workshops or formal training sessions focused on CFD software provides structured learning opportunities.

3. Resources and Communities

Actively participating in forums and leveraging additional resources can promote continuous learning and keep one updated with the latest information.

  • Documented resources: Textbooks, online course platforms and research papers can strengthen understanding and allow users to stay updated with the latest developments in the field.

  • Problem-solving: Posting specific questions and getting responses from experienced professionals and fellow learners on online forums can help with technical issues.

  • Resource sharing and collaboration: Accessing shared resources like tutorials, case studies, and example problems provided practical insights and solutions.









In addition to the previous three steps, a very effective way to improve proficiency is by gaining practical experience.

How? By blending industry experience with academic research.

I started with internships for practical insights, pursued a PhD for advanced knowledge, and applied my research in real-world scenarios.

1. Industry Projects and Internships

Gaining proficiency in CFD can be significantly accelerated through industry projects and internships. Working in actual industry problems and collaborating with experienced professionals helped bridge the gap between academic knowledge and practical expertise, setting a solid foundation for a career in CFD.

  • Real-world application: Gain hands-on experience solving real-world problems, enhancing your practical skills and problem-solving abilities.

  • Advanced tools and techniques: Access cutting-edge CFD software and methodologies used in the industry.

  • Networking and professional growth: Build a network of industry contacts, receive coaching from experts, and enhance your resume with concrete achievements.

2. Pursuing a PhD in CFD (optional)

If you are interested in theoretical understanding and gaining a specialist set of skills, PhD is an option. Pursuing a PhD in CFD offers a unique opportunity to dive deeply into advanced research, contributing to the cutting edge of this field.

  • Deep theoretical understanding: Conduct in-depth research and contribute original knowledge to the field.

  • Specialised skills: Develop advanced research and technical expertise in areas like turbulence modeling or aerodynamic simulations.

  • Academic and professional opportunities: Teach, mentor, publish in journals, and present at conferences to establish your expertise.

My First Success

My first major success in CFD was during my research for a leading aerospace company. The team was facing challenges to predict a phenomenon called combustion instabilities.

These instabilities can lead to severe vibrations, causing structural damage and restricting the acceptable operating conditions in the combustion system. The occurrence of these instabilities depends on the complex interplay between chemical reaction, turbulence and acoustics, hence is very challenging to predict.

Assigned to this project, I started by developing and implementing advanced numerical models capable of predicting combustion instabilities. Then I tested the approach in a simplified geometry, before moving on to a realistic combustion system. I refined the mesh in areas critical to capture this phenomenon. I also focused on incorporating representative boundary conditions to reflect the correct system.

After several iterations and countless hours of tweaking parameters, I finally obtained simulations that correctly showed the occurrence of combustion instabilities in conditions where it is expected, and vice versa. The results were well validated against experimental measurements. The simulation also revealed complex combustion behaviour which could not be observed in experiments and has helped guide the design of the combustion system.

When I presented the results to the team, their enthusiasm was palpable. Seeing my efforts directly contribute to a critical aspect of the design was incredibly rewarding. This breakthrough not only boosted my confidence but also reinforced my passion for CFD. It felt exhilarating to solve such a challenging problem and to see my hard work make a tangible impact on the project.









Thoughts and Impact

CFD has profoundly shaped my career. My expertise in CFD has opened numerous doors, from securing pivotal roles in projects to publishing papers in areas that are at the forefront of CFD scientific advancement.

The impact of CFD extends far beyond my personal experience. The field is revolutionising the aerospace industry and other fields. CFD is also transforming how engineers design and test products, leading to more efficient, cost-effective, and innovative solutions. As technology continues to advance, CFD is poised to become an even more integral tool across various industries.

Undoubtedly, the landscape of CFD is also rapidly evolving with the advent and rapid acceleration of Artificial Intelligence (AI). AI is revolutionising CFD by enabling faster simulations through machine learning and automated optimisation techniques. AI also helps identify and correct errors in simulations, ensuring more reliable results and reducing the need for extensive manual corrections.

Advancements in scientific computing such as HPC allow for the simulation of large-scale fluid dynamics problems that were previously infeasible. This includes modeling the large-scale systems including the entire aircraft, ships, or weather systems with high precision. Faster simulations mean quicker turnaround times for projects, enabling more rapid development and innovation.

The broader implications of CFD are evident in its applications across various industries where it helps solve complex fluid dynamics problems and drives technological advancements.

CFD has been a cornerstone of my professional growth and a catalyst for broader industry innovations. Its impact on my career is mirrored by its transformative effects on the field, heralding a new era of efficiency and innovation.