LowLevelFEM.jl
An open-source Julia package for concise finite element analysis, combining low-level access with a high-level weak-form DSL for research, education, and multiphysics applications.
Cite this software
Description
LowLevelFEM.jl is an open-source finite element analysis package written in Julia. It is designed for research and education, with an emphasis on keeping the numerical implementation close to the mathematical formulation of finite element problems.
The package provides both conventional finite element functionality and a compact weak-form domain-specific language (DSL), allowing variational formulations to be expressed directly in Julia code.
Main features
- finite element analysis using Gmsh for mesh generation and post-processing
- scalar, vector and tensor fields
- linear elasticity and structural mechanics
- heat conduction and Poisson-type problems
- nonlinear and multiphysics formulations
- static and dynamic analyses
- high-order Lagrange finite elements supported through Gmsh
- direct construction of linear and bilinear forms from weak formulations
- sparse matrix assembly with multithreaded execution
- low-level access to finite element operators, fields and assembled systems
LowLevelFEM.jl is intended to provide a bridge between compact mathematical notation and executable finite element code. Problems can be formulated at a high level using weak forms, while lower-level operators and assembled matrices remain accessible when more detailed control is required.
The package is actively developed and is used for numerical mechanics research, teaching finite element methods, and prototyping coupled and multiphysics models.