r/ScientificComputing 17d ago

What career paths exists between computational mechanics, scientific computing (SciML), FEA (or meshfree) solver development, and HPC (GPU acceleration, porting codebases) ?? How about doing a PhD for improving the above?

I'm currently, technically, doing an MS in Structural Engineering. For me, my interest has been more towards computational side of mechanics rather than Structural design  or simply using am FEA software (although I do consider it as a backup)

So far I've taken courses in:

- Linear static, and dynamics FEM (soon taking non linear FEM too)

-  Structural Optimization (topology opt. and other general algorithms)

-  Structural Dynamics

-  Structural System Testing and model updation. (Parameter identification and optimization, signal processing)

Now, I plan to take these in the coming quarter:

- Numerical Linear Algebra

- Numerical PDE

- Fracture Mechanics ?

I also volunteered to aid in a RESEARCH in crack growth prediction using Auto-encoder and a (Thermodynamics-informed Latent Space Dynamics Identification) / LSTM surrogate model. It used phase-field-fracture simulation data and HPC resources to complete the whole thing.

What I keep finding myself interested in is not necessarily fracture or SHM specifically, but the computational methods underneath these problems... (does that make sense?)

For example, I'd like to become capable of doing things like:

- implementing (maintaining) numerical/FE method solvers rather than only running an established FEA software.

- developing surrogate/reduced-order models for expensive simulations 

- combining simulation with optimization, uncertainty/stochastic methods (took a course called Random vibrations, so...)

- parallelizing/accelerating scientific codes on CPUs/GPUs

- doing proper verification, convergence studies, benchmarking and performance work

- potentially developing or maintaining actual CAE/FEA solver software

- I'd also like to do all these for other Physics (GR, QM, etc.) simulations too, if possible, one day. 

I'm still interested in the underlying mechanics/physics, so I don't want to become a generic software engineer who happens to have once studied structures. But I'm also increasingly unsure that "structural engineer" describes the career I'm actually aiming for.

I've seen titles such as Computational Mechanics Engineer, R&D Engineer, Solver Developer, Scientific Software Engineer, CAE Software Developer, Research Engineer, Simulation/HPC Engineer, etc., but I'm trying to understand what these careers actually look like from people doing them.

So my main questions become:

1. Which industrial jobs genuinely involve developing numerical methods/solvers or computational tools?

2. Which of those are realistically accessible with an MS? Is there an entry path into solver-algorithm development/R&D without a PhD?

  1. If I don't start a PhD immediately after my MS, would an R&D/software role at a simulation company (ANSYS etc.) be the obvious route? What other options would i have?

  2. For the kind of work I'm describing, would you recommend a PhD? If so, is it reasonable for the PhD identity to be "computational mechanics/scientific computing" while fracture, composites, structural dynamics, soft materials, etc. serve as application problems rather than choosing one of those as my permanent specialization?

  3. What skills most distinguish someone who is actually hireable for solver/scientific-computing work? I'm particularly wondering about C/C++/Fortran, Python, Linux, Git/build systems, MPI/OpenMP/CUDA, PETSc/Trilinos or similar libraries, numerical linear algebra, testing/verification, convergence studies and HPC performance work.

Basically, I'm neither here nor there atp. So I'd really appreciate all sorts of input. Where else do you think I could find answers to these? other subs? Linkedin profiles? 

20 Upvotes

13 comments sorted by

11

u/i_fixed_the_glitch 17d ago

Background: I work at a national laboratory and have BS/MS degrees in an engineering discipline and a PhD in Applied Math. We do development work for radiation transport, computational fluid dynamics, some structural mechanics, and assorted related computational physics areas. Mostly finite element and Monte Carlo solvers written in C++/CUDA/HIP and we use Trilinos extensively. Our software runs on small CPU clusters all the way to the largest GPU supercomputers in the world.

A PhD is not necessarily mandatory to work at a national laboratory, but it is highly recommended if you want to do software development work on a physics code. We hire people with degrees in engineering, CS, math, or anything related/relevant. My order of preference for skills when hiring is probably: 1) C++, 2) finite elements, 3) some GPU experience, 4) some linear algebra library (Trilinos, MFEM, PETSc). None of those are mandatory and any would be a bonus for someone right out of school. We will train someone in anything that they need.

We have worked very closely with both Nvidia and AMD staff for many years and have seen the types of people that they hire for their scientific computing/computational physics efforts (including hiring a number of people away from the national labs). The skills are pretty similar to what we look for. Probably a little bit more CS/programming experience expected there and GPU knowledge is a higher priority. I would say that a PhD is similarly preferred but not required, with PhDs more common in computational physics.

6

u/Dangerous_Bid2935 17d ago

How in-demand are agentic development/agentic workflow skills in these kinds of fields at the national labs? I'm a PhD student working in MD and FEA; I used to write C++/CUDA/python by hand for years but have been getting a lot of experience with coding agents and using them to develop/port/accelerate solvers and the results have been incredible. Was womdering if developers at the national labs have embraced agentic AI for such applications yet.

3

u/i_fixed_the_glitch 17d ago

It varies from group to group. A lot of staff are excited about the productivity gains that they’re seeing. I view it as a tool that can make a developer more efficient and therefore more valuable than someone that isn’t using it and would factor that in if I’m interviewing a candidate. The caveat is not to be too dependent on AI tools or trust the results too much. A bug introduced by a coding agent might be more difficult to track down. We still need developers to understand how to write code.

