https://www.youtube.com/watch?v=zxiqA8_CiC4
Their free non-commercial "Apprentice" version is only limited in its rendering and collaboration capabilities. It's pretty... uh... deep though. Coming from software and moving into this industry, the workflow for learning these sorts of tools is totally different. Lots of people say Houdini is more like an IDE than a 3D modelling program, and I agree in many ways. Rather than using the visual tools like in, say, blender, it's almost entirely based on creating a network of nodes, and modifying attributes and parameters. You can do most stuff in Python more cleanly than others like 3ds Max, though it won't compile, so the performance is bad in big sims. Their own C-like language, vex, is competent, and there's even a more granular version of their node system for the finer work with more complex math and such. It's almost entirely a data-oriented workflow on the technical side.
However, if you're a "learn by reading the docs" type, you're going to have to learn to love tutorials rather quickly. It's very, very different from any environment or paradigm I've worked with, and the community at large, while generally friendly, suffers from the curse of expertise big-time.
When I was there we were running ~100 million cell (vehicle) or (vehicle + pad) Hybrid RANS/LES sims with moving overset grids, maybe 10-20 species reactive combustion chemistry (SSMEs and SRBs lighting together), and Lagrangian evaporative particle dynamics (launch water suppression) using Overflow/LARC [5], or Loci/Mississippi State University [6]. Note: My info's a decade out of data, so no idea what the SOTA is these days. More than this.
If you're interested in the field and what a lot of the industry is concerned about, then while old (2014), the CFD Vision 2030 Study is not a bad orientation. [7]
Try to get a ticket to Supercomputing and go wander around. This year was in Denver. [8] Their focus tends to be on "large" though, so you'll mostly get massive weather simulations and stellar cloud dynamics. I like the conference, yet its difficult to get any notice unless you did #CPUs/#GPUs/#FPGAs++.
GOV Outside NASA: NIST (Gaithersburg), DOE (Oak Ridge, Sandia, Los Alamos), Air Force (AF Research Lab), Huntington Beach.
[1] NASA Advanced Supercomputing Division: https://en.wikipedia.org/wiki/NASA_Advanced_Supercomputing_D...
[2] NASA, MSFC: https://www.nasa.gov/wp-content/uploads/2016/01/g-28367g_pst...
[3] Somewhat old examples: https://ntrs.nasa.gov/api/citations/20140016892/downloads/20...
[4] NASA Ames: https://www.nasa.gov/entry-systems-and-technology-division/
[5] OVERFLOW/NASA/LARC: https://overflow.larc.nasa.gov/
[6] Loci/MSU: https://simcenter.msstate.edu/
[7] CFD Vision 2030 Study: https://ntrs.nasa.gov/api/citations/20140003093/downloads/20...
[8] Supercomputing SC23: https://sc23.supercomputing.org/
1. What am I looking for in a job description that would indicate i'd be working on CFD simulations?
2. What would make me a compelling applicant? This seems very different than the distributed systems/recommendation system work that I have a lot of experience in.
Thanks again!
2. A background in distributed systems is actually very good for this field, but high-performance computing (HPC) is a bit different than other kinds of distributed computing, largely because if a node fails or communication breaks down in some way, it is easier to just kill the job. There's no need to make it fail gracefully. Some of your distributed computing knowledge will be extremely valuable but other parts will never come up.
I suggest taking some time and getting familiar with Message Passing Interface (MPI). It is the standard used for distributed memory programming in HPC applications. Almost all of these programs use MPI at least in part. There are several good tutorials online. I recommend [1]. A strong background in MPI is invaluable in a lot of these codes, especially if you can master non-blocking communication.
Learning Fortran may help with some projects and be useless for others. It might be worth the time to at least learn some so that the terminology is not foreign.
I'd also add that many of these jobs are difficult to get even if you have a PhD in the field. Many projects only hire when there is a real need for a new person (or when somebody retires, etc.). Timing the market is an unfortunately reality here. Good luck!
On the NASA perspective, mostly use Linux qsub with MPI. An example of such is:
https://www.nas.nasa.gov/hecc/support/kb/running-multiple-sm...
https://www.cfd-online.com/Jobs/
Many of the positions unfortunately are for grad students and postdocs, but there are a lot of CFD software developer positions posted here. It is a good place to check periodically to see what is available.
Good luck!
From looking over the jobs @atrettel linked to. One other point, is there are actually a lot of different fields other than the "norm". There tends to be a stereotype that its all rockets, airplanes, and cars, yet there's a bunch of others.
Healthcare CFD (Worcester Polytechnic Institute, Ohio State University), Food CFD (University of Michigan-Dearborn), Ocean CFD (Louisiana State University), Plasma CFD (University of Texas at Austin), Civil CFD (UC Berkeley), Petroleum CFD (Pennsylvania State University), Environmental/Pollution CFD (New Jersey Institute of Technology), Weather/Hurricane CFD (Florida International University), Mining/USGS CFD (Colorado School of Mines), CUDA/GPU CFD (Altech LLC), and a bunch of others.
So being from a certain background should not be a worry. There's a lot of industries to lateral in from. The only issue is the limited job pool. However, I started at NASA simply writing software (Perl, FORTRAN, Linux), with a background and knowledge of CFD.
Also, there are definitely jobs (12/24/2023):
Glassdoor, 780: https://www.glassdoor.com/Job/united-states-cfd-engineer-job...
LinkedIn, 50000: https://www.linkedin.com/jobs/computational-fluid-dynamics-j...
Indeed, 800: https://www.indeed.com/q-Computational-Fluid-Dynamics-jobs.h...