FEATool Multiphysics is a finite element analysis
(FEA) toolbox for modeling and simulation of coupled
systems of partial differential equations (PDE) in any
dimension, where the equations are discretized and solved
with the finite element method (FEM).
In addition to the easy to use GUI,
finite element functions can be used on the MATLAB
command line interface and in m-script files.
FEATool also features convenient
and expression parsing supporting complex expressions
with variables, derivatives, and even external custom
user-defined MATLAB functions. No additional programming
required to implement non-linear and custom equation
coefficients and boundary conditions.
FEATool includes a preprocessing engine supporting basic
geometry object primitives and CSG operations for 2D and
3D geometry definitions. Geometries with multiple
independent subdomains are supported, for which separate
equations and coefficients can be defined. For more
complex geometries 3D and 2D
planar STL CAD file import is supported.
Automatic grid and mesh generation is supported for
simplex line segment, triangular and tetrahedral grid
cells. Structured grids of quadrilateral and hexahedral
cells are also supported and can either be imported
manually for regular geometry shapes.
Built-in one-click interfaces for the external grid
generators Gmsh, Gridgen2D, and Triangle is also
available, as well as grid import and export in the
- Dolfin/FEniCS (XML)
- General Mesh Viewer (GMV)
- ParaView (VTK)
Built-in postprocessing and visualization
- Surface plot
- Contour and iso-surface plot
- Slice plot
- Arrow plot
- Deformation plot
- Height plot
- Point/line expression evaluation
- Min/max value computation
- Subdomain/boundary integration
- Interactive web plots
- JPG and PNG image export
Simulation data can also be exported in
, CSV, and General Mesh
Viewer (GMV) formats for further postprocessing.
Simulation models can be saved in the following file formats
- Binary file format (.fea)
- GUI script file (.fes)
- MATLAB m-file script (.m)
The binary file format is the most convenient format as it
saves all modeling data including grid and solutions. The
GUI script file is equivalent to a log of all actions
taken in the GUI and can be played back step-by-step to
exactly reconstruct the model. The m-file script saves the
equivalent MATLAB function commands to perform the
simulation, and is editable, callable, and embeddable as
normal m-files (Note that m-file scripts can not be loaded
back into the GUI).
Tutorials and Examples
FEATool includes more than 30 automated built-in tutorial
models with step-by-step instructions (available by
selecting Model Examples and Tutorials from
the File menu in the FEATool GUI), and also over
100 m-file script examples
for simulation, test, and verification.
The following pre-defined physics modes and PDE equations are
available, and can be combined to define complex multiphysics
In addition, the custom equation
physics mode allows for
completely user defined equations with the FEATool PDE syntax.
FEATool Multiphysics features the following built-in solvers
Non-linear problems are linearized and solved either with
the Newton method, or fixed-point/Picard iterations, while
time-dependent problems employ the backward Euler,
Crank-Nicolson, and fractional-step-theta time
Built-in external solver interfaces are available for the
OpenFOAM and FEniCS solvers allowing comparison and
verification of simulations with three different
simulation codes at once (more details below).
The FEATool-OpenFOAM solver interface takes the work out
of setting up and defining OpenFOAM mesh and case files.
Variable flow profiles, laminar and turbulent boundary and
initial conditions, and conversion of 2D and axisymmetric
grids to 3D are all handled automatically. FEATool allows
users to automate defining OpenFOAM CFD mesh and case
files without additional work which then can be run
directly in the FEATool GUI, or exported and processed
Similar to the OpenFOAM integration, the FEATool-FEniCS
solver integration directly translates the FEATool PDE and
FEM syntax to FEniCS syntax, mesh, and python case
files. FEATool is the only software tool that automates
the process of setting up and running FEniCS multiphysics
models, all within a convenient and easy to use GUI. As
with all FEATool functions, the FEniCS and OpenFOAM
solvers can be embedded into m-file MATLAB scripts and run
The following finite element basis functions
discretizations are available in 1D, 2D, and 3D
- Constant (P0/Q0)
- Linear conforming Lagrange (P1/Q1)
- Higher order Lagrange (P2/Q2-P5/Q5)
- Non-conforming (P-1,P~1,Q~1)
- Hermite elements H3
the FEATool finite element library
features open source code, and allows
to be implemented.
Artificial stabilization is required for many convection
dominated flows and is available in the form of isotropic
artificial diffusion, streamline diffusion (SUPG), and
pressure stabilization (PSPG).
In addition, FEATool is the only publicly available FEA
and multiphysics simulation software to feature
monotonicity preserving high resolution TVD
upwinding. This unphysical over and under-shoots can be
avoided, in contrast to standard methods.