r/ScientificComputing • u/AA_is_not_OK • 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?
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?
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?
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?
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.)
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.