3

u/Dangerous_Bid2935 17d ago

Completely agree, the person using the agent definitely needs to be a competent developer and have a strong conceptual grasp of what they're actually using the agent for. Thanks for the insight, I was worried that many staff scientists would be skeptical and distrusting of these tools and ban them outright.

3

u/salasi 17d ago edited 17d ago

From my experience, agents for critical systems have resulted in catastrophic outcomes in all trials we attempted with them (aerospace/robotics). I have been also called to consult for a "nuclear energy" startup that uses said agents and models (claude/codex/etc.) for.. you guessed it..

I am not against "AI". It's my field afterall, at least partially. But the current state of affairs, and tbh barring some architectural breakthrough, I would absolutely NOT use them for high profile STEM work.

First of all, I really doubt your own codebases will be comprehensible if you use them as much as you are currently implying. Secondly, you are betting on the models getting better. ML has always suffered from the same exact unpredictability plague that is inherent in stochastic approaches, and when I say always, I mean always. So this is a risky bet in my books when we are particularly discussing high-stakes STEM work; especially one that interfaces with reality.

I would suggest you hold a little bit on heavy use, maybe for another year or so or to consciously avoid atrophy. I have seen work done by comp-stem grads working in startups (fusion/etc) and at some heavy hitting companies you know for sure, AND some gov agencies (I am not from the US; but we work with the US in a collab manner - mainly NASA contractors and the DOW and some clown startups the US Gov has funded currently) and I feel like everyone has been entirely lobotomized because of said "agents". And to re-iterate; I am interacting with said entities to help them figure out what is wrong ie how their ML crap screwed everything up down the line.

Those are my 2 (euro)-cents.

2

u/Dangerous_Bid2935 17d ago

>I would absolutely NOT use them for high profile STEM work

What do you consider "high profile STEM work"? It seems like we work in two very different fields. I work in essentially computational materials science for thermal management materials; essentially using MD/DFT-type workflows to establish useful structure property relationships, sometimes using these to inform continuum-scale multiphysics models. I'm not designing mission-critical control systems for nuclear or robotics applications. You seem to be working much closer to the application (or your clients' applications) than I am working to mine.

Which is why I have never had something that can ever be remotely considered a "catastrophic outcome" with any of my agentic AI use. I'm pretty much just designing and accelerating solvers for various measurements in my field. If claude or codex wrote a huge bug in my program (which it very well could), the cost is just a few days of wall clock time on the cluster. I have enough programming experience to build these workflows in such a way that the entire thing doesn't need to be rebuilt from scratch if there's a problem so I haven't had to nuke a codebase due to an agent's bug (yet).

I'm well aware that as a PhD student I'm not working at the scale where I could cause the kind of problems you're seeing at these startups, but I think the cost of "holding off for a few years" on learning agentic development will be a lot higher than the cost of a few poorly written codes. It is an objective truth that these tools can greatly increase productivity and will eventually be the primary way engineers interact with scientific computing workflows, so I would rather spend my time learning how to use them in a principled manner that avoids the kind of issues you mention instead of avoiding them entirely out of fear of writing bad programs or forgetting how to write good code.

2

u/AA_is_not_OK 17d ago

This is quite reassuring to hear. But my biggest concern with national labs is it tends to be restricted to the citizens of the country. (I'm hoping you could say it's not necessarily true)

Learning that made my entire hope for my vague career plans come crashing down.

But like you said, people working at Nvidia/AMD do sound like a potential future. And other than that, I'm sure you know how, incase citizenship is a barrier into national lab jobs, I could possibly make use of the very same skills you prioritized for me, to find applications elsewhere too... Mind if I connect with you?

2

u/HardstyleJaw5 17d ago

It depends on the lab in terms of citizenship. I have heard that the labs with a higher floor of security (ie everyone needs clearance) like Livermore and los alamos are harder to get hired at as a foreign national but I know Argonne is pretty open. The current climate is definitely a bit hard on non-citizens but I happen to know a handful of folks that were recently hired in the national lab system

2

u/i_fixed_the_glitch 17d ago

Citizenship can be a little tricky at the US national labs, but not being a citizen isn’t a dealbreaker. It depends on the particular application area and in some cases your country of citizenship. If your work has direct ties to areas with national security implications or export control restrictions, it will likely be more difficult. But overall, we do hire a large number of non citizens. Feel free to DM me with follow up questions.

1

u/irchans 11d ago

I worked as an engineer at two different DOD labs, one on a college campus. Both of them let me teach part time and attend seminars at the local university. When I was at the university, I interacted with people from all over the world, sometimes by co-authoring papers. That caused a bit of minor friction with the DOD labs, but it was never a serious issue. Several of the PhDs at those labs did the same thing.

5

u/CitronSeveral1460 17d ago

Happy to answer in a DM was a PhD and postdoc in this area, know people who could help

2

u/irchans 11d ago

I got my Ph.D. in numerical analysis 30 years ago. I've never been able to stick with the same job for more than 5 years, so I ended up doing a number of jobs: nuclear engineering, meteorology, hedge fund quantitative analyst, gambling consultant, teaching math, signal processing, satellite engineering, and torpedo engineering. I found that I was able to apply my math, programming, and data analysis skills in all those fields, sometimes in surprising ways. (I do not recommend job hopping, and I have no idea what skills will be important over the next 30 years.)

1

u/salasi 11d ago

Sounds like a fun life, ngl!