Science and engineering
Machine learning for computational science and engineering
Engineers use machine learning to replace slow simulations with fast surrogate models, to learn solution operators for partial differential equations and to estimate hidden parameters from measurements. A trained surrogate can sweep thousands of design options in the time one high-fidelity run takes.
How machine learning is used in computational science and engineering
Fast surrogates for expensive simulations
A surrogate is trained on input and output pairs from a reference solver, such as geometry and loads in and a stress or flow field out. Once trained it answers new queries in a fraction of the solver time, so engineers can sweep designs, run uncertainty studies or optimise. Gaussian processes suit scalar outputs and neural networks suit full fields.
Real exampleMeshGraphNets (DeepMind, 2020)Graph neural networks learned mesh-based simulations of aerodynamics, structural mechanics and cloth, and ran faster than the simulations they were trained on.
Learning solution operators for families of PDEs
Instead of solving one equation at a time, a neural operator learns the map from inputs such as coefficients or initial conditions to the whole solution. One trained model then covers a family of problems and can be evaluated at different resolutions.
Real exampleFourier Neural Operator (Li et al., 2020)Introduced a neural operator that learns in Fourier space and tested it on Burgers' equation, Darcy flow and the Navier-Stokes equations.
Physics-informed neural networks
A physics-informed network adds the residual of the governing equation to its training loss, so it fits data and obeys the physics at the same time. It is most useful when measurements are sparse but the equations are known.
Real examplePhysics-informed neural networks (Raissi, Perdikaris and Karniadakis)Introduced neural networks trained to respect nonlinear partial differential equations, used both to solve equations and to discover them from data.
Estimating hidden parameters from measurements
Inverse problems ask which material properties, boundary conditions or source terms explain observed data. Learned models make each forward evaluation cheap, and physics-informed training can treat unknown parameters as trainable variables.
Real exampleDeepXDE (Lu et al., 2019)Presented an overview of physics-informed neural networks and the open-source DeepXDE library, noting that the method handles inverse problems as easily as forward ones.
Can you learn machine learning for computational science?
Yes. If you already write numerical code or run a solver, the machine learning side is very learnable with steady study. Start with Python and arrays, refresh linear algebra and calculus, learn regression and neural networks, then move to methods built for PDEs such as neural operators and physics-informed networks.
- Python and NumPyWrite vectorised array code and load simulation output, such as HDF5 or VTK files, into arrays you can analyse.Learn it in Python
- Linear algebra, calculus and error measuresMatrices, gradients and norms underpin both solvers and neural networks, and relative L2 error is how surrogates are compared with reference solutions.Learn it in Maths
- Regression and honest validationFit Gaussian processes and tree models for scalar outputs, and hold out whole designs or parameter ranges when you test them.Learn it in Machine Learning
- Neural networks for fieldsTrain convolutional and graph networks on simulation fields, then try neural operators and physics-informed losses.Learn it in Deep Learning
- Your own simulation dataGenerate training data with a solver you know, such as FEniCS or OpenFOAM, and check surrogates against conservation laws and out-of-range inputs.
Moving into machine learning for computational engineering
If you already work in the field
If you already run simulations, you have the hardest part: knowing when a result is physically wrong and how to generate good training data. Add Python machine learning tools and neural network training, then build a surrogate for a solver you know and compare it honestly with the reference. That project is a strong portfolio piece for scientific machine learning roles.
If you come from data science or ML
Data scientists should learn the basics of PDEs, discretisation and numerical stability, because surrogate errors often hide in boundary layers or long rollouts. Work through a benchmark such as PDEBench and read the original neural operator and physics-informed network papers alongside an introductory numerical methods text.
Roles that do this workScientific machine learning engineerComputational engineerSimulation engineerResearch software engineer
Tools you will use
| Tool | What you use it for |
|---|---|
| PyTorch | Build neural surrogates and neural operators for simulation fields. |
| NVIDIA PhysicsNeMo | Train physics-informed networks and neural operators for engineering simulations at scale. |
| DeepXDE | Solve forward and inverse differential-equation problems with physics-informed neural networks. |
| FEniCS | Generate finite-element reference solutions that a learned surrogate is trained on and checked against. |
| scikit-learn | Fit Gaussian-process and tree-based surrogates for scalar simulation outputs. |
Public data to practise on
Your first project
Download the 1D Burgers' equation data from PDEBench, predict the solution at a later time step with a small neural network, and compare it with a persistence baseline (copying the current state) using relative L2 error.
Common questions
What is scientific machine learning?
Scientific machine learning combines numerical modelling with machine learning: surrogates, neural operators, physics-informed networks and learned closures. Results are judged against physical laws and reference solvers, not only against held-out data.
Will machine learning replace numerical solvers?
Not in general. Learned models are fast once trained, but they need solver data to learn from, can fail outside their training range and rarely carry the error guarantees of a converged solver. In practice they run alongside solvers for design sweeps, uncertainty studies and acceleration.
Do I need a PhD to work in scientific machine learning?
Many research roles ask for a PhD or equivalent research experience. Engineering roles that build and deploy surrogates also hire people with a master's degree or strong simulation experience plus a convincing project.
Should I start with PINNs or neural operators?
Start with a plain neural network surrogate on benchmark data, because it shows how data and error measures behave. Then use neural operators for families of problems and physics-informed networks when you know the equations but have little data.
Courses for these skills
- Deep Learning with PyTorchBuild neural approximation foundations.Syllabus available · lessons open as produced
- Maths for Machine LearningUnderstand objectives, constraints and gradients.26 published lessons · all planned lessons open
- Statistics and Probability for Machine LearningUnderstand noise and conditional uncertainty.41 published lessons · all planned lessons open
- Practical Machine Learning in PythonEvaluate the prediction before attributing decision improvements to it.51 published lessons · more lessons in production
New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.