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 `~/work/jl-pde/jl-pde/Project.toml`
  [b0b7db55] ComponentArrays v0.15.28
  [5b8099bc] DomainSets v0.7.15
  [7ed4a6bd] LinearSolve v3.17.0
  [94925ecb] MethodOfLines v0.11.9
  [961ee093] ModelingToolkit v10.4.0
  [8913a72c] NonlinearSolve v4.9.0
  [1dea7af3] OrdinaryDiffEq v6.98.0
  [a7812802] PDEBase v0.1.19
  [91a5bcdd] Plots v1.40.14
  [ce78b400] SimpleUnPack v1.1.0
using InteractiveUtils
InteractiveUtils.versioninfo()
Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 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
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 2 default, 0 interactive, 1 GC (on 4 virtual cores)
Environment:
  JULIA_CI = true
  LD_LIBRARY_PATH = /opt/hostedtoolcache/Python/3.13.5/x64/lib
  JULIA_PROJECT = /home/runner/work/jl-pde/jl-pde/Project.toml
  JULIA_DEPOT_PATH = /home/runner/.julia:/opt/hostedtoolcache/julia/1.11.5/x64/local/share/julia:/opt/hostedtoolcache/julia/1.11.5/x64/share/julia
  JULIA_CONDAPKG_BACKEND = Null
  JULIA_NUM_THREADS = 2
  JULIA_LOAD_PATH = @:@v#.#:@stdlib

This notebook was generated using Literate.jl.