PDEngine.jl is a Julia library designed for solving partial differential equations (PDEs) using a variety of numerical methods. This library aims to provide efficient, flexible, and easy-to-use solvers for some of the most common PDEs encountered in scientific and engineering problems. Documentation
- Heat Equation: Models heat distribution over time.
- Wave Equation: Simulates the propagation of waves through a medium.
- Navier-Stokes Equations: Governs the motion of viscous fluid substances.
- Poisson's Equation: Used in electrostatics, mechanical engineering, and theoretical physics.
- Finite Difference Method (FDM): A straightforward approach to discretize PDEs on regular grids.
- Finite Element Method (FEM): Ideal for complex geometries and adaptive mesh refinement.
- Spectral Methods: Provides high accuracy for smooth solutions and periodic boundary conditions.
Using the Package:
using PDEngine
# Example: Solving the heat equation in 1D
Δx = 0.01
Δt = 0.0001
T = 0.1
α = 0.01
N = 100
temperature_distribution = heat(N, α, T, Δx, Δt) # solving the heat equation with the default (spectral method)
# Example: Solving Poisson's equation in 2D
f = zeros(N+1, N+1) # Example source term
Δx = 0.01
poisson_solution = poisson_fem(N, f, Δx) # solving the poisson equations,set to use with the finite elements method
- Parallel computing to get the full speed of julia
- more methods and or PEDs
- ensure all Methods work without any flaws
- ...
- Lehman : Numerical Solutions for PDEs using Mathematica
- Spectral Methods : Spectral Methods and tests by Phillip Schlatter
- ByJus : Representation of a PDE
- ScholarPedia : Introduction to PDEs