What steps can I take to jumpstart my career in CFD?

  • Thread starter Saladsamurai
  • Start date
  • Tags
    Career Cfd
In summary, the conversation discusses the individual's interest in pursuing a career in CFD and their current efforts to gain experience and knowledge in the field. They plan to review fundamental concepts, write their own CFD codes, and gain hands-on experience with software such as OpenFOAM. They also mention the importance of understanding Navier-Stokes equations and the demand for those who can adapt and modify codes for multi-physics applications. The individual poses questions to themselves about their understanding of heat equations and solving systems of PDEs using various methods.
  • #1
Saladsamurai
3,020
7
Hello all! :smile:

After graduating with my BS and MS in mechanical engineering, I have come to the conclusion that I want to start a career in CFD. I used CFD on a co-op that I worked for a while and have always been drawn to and excelled in fluid dynamics related courses. I am currently on the job search trying to get an 'in' at a company doing/learning (mostly learning :wink: ) CFD. However, in the meantime, I feel like I need to get a headstart on the learning process. Experience is always a plus, so I want to start developing the right kind of experience. So in my free time have been doing some reviewing of the fundamentals of Fluid Dynamics. But I also want some input on what else I can be doing. Something more along the lines of the types of things that an employer would see as useful.

My plan is as follows, but I am open to suggestions, corrections, and the like.


1) Review, review, review. I am talking about the fundamental physics, thermodynamics and maths. This part of my plan is going pretty well. In addition to my fluids and thermo, I have been reviewing/learning linear algebra and PDE's.

2) Write my own small (small is relative term here) CFD codes to solve some problems. I have never taken a formal CFD class, but I am teaching myself so that I can learn things like problem formulation and well-posed-ness of said problems. I am currently using Anderson's CFD: The Basics with Applications because it is very accessible, but I think there are more modern books that I should look into.
Any suggestions on 1) texts and 2) some common CFD problems that I could program solutions to? I have access/experience to/with C++, FORTRAN, and MATLAB​

3) I think this might be the most important from an employer's perspective: Get some more hands-on experience using CFD software. The problem with this is the cost associated with the software. FLUENT and the like are pretty much out of the question. I was looking into OpenFOAM and was wondering if this would be a good one to start with? Will the things I learn carry over to more commercialized packages? I have a feeling the answer is yes since the problem solving approach should be the same, just the interfaces being different.


Thanks for reading and any additional insights those of you with CFD experience might have I would be grateful to hear about. :smile:
 
Physics news on Phys.org
  • #2
I'm interested in seeing the responses here too.
 
Last edited:
  • #3
I have taken several classes related to CFD. Although I come from a physics background the classes have been/are from the Mechanical Engineering department.

Note: These are questions you ask yourself, don't answer them for me:
1) Can you solve the heat equation?
a) Can you do it using the Finite Difference Method?
b) Can you do it using the Finite Volume Method?
c) Can you do it using the Finite Element Method?
d) Ever heard of the Lax Wendroff technique?

Increase the difficulty:
2) Do you know how to solve a system of Partial Differential Equations?
a) Can you vectorize them?
b) Can you apply all previously stated techniques to these?

Know the stability and accuracy issues:
3) How stable are the above techniques when used to discretize various classes of PDEs?
a) How can you tell whether and when and how much a method converges to the correct solution?
b) Can you distinguish between accuracy lost from discretization error and accuracy lost from bogus PDE used for model?

Just a few things to keep in mind for understanding the material.

I'm not nor have I ever been a CFD employer; those are the responses that I am most interested in hearing about. :)
 
  • #4
One will also want to consider the type of fluid - gas, liquid or multi-phase, or plasma, and in the case of gas or plasma, subsonic or supersonic (and shock behavior) flow.

The one should consider whether or not the flow is heated or not, and whether or not there one will have fluid-structure interaction.

One should understand Navier-Stokes equations: theory and numerical analysis in the aforementioned domains.

It's easy to find folks who can run CFD codes - basically inputing data and processing the output. The demand is for those who can adapt and/or modify codes, or generate new code/models, especially when coupling multi-physics (different phenomena, e.g., chemical diffusion, combustion, heat transfer, turbulence, . . . ) into the flow field.
 
Last edited:
  • #5
FourierFaux said:
I have taken several classes related to CFD. Although I come from a physics background the classes have been/are from the Mechanical Engineering department.

Note: These are questions you ask yourself, don't answer them for me:
1) Can you solve the heat equation?
a) Can you do it using the Finite Difference Method?
b) Can you do it using the Finite Volume Method?
c) Can you do it using the Finite Element Method?
d) Ever heard of the Lax Wendroff technique?

Increase the difficulty:
2) Do you know how to solve a system of Partial Differential Equations?
a) Can you vectorize them?
b) Can you apply all previously stated techniques to these?

Know the stability and accuracy issues:
3) How stable are the above techniques when used to discretize various classes of PDEs?
a) How can you tell whether and when and how much a method converges to the correct solution?
b) Can you distinguish between accuracy lost from discretization error and accuracy lost from bogus PDE used for model?

Just a few things to keep in mind for understanding the material.

I'm not nor have I ever been a CFD employer; those are the responses that I am most interested in hearing about. :)

Hi FF :smile:

This is a great start! Great questions that I indeed do not have all of the answers to.

Astronuc said:
One will also want to consider the type of fluid - gas, liquid or multi-phase, or plasma, and in the case of gas or plasma, subsonic or supersonic (and shock behavior) flow.

The one should consider whether or not the flow is heated or not, and whether or not there one will have fluid-structure interaction.

One should understand Navier-Stokes equations: theory and numerical analysis in the aforementioned domains.

It's easy to find folks who can run CFD codes - basically inputing data and processing the output. The demand is for those who can adapt and/or modify codes, or generate new code/models, especially when coupling multi-physics (different phenomena, e.g., chemical diffusion, combusion, heat transfer, turbulence, . . . ) into the flow field.

Exactly. I want become proficient at the underlying solutions. Not just be a 'CFD monkey' pushing buttons and not knowing why.As a project:
I was thinking of maybe trying to create a MATLAB program that solves discretized Euler equations on some simple geometries. It could have a GUI for input parameters from the user as well as some pretty graphical output. I am not sure though. Maybe something like inviscid flow over a cylinder would be neat? I think I could get an exact solution and a finite difference solution and could do some comparisons.

In addition to the text by Anderson that focuses mainly on finite differences, I also picked up the text by Versteeg and Malalasekera on finite volume methods.
 
  • #6
Saladsamurai said:
Experience is always a plus, so I want to start developing the right kind of experience.

The problem is that CFD problems are often very domain specific. Techniques that work well in one type of CFD situation are totally useless in others. It helps a lot to be flexible so that you can learn a new set of techniques quickly.

But I also want some input on what else I can be doing. Something more along the lines of the types of things that an employer would see as useful.

One thing that people need is the ability to *read* code. You can go online, download one of several dozens of CFD codes on the web, and then spend two to three weeks to get it to work and then you see what makes it tick.

The reason it's important to work on working code is that you want to repair race cars. You aren't going to be able to build a race car yourself, but you can get one and disassemble it.
 
  • #7
I'd say the most beneficial thing to do is to learn OpenFOAM straight away. Not only the skills that you'll learn are transferable as you said, but there is a possibility that you keep using it in the company you'll eventually work for. More companies are now heading towards this direction. The point that Astonuc mentioned regarding adapting and modifying codes according to the physics of the problem you're handling is very crucial and that's another reason to learn openFOAM. OpenFOAM users modify codes almost on a daily basis while the idea of adding a mere source term in a certain equation in FLUENT is a nightmare. Moreover, since OpenFOAM is an open source code, it will enable you to read the code and understand it just as Twofish advised. Most commercial codes wouldn't allow that.

I'd also advise against writing small codes in order to learn CFD. I've always found this approach to waste time and effort which you'd better invest in learning a code that you will actually use for doing practical problems.

The book you are using is a classic CFD book but it's too old and outdated for a field that changes almost every year. Also, this book is almost entirely concerned with finite difference algorithms which is almost non-existent in today CFD codes. I'd recommend that you find a modern book that deals with finite volume extensively rather than finite difference
 
  • #8
twofish-quant said:
One thing that people need is the ability to *read* code. You can go online, download one of several dozens of CFD codes on the web, and then spend two to three weeks to get it to work and then you see what makes it tick.
Ability to read code is a key skill.

With regard to theory, see - http://www2.mech.kth.se/~henning/stromning/CFD_main.pdf

http://www.cfd-online.com/Wiki/Navier-Stokes_equations

http://www.numerik.uni-hd.de/Oberwolfach-Seminar/Galdi_Navier_Stokes_Notes.pdf (mathematical theory)


There are two critical skill with regards to numerical methods in computational physics - one is the ability to translate the equations into appropriate numerical models, and the second is the ability to select the appropriate numerical solution scheme/system.
 
Last edited by a moderator:
  • #9
HossamCFD said:
I'd also advise against writing small codes in order to learn CFD. I've always found this approach to waste time and effort which you'd better invest in learning a code that you will actually use for doing practical problems.

For you are a true newbie, I would advise spending a week writing a small code once. Take Euler's equation, write a quick, short program that crunches that equation, and then watch it fall apart.

Converting a PDE or ODE into code is one of those things that seems trivially easy, but when you actually do it, there is a 99% chance that what you write won't work, and seeing something that should "obviously work" not work is a very useful way of spending a week, and that gets you ready for spending the next several decades coming up with things that do work.
 
  • #10
twofish-quant said:
For you are a true newbie, I would advise spending a week writing a small code once. Take Euler's equation, write a quick, short program that crunches that equation, and then watch it fall apart.

Converting a PDE or ODE into code is one of those things that seems trivially easy, but when you actually do it, there is a 99% chance that what you write won't work, and seeing something that should "obviously work" not work is a very useful way of spending a week, and that gets you ready for spending the next several decades coming up with things that do work.

I completely agree with that provided that 1) it's only for a couple of weeks or so 2) he hasn't done it before

The reason for me advising against it in my original comment is that I've seen students spending a whole semester writing codes for the heat, wave, and Laplace equations in some formal CFD course and while there are lots of mathematical and programming skills to learn from that, many students did not get a feel of how CFD is actually used in practical problems and eventually lost interest in the subject.
 
  • #11
@twofish: Thanks for the ideas. I had set up a linux VM on my machine a month ago in order to get into openFOAM. Looks like it might finally get some use. Also, I literally lol'd at the "...and watch it fall apart' part of your first response.

@HossamCFD: Great! openFOAM it is. There seems to be a good amount of documentation on. We'll will see how well kept it is. Hopefully I can fond something in the way of some decent tutorials, though that might be asking too much.
Also, do you have any thoughts on this text by Versteeg and Malalasekera ?

@Astronuc: Thanks for the links! Foresee my brain hurting for the next few months at least. :biggrin:

Thanks for all of the input so far folks! I really appreciate it!
 
  • #12
Saladsamurai said:
Also, do you have any thoughts on this text by Versteeg and Malalasekera ?

That's a great book indeed. I was actually going to recommend that same book to you but I was being too lazy to search if anything newer and perhaps better has been published lately.
 
  • #13
Last edited:
  • #14
  • #15
Find an old FEA book, and work though some of it. I can set up runs in Fluent in my sleep. I attribute this to a healthy understanding of what the computer does for you. It adds quality and depth to what just end up being default values and arbitrary clicks to most people. It will also show in your results. Plus everything else post before. Good Luck. I once had a CFD case take 13 days to iterate on a 35 node cluster just to find out I made a silly error.
 
  • #16
Saladsamurai asked a very good question, and one I have been wanting to ask. I want for a company that designs and manufactures welding fume extractors and I have become very interested in how to model a.) the fumes being generated, and b.) how to model how the fumes are traveling through the extractor and the various product improvements that come along with those models. Everything that has been suggested so far has/will be very beneficial.
 
  • #17
I'm very interested in this subject, it is in fact pretty much what I want to go to graduate school for. Is there any kind of position where a fresh physics BS versed in numerical methods, fortran, scilab/matlab and fluid dynamics would stand a chance at getting hired, even if just as a temporary contract/intern? Any tips on breaking into this field without a masters degree?
 

1. What is CFD and why is it important for my career?

CFD stands for Computational Fluid Dynamics and it is a simulation technique used to solve complex fluid flow and heat transfer problems. It is important for various industries such as aerospace, automotive, and energy sectors to optimize designs and reduce costs. Having knowledge and expertise in CFD can make you a desirable candidate for many job opportunities.

2. What educational background is needed to pursue a career in CFD?

A strong foundation in mathematics, physics, and computer science is essential for a career in CFD. Most employers look for candidates with a Bachelor's or Master's degree in mechanical or aerospace engineering, or a related field. Additionally, having knowledge of programming languages such as Fortran, C++, or Python can be beneficial.

3. Are there any specific software packages or tools I should learn for CFD?

The most commonly used CFD software packages include ANSYS Fluent, OpenFOAM, and STAR-CCM+. It is important to have proficiency in at least one of these software packages and be familiar with the others. Additionally, knowledge of meshing tools such as ICEM CFD and Gridgen can also be helpful.

4. How can I gain practical experience in CFD?

One way to gain practical experience in CFD is through internships or co-op opportunities while pursuing your education. Another option is to participate in CFD-related projects or research during your studies. You can also enroll in online courses or workshops to learn and practice CFD techniques.

5. What other skills or qualities are important for a successful career in CFD?

Apart from technical skills, having strong analytical skills, problem-solving abilities, and attention to detail are crucial for a career in CFD. Being able to work in a team and communicate effectively with others is also important. Additionally, staying updated with the latest advancements and techniques in CFD is essential to excel in this field.

Similar threads

  • STEM Career Guidance
Replies
3
Views
1K
  • STEM Career Guidance
Replies
4
Views
587
  • STEM Career Guidance
Replies
6
Views
2K
  • Mechanical Engineering
Replies
8
Views
3K
  • STEM Career Guidance
Replies
2
Views
1K
  • STEM Career Guidance
Replies
33
Views
2K
  • STEM Academic Advising
Replies
4
Views
790
  • STEM Career Guidance
Replies
2
Views
1K
Replies
17
Views
1K
  • STEM Career Guidance
Replies
9
Views
2K
Back
Top