# FEATool Multiphysics

- Frequently Asked Questions FAQ

## ⊕ General information

## ⊖ General information

### What is FEATool?

FEATool is short for Finite Element Analysis Toolbox, and is a fully integrated Matlab and Octave computer simulation software suite for modeling and simulation of partial differential equations (PDE), continuum mechanics, physical processes, and engineering applications. |

### What kind of problems can FEATool solve?

FEATool models and solves general systems of coupled partial differential equations (PDE) which enables FEATool to simulate many types of physical phenomena found in continuum mechanics, such as heat transfer, fluid dynamics (CFD), structural mechanics (SME), electromagnetics, and chemical and reaction engineering problems. |

### What are the benefits of using FEATool?

FEATool is by design very easy to use and a fully integrated simulation package including CAD and geometry modeling tools, preprocessing and automatic grid generation, solvers, and post processing. This makes it possible to very quickly set up simulation experiments and test ideas, all in the same program so that the time to (start) solution is very short. Moreover, since FEATool integrates seamlessly with Matlab, Octave, and FEniCS one can also leverage the m-scripting and Python languages and functions together with FEATool. |

### What is the design philosophy behind FEATool?

FEATool is specifically designed to be easy to use, and also very general so that any kind of equation or problem can be studied. Moreover, FEATool interfaces naturally with Matlab and Octave, and is extensible so as to interface with other software and simulation tools such as FeatFlow, FEniCS, and Plotly. |

### What programming language is FEATool written in?

FEATool is entirely written in Octave/Matlab m-code script language, and is also extensible so users can call their own preprocessing, solvers, postprocessing routines through hooks and function overloading. |

### What limitations does FEATool have?

Since m-code is not precompiled but Just-In-Time (JIT) interpreted by Octave or Matlab it will in general not be as fast or memory efficient as an equivalent code written in C or Fortran. However, library calls, for example calls to linear solvers such as UMFPACK, are just as efficient as other software using these same libraries. Moreover, core FEM library functions of FEATool have been vectorized, optimized, and benchmarked to run as fast as Fortran. |

### Is there more documentation/tutorials available?

FEATool comes with a full documentation suite including Quickstart, User’s, Modeling and Tutorial guides. Also keep and eye out on the FEATool Blog which frequently features tutorials, tips, and examples, and subscribe to the FEATool Newsletter which features information about new releases and important updates. |

### Is FEATool free?

A free version of FEATool Multiphysics is available for non-commercial use with certain restrictions and limitations. |

### I have used FEATool in my research/paper, how should I attribute FEATool?

Please add a reference to the FEATool User’s Guide and homepage, for example: |

### I think I have found a bug in FEATool, what should I do?

Please send a bug report with, details of your system and instructions how to reproduce the error if possible, to info@featool.com. |

## ⊕ System requirements

## ⊖ System requirements

### What is required to run FEATool?

FEATool requires either Matlab Version 7.9 (R2009b) or later, or alternatively GNU Octave Version 4.0 or later (command line interface CLI non-GUI operation is supported for earlier Octave versions). Furthermore, a system with 4GB or more RAM memory is recommended. |

### What operating systems does FEATool support?

FEATool can run on any computer system that supports Octave or Matlab, such as Windows, Linux, Unix, and Mac. |

### Can I use the graphical user interface (GUI) in Octave?

GUI under Octave is supported on Windows and Linux systems with the Qt toolkit which is available with Octave version 4.0 and later. |

## ⊕ Installation

## ⊖ Installation

### How do I install FEATool?

Sign up to the FEATool newsletter to download the software. FEATool is available as a Matlab Windows installer, Octave package, and also zip archive for other systems. To install FEATool follow the installation instructions in the Quickstart guide. |

### How do I get started with FEATool?

Start by working through one of the tutorial examples found in the FEATool Quickstart Guide. |

### How do I install Gmsh/Triangle?

FEATool will automatically try to download and install Gmsh/Triangle if required. If this fails, manually download the binaries and/or source code from the Gmsh and Triangle websites, compile if necessary, and copy the binaries to the |

### How do I install FEniCS?

Please follow the installation instructions on the FEniCS project website, noting that FEniCS must be callable through Python as |

## ⊕ Multiphysics

## ⊖ Multiphysics

### Can FEATool simulate coupled multiphysics problems?

FEATool technically supports any number of coupled equations and physics modes. (Limited by system constraints, as increasing the number of coupled equations will require more memory and time to solve.) |

### Can FEATool solve 3D problems?

FEATool supports 1D, 2D, Axisymmetric (Cylindrical coordinates 2.5D), and problems in full 3D. |

### What kind of physics can be simulated?

There are currently 14 predefined physics application modes available |

### How do I couple physics modes (implement a multiphysics model)?

Add additional equations can be added with the |

## ⊕ Finite element method

## ⊖ Finite element method

### What algorithm or method does FEATool use to solve problems?

FEATool uses the finite element method (FEM) to discretize and solve the underlying partial differential equations (PDEs). Moreover, time dependent problems are discretized and solved with the backward Euler, Crank-Nicolson, and Fractional-Step-Theta time stepping schemes. |

### What FEM shape/basis functions are supported?

FEATool supports standard 1st through 5th order conforming Lagrange (P1-P5/Q1-Q5) functions, linear non-conforming Crouziex-Raviart and Rannacher-Turek (P-1/Q1~), quadratic C1 Hermite, and piecewise constant discontinuous (P0) FEM basis functions. |

### Can I access finite element matrices and/or bi-linear forms?

For a predefined |

### How do I access the finite element problem data?

The finite element problem is defined in a struct variable called |

### How do I enter my own equations?

Press the |

### Does FEATool support parallel solvers?

Matlab and Octave does not per default include parallel sparse linear solvers. However, one can export FEATool models to FEniCS project Python scripts with support for parallel solvers. Alternatively, it is possible to run Matlab and Octave instances in parallel batches. |

## ⊕ Import and export

## ⊖ Import and export

### How do I import and export grids/data?

Import and exporting grids and data from various formats can be done using the corresponding option from the |

### How do I export a computed solution?

First export the problem struct from the GUI to the main workspace by choosing |

*Click on the ⊕/⊖ Heading to expand or collapse the corresponding section.*