A simple finite element toolbox written in Julia.


JuAFEM is a finite element toolbox that provides functionalities to implement finite element analysis in Julia. The aim is to be general and to keep mathematical abstractions. The main functionalities of the package include:

  • Facilitate integration using different quadrature rules.
  • Define different finite element interpolations.
  • Evaluate shape functions, derivatives of shape functions etc. for the different interpolations and quadrature rules.
  • Evaluate functions and derivatives in the finite element space.
  • Generate simple grids.
  • Export grids and solutions to VTK.

The best way to get started with JuAFEM is to look at the documented examples.


JuAFEM is still under development. If you find a bug, or have ideas for improvements, feel free to open an issue or make a pull request on the JuAFEM GitHub page.


In Julia v1.0 (and v0.7) you can install JuAFEM from the Pkg REPL (press ] in the Julia REPL to enter pkg> mode):

pkg> add https://github.com/KristofferC/JuAFEM.jl.git

Alternative installation method:

julia> import Pkg; Pkg.add(PackageSpec(url = "https://github.com/KristofferC/JuAFEM.jl.git"))

To load the package, use

using JuAFEM

In Julia v0.6 you need to checkout the release-0.3 branch when installing:

Pkg.checkout("JuAFEM", "release-0.3")