Partial Differential Equations (PDEs)#
Solving partial differential equations (PDEs) using SciML/MethodOfLines.jl, a finite difference method (FDM).
Other PDE packages#
Ferrite-FEM/Ferrite.jl (Finite Element method)
gridap/Gridap.jl and its tutorials
WaterLily-jl/WaterLily.jl for fluid dynamics.
PDE courses#
Using neural networks to solve differential equations#
Universal Differential Equations (UDEs): SciML/DiffEqFlux.jl
Physically-informed neural networks (PINNs): SciML/NeuralPDE.jl
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.50.0
[8913a72c] NonlinearSolve v4.1.0
[1dea7af3] OrdinaryDiffEq v6.90.1
[a7812802] PDEBase v0.1.17
[91a5bcdd] Plots v1.40.9
using InteractiveUtils
InteractiveUtils.versioninfo()
Julia Version 1.11.1
Commit 8f5b7ca12ad (2024-10-16 10: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.12.7/x64/lib
JULIA_PROJECT = /home/runner/work/jl-pde/jl-pde/Project.toml
JULIA_DEPOT_PATH = /home/runner/.julia:/opt/hostedtoolcache/julia/1.11.1/x64/local/share/julia:/opt/hostedtoolcache/julia/1.11.1/x64/share/julia
JULIA_CONDAPKG_BACKEND = Null
JULIA_NUM_THREADS = 2
JULIA_LOAD_PATH = @:@v#.#:@stdlib
This notebook was generated using Literate.jl.