Welcome to shenfun’s documentation!
Shenfun is a high performance computing platform for solving partial differential equations (PDEs) by the spectral Galerkin method. The user interface to shenfun is very similar to FEniCS, but applications are limited to multidimensional tensor product grids, using either Cartesian or curvilinear grids (polar/cylindrical/spherical). The code is parallelized with MPI through the mpi4py-fft package.
Shenfun enables fast development of efficient and accurate PDE solvers (spectral order and accuracy), in the comfortable high-level Python language. The spectral accuracy is ensured by using high-order global orthogonal basis functions (Fourier, Legendre, Chebyshev, Laguerre and Hermite), as opposed to finite element codes that are using low-order local basis functions. Efficiency is ensured through vectorization (Numpy), parallelization (mpi4py) and by moving critical routines to Cython or Numba. Shenfun has been used to run turbulence simulations (Direct Numerical Simulations) on thousands of processors on high-performance supercomputers, see the spectralDNS repository.
Document build status
- Getting started
- Post processing
- How to cite?
- How to contribute?
- Live demos with jupyter book
- Demo - 1D Poisson’s equation
- Demo - Working with Functions
- Demo - Integration of functions
- Demo - Eigenvalues on the Möbius strip
- Demo - Cubic nonlinear Klein-Gordon equation
- Demo - 3D Poisson’s equation
- Demo - Helmholtz equation in polar coordinates
- Demo - Helmholtz equation on the unit sphere
- Demo - Kuramato-Sivashinsky equation
- Demo - Stokes equations
- Demo - Lid driven cavity
- Demo - Rayleigh Benard
- Demo - Mixed bases for the Helmholtz problem
- Demo - The Tau method
- Demo - Sparse Chebyshev-Petrov-Galerkin methods for differentiation