# FEATool Multiphysics

- Technical Specifications

# FEATool Multiphysics

*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).

## Modeling Interface

In addition to the easy to use GUI, all FEATool finite element functions can be used on the MATLAB command line interface and in m-script files.

FEATool also features convenient built-in equation 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.

## Geometry Preprocessing

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.

## Grid Generation

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 or generated 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 following formats

- Dolfin/FEniCS (XML)
- General Mesh Viewer (GMV)
- GiD
- OpenFOAM
- ParaView (VTK)
- STL
- Triangle

## Postprocessing

Built-in postprocessing and visualization options include

- 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 ParaView (VTK), CSV, and General Mesh Viewer (GMV) formats for further postprocessing.

## File Formats

Simulation models can be saved in the following file formats

- Binary file format (.fea)
- GUI script file (.fes)
- MATLAB m-file script (.m)

## 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.

## Physics Modes

The following pre-defined physics modes and PDE equations are available, and can be combined to define complex multiphysics models- Heat Transfer / Convection and Conduction
- Mass Transfer / Convection, Diffusion, and Reaction
- Structural Mechanics (Linear elasticity) with predefined temperature strain relations
- Fluid Dynamics
- Electromagnetics
- Laplace / Poisson Equation

In addition, the custom equation physics mode allows for completely user defined equations with the FEATool PDE syntax.

## Solvers

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 discretization schemes.

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 separately.

## FEniCS

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 independently.

## FEM Discretization

The following finite element basis functions discretizations are available in 1D, 2D, and 3D

- Constant (P
_{0}/Q_{0}) - Linear conforming Lagrange (P
_{1}/Q_{1}) - Higher order Lagrange (P
_{2}/Q_{2}-P_{5}/Q_{5}) - Non-conforming (P
_{-1},P^{~}_{1},Q^{~}_{1}) - Hermite elements H
_{3}

Furthermore, the FEATool finite element library features open source code, and allows for custom shape functions to be implemented.

## Artificial Stabilization

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.