Partial Differential Equations (PDEs)#

Solving partial differential equations (PDEs) using SciML/MethodOfLines.jl, a finite difference method (FDM).

Other PDE packages#

PDE courses#

Using neural networks to solve differential equations#

DiffEqFlux is generally more efficient than NeuralPDE because NeuralPDE also tries to discover physical rules in the data, which is mentioned in this thread.

Runtime environment#

using Pkg
Pkg.status()
Status `/tmp/Project.toml`
  [b0b7db55] ComponentArrays v0.15.28
  [5b8099bc] DomainSets v0.7.15
  [7ed4a6bd] LinearSolve v3.18.2
  [94925ecb] MethodOfLines v0.11.9
  [961ee093] ModelingToolkit v10.10.0
  [8913a72c] NonlinearSolve v4.9.0
  [1dea7af3] OrdinaryDiffEq v6.98.0
  [a7812802] PDEBase v0.1.19
  [91a5bcdd] Plots v1.40.16
  [ce78b400] SimpleUnPack v1.1.0
using InteractiveUtils
InteractiveUtils.versioninfo()
Julia Version 1.10.10
Commit 95f30e51f41 (2025-06-27 09:51 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × AMD EPYC 7763 64-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)
Environment:
  JULIA_CI = true
  JULIA_NUM_THREADS = auto
  JULIA_CONDAPKG_BACKEND = Null
  JULIA_PATH = /usr/local/julia/

This notebook was generated using Literate.jl.