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.
The package supports application packages, for instance:
- Meshing;
- Meshing of biomedical images;
- Linear acoustics;
- Heat conduction;
- Linear stress analysis;
- Nonlinear stress analysis;
- Analysis of flexible beam and shell structures;
- Vibration in fluids.
News
- 06/19/2023: Introduce DataCache, generic linear and bilinear forms.
- 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.
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.