lululxvi/deepxde

A library for scientific machine learning and physics-informed learning

What it solves

DeepXDE is a library for scientific machine learning and physics-informed learning. It provides tools to solve forward and inverse problems involving ordinary differential equations (ODEs), partial differential equations (PDEs), integro-differential equations (IDEs), and stochastic PDEs (sPDEs) without the need for traditional mesh generation.

How it works

The library implements several advanced neural network architectures and algorithms, including Physics-Informed Neural Networks (PINNs), Deep Operator Networks (DeepONet), and Multifidelity Neural Networks (MFNN). It supports multiple tensor backends (TensorFlow, PyTorch, JAX, and PaddlePaddle) and uses automatic differentiation to compute derivatives. It allows users to define complex domain geometries using primitive shapes or constructive solid geometry (CSG) and supports various boundary conditions (Dirichlet, Neumann, Robin, periodic, and general BCs).

Who it’s for

It is designed for researchers and engineers in scientific computing and physics-informed machine learning who need to solve differential equations and learn operators from data.

Highlights

  • Multi-backend support: Works with TensorFlow, PyTorch, JAX, and PaddlePaddle.
  • Complex Geometries: Supports primitive shapes and CSG for domain definition without mesh generation.
  • Diverse Algorithms: Implements PINNs, DeepONet, MIONet, and MFNN for a wide range of differential equations.
  • Flexible Sampling: Includes uniform, pseudorandom, Latin hypercube, Halton, Hammersley, and Sobol sequences.
  • High Configurability: Loosely coupled components allow for easy customization of optimizers, loss functions, and neural network architectures.

Related

  • Project
  • Project
  • Project
  • Project
  • Project