FinEtools.jl icon indicating copy to clipboard operation
FinEtools.jl copied to clipboard

Finite Element tools in Julia

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:

News

  • 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.
  • 12/03/2021: Added a utility to generate a random-looking triangular mesh.
  • 11/17/2021: Added utility to distort a block of mesh.
  • 09/21/2021: Fixed import problems for Abaqus files.
  • 08/29/2021: Mesh export/import in the HDF5 format using DataDrop.
  • 08/12/2021: Added quadrilateral mesh generation by extrusion of a wire.
  • 08/12/2021: Added triangle mesh generation for circular segments.
  • 07/14/2021: Implemented the mechanism of the "delegate of" to facilitate creation of user-defined finite elements.
  • 04/08/2021: Implemented export of VTK binary files using WriteVTK.
  • 02/20/2021: Implemented extrusion of triangular meshes into tetrahedra.
  • 02/07/2021: Tests clean with Julia 1.6 release candidate.
  • 12/07/2020: Export of meshes in the .mesh format with the labels enabled.
  • 08/02/2020: Enabled permuting of nodes in the field.
  • 02/29/2020: Many new tests added. Code coverage enabled.
  • 01/23/2020: Dependencies have been updated to work with Julia 1.3.1.
  • 01/02/2020: Matrix multiplication code improved with the help of the LoopVectorization package.

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.

Testing

] 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