133 Stars
Updated Last
1 Year Ago
Started In
June 2017

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build status Code Coverage Documentation Codebase Graph

FinEtools: Finite Element tools in Julia

FinEtools is a package for basic operations on finite element meshes: Construction, modification, selection, and evaluation of quantities defined on a mesh. Utilities are provided for maintaining mesh-based data (fields), for defining normals and loads, for working with physical units and coordinate systems, and for integrating over finite element meshes. Alt Visualization of acoustic pressure

The package supports application packages, for instance:


  • 04/20/2023: Make all types in the library generic.
  • 04/18/2023: Implemented resizing of assembly buffers. Makematrix! resets pointers.
  • 04/16/2023: Enabled creation of finite element sets from arbitrary arrays.
  • 03/15/2023: Changed strategy when assembling into the COO format.
  • 03/10/2023: Genericity of arguments enabled in the assembly module.
  • 12/27/2022: Added T4 and T10 cylinder meshing routines.
  • 11/03/2022: Added extraction of outer surface of solid.
  • 06/29/2022: Reconfigured documentation.
  • 06/15/2022: Added point partitioning.
  • 06/15/2022: Added dual connection matrix implementation.
  • 05/03/2022: Updated project to Julia 1.7.2: Julia 1.6 is not supported from version 5.4.0 on.
  • 01/26/2022: Added assembler for sparse diagonal matrices (such as the mass matrix for explicit finite element methods).
  • 01/25/2022: Added export of a ParaView collection of a time sequence of data.

Past news

Get FinEtools

This package is registered, and hence one can do just

] add FinEtools

Only version 1.x and the nightly builds of Julia are supported. The best bet is the latest stable Julia.


] test FinEtools

Usage and Documentation

Tutorials in the form of marked-down Julia source files using the Literate workflow are available and more will be added in the near future. Each application package has some tutorials. For a complete list refer to the search.

The package has been used to build applications for various purposes. For a complete list refer to the search.

The documentation is published as Github pages.

Alt Visualization of mechanical stress