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`
  [5b8099bc] DomainSets v0.7.14
  [94925ecb] MethodOfLines v0.11.7
  [961ee093] ModelingToolkit v9.58.0
  [8913a72c] NonlinearSolve v4.2.0
  [1dea7af3] OrdinaryDiffEq v6.90.1
  [a7812802] PDEBase v0.1.17
  [91a5bcdd] Plots v1.40.9
using InteractiveUtils
InteractiveUtils.versioninfo()
Julia Version 1.11.2
Commit 5e9a32e7af2 (2024-12-01 20:02 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.12.8/x64/lib
  JULIA_PROJECT = /home/runner/work/jl-pde/jl-pde/Project.toml
  JULIA_DEPOT_PATH = /home/runner/.julia:/opt/hostedtoolcache/julia/1.11.2/x64/local/share/julia:/opt/hostedtoolcache/julia/1.11.2/x64/share/julia
  JULIA_CONDAPKG_BACKEND = Null
  JULIA_NUM_THREADS = 2
  JULIA_LOAD_PATH = @:@v#.#:@stdlib

This notebook was generated using Literate.jl.