# Documentation of scikit-fem¶

scikit-fem is a pure Python 3.7+ library for performing finite element assembly. Its main purpose is the transformation of bilinear forms into sparse matrices and linear forms into vectors. The library supports triangular, quadrilateral, tetrahedral and hexahedral meshes as well as one-dimensional problems.

Note

Installing the library is as simple as running

```
pip install scikit-fem[all]
```

Remove `[all]`

to not install the optional dependencies `meshio`

and
`matplotlib`

.

## Table of contents¶

- Documentation of scikit-fem
- Getting started
- How-to guides
- Advanced topics
- Gallery of examples
- Poisson equation
- Example 1: Poisson equation with unit load
- Example 7: Discontinuous Galerkin method
- Example 12: Postprocessing
- Example 13: Laplace with mixed boundary conditions
- Example 14: Laplace with inhomogeneous boundary conditions
- Example 15: One-dimensional Poisson equation
- Example 9: Three-dimensional Poisson equation
- Example 22: Adaptive Poisson equation
- Example 37: Mixed Poisson equation
- Example 38: Point source
- Example 40: Hybridizable discontinuous Galerkin method
- Example 41: Mixed meshes

- Solid mechanics
- Example 2: Kirchhoff plate bending problem
- Example 3: Linear elastic eigenvalue problem
- Example 4: Linearized contact problem
- Example 8: Argyris basis functions
- Example 11: Three-dimensional linear elasticity
- Example 21: Structural vibration
- Example 34: Euler-Bernoulli beam
- Example 36: Nearly incompressible hyperelasticity
- Example 43: Hyperelasticity

- Fluid mechanics
- Example 18: Stokes equations
- Example 20: Creeping flow via stream-function
- Example 24: Stokes flow with inhomogeneous boundary conditions
- Example 27: Backward-facing step
- Example 29: Linear hydrodynamic stability
- Example 30: Krylov-Uzawa method for the Stokes equation
- Example 32: Block diagonally preconditioned Stokes solver
- Example 42: Periodic meshes

- Heat transfer
- Miscellaneous

- Poisson equation
- Detailed API description