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.

  1. 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
  2. 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
  3. 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
  4. Neural networks for fieldsTrain convolutional and graph networks on simulation fields, then try neural operators and physics-informed losses.Learn it in Deep Learning
  5. 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

ToolWhat you use it for
PyTorchBuild neural surrogates and neural operators for simulation fields.
NVIDIA PhysicsNeMoTrain physics-informed networks and neural operators for engineering simulations at scale.
DeepXDESolve forward and inverse differential-equation problems with physics-informed neural networks.
FEniCSGenerate finite-element reference solutions that a learned surrogate is trained on and checked against.
scikit-learnFit Gaussian-process and tree-based surrogates for scalar simulation outputs.

Public data to practise on

  • PDEBench: Simulated solutions to standard PDEs such as advection, Burgers' and Navier-Stokes for training and comparing learned solvers.
  • The Well: A large collection of physics simulations, from fluids to astrophysics, for training surrogate models of evolving fields.

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

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.