Preparation for Computational Fluid Dynamics (CFD)

In summary, a biologist is looking for books to help him better understand CFD and programming. He recommends Headfirst Java and Matlab.
  • #1
joe_f
6
0
Hi all,

I have just completed my undergraduate studies in Mathematics from a UK university (specialising the Mathematical Physics and Fluid Dynamics) and will be continuing on a Masters programme in Applied Mathematics come fall. For my Masters, I would like to do something on CFD but the thing is, a lot of the courses I have taken for the past few years are very theoretical in nature and I have very little skills in programming (some background in Maple and Matlab).

What books do you guys suggest I plough through just so that I can have a better understanding on CFD and programming in general. Also, what are the main programming languages used by CF dynamicists? Matlab? ForTran? C++?

Thank you!
 
Physics news on Phys.org
  • #2
Fortran and C++ are common, as Matlab is way too bulky to solve the really beefy problems. The basic languages are more efficient. I can't recommend any books just because I am not a CFD guy myself (experimental/theoretical) but those languages get used a lot.
 
  • #3
I think it depends on what exactly the project is. For smaller projects, I head people use Matlab. For more complicated projects, people use c/c++/Fortran. They're not as fast as streamlined for calculations as Matlab but for more complicated projects, I understand the code produces output faster.

Plenty of physicists still use Fortran from what I can tell, but I think engineers have moved more towards Matlab. My friend in civil engineering has taken courses in c and MATLAB but no Fortran as far as I know.

I hear plenty of people use C++ but that it is a pain to work with. C is simpler but lacks object oriented capabilities which can be useful in simulations. However, C++ can be used just like C if you just choose to not use any of the object oriented features. C also is capable of handling memory issues.

Matlab is fairly simple to learn. Useful too. Engineers at my school are required a course in Matlab and use it in course afterwards. It is specialized for mathematical computation and has built in features for math problems (row reducing matrices, integrating, solving some simpler differential equations, etc.). If I remember right, Matlab is based off Java which is based off C, so if you pick up one, you should be able to work with the other.

This is all from me looking up which languages would be useful. I don't have any experience with Fortran or C++ but I have messed around with C a little and I am familiar with Matlab and Java.

As for books, I learned Java from Headfirst Java and I thought it was very good. Maybe there are other Headfirst books that would fit your needs?

https://www.amazon.com/gp/search/re...=UTF8&qid=1309734198&rnid=5&tag=pfamazon01-20

I learned Matlab from Mastering Matlab 7. It's pretty thorough and can be used as a pretty good reference later on.

https://www.amazon.com/dp/0131430181/?tag=pfamazon01-20
 
  • #4
Matlab is used all over engineering but usually for fairly small problems. It is optimized for fast programming, not efficient executing. Any real CFD problem would require something more basic like C++ or Fortran. In my experience, Fortran seems to be referred (no idea why).
 
  • #5
What ever code you write should be able to scale to multiple processors. Multicore gpu programming seems to be an area that is expanding.
 

1. What is Computational Fluid Dynamics (CFD)?

Computational Fluid Dynamics (CFD) is a branch of fluid mechanics that uses numerical methods and algorithms to solve and analyze problems involving fluid flows. It involves the use of computers to simulate and visualize the behavior of fluids and how they interact with objects or structures.

2. Why is preparation important for CFD?

Preparation is important for CFD because it allows for a more accurate and efficient simulation. This includes preparing the geometry, setting up the boundary conditions and initial conditions, selecting appropriate numerical methods and models, and ensuring the quality of the mesh. A well-prepared simulation can provide more reliable results and save time and resources.

3. What are the key steps in preparing for a CFD simulation?

The key steps in preparing for a CFD simulation include:

  • Defining the geometry and creating a solid model
  • Deciding on the appropriate boundary conditions and initial conditions
  • Generating a high-quality mesh that captures the geometry and flow features
  • Choosing the appropriate numerical methods and models
  • Performing a grid convergence study to ensure the accuracy of the results

4. What are some common challenges in preparing for a CFD simulation?

Some common challenges in preparing for a CFD simulation include:

  • Creating a high-quality mesh that accurately captures the geometry and flow features
  • Selecting appropriate numerical methods and models for the specific problem
  • Ensuring the simulation results are independent of the mesh resolution
  • Dealing with complex or unsteady flow behaviors
  • Managing large amounts of data and computational resources

5. What are some tools and software used for preparing for CFD simulations?

There are many tools and software available for preparing for CFD simulations, such as:

  • Computer-aided design (CAD) software for creating and manipulating the geometry
  • Mesh generation software for generating high-quality meshes
  • CFD software packages that provide a user-friendly interface for setting up simulations and post-processing results
  • Pre-processing and post-processing tools for visualization and analysis of results
  • High-performance computing resources for running complex and computationally-intensive simulations

Similar threads

  • STEM Academic Advising
Replies
4
Views
797
  • STEM Academic Advising
Replies
1
Views
2K
Replies
10
Views
992
  • STEM Academic Advising
Replies
1
Views
540
  • Science and Math Textbooks
Replies
3
Views
2K
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Career Guidance
Replies
3
Views
1K
  • STEM Academic Advising
Replies
24
Views
2K
  • STEM Academic Advising
Replies
11
Views
676
Back
Top