FEATool Multiphysics is a fully integrated physics and PDE simulation environment where the modeling process is subdivided into six steps; preprocessing, mesh and grid generation, physics and PDE specification, boundary condition specification, solution, and postprocessing and visualization.
The FEATool graphical user interface shown above has been specifically designed to be very easy to use and quickly get started with. Specifically, because of the full integration of CAD and simulation tools users can quickly and easily switch between pre-processing, analysis, and post-processing modes to change simulation parameters, modify geometry and meshes, to solution evaluation and visualization. In this way FEATool can make up for any performance overhead by saving users time with problem set up and analysis.
FEATool has introduced a multi-simulation feature whereby interfaces to popular academic and open-source solvers are developed. This feature enables these solvers to be used from the familiar FEATool GUI and CLI saving time and effort of learning the internals and syntax of the solvers themselves. The CFD solver interfaces allows fluid dynamics problems to be solved with the finite volume CFD solvers OpenFOAM and SU2. Using the interfaces automatically converts incompressible Navier-Stokes FEATool models to compatible OpenFOAM/SU2 mesh, boundary, and control dictionary files, runs simulations, and afterwards imports and interpolates the resulting solutions back into FEATool. In this way more advanced, larger, and parallel CFD models, for example including turbulence, can be simulated without leaving the FEATool interface.
Similar to the OpenFOAM and SU2 solver interfaces, FEATool also features a fully integrated interface to the FEniCS general FEM and multiphysics solver. Using the FEATool-FEniCS interface, as both codes feature PDE definition languages, multiphysics problems can automatically be translated and converted to FEniCS Python definition files, after which system calls to the FEniCS solver is made, and the resulting solution re-imported.
Fully scriptable CLI interface
GUI operation is recorded as equivalent function calls, and therefore in addition to binary formats, FEATool simulation models can also be saved and exported as fully scriptable and editable MATLAB compatible m-script files. The short MATLAB script below illustrates how a complete flow around a cylinder computational fluid dynamics benchmark problem can be defined and solved with the FEATool m-script functions. Specifically, custom partial differential equations and expressions can simply be entered and evaluated as string expressions as-is, without need for further compilation or writing custom functions. % Geometry and mesh generation. fea.sdim = ; fea.geom.objects = ; fea = geom_apply_formula; fea.grid = gridgen; % Problem definition. fea = addphys; % Prescribe fluid viscosity. fea.phys.ns.eqn.coef = ; % Boundary conditions. % Inflow at boundary 4. fea.phys.ns.bdr.sel = 2; % Outflow at boundary 2. fea.phys.ns.bdr.sel = 3; % Parabolic inflow profile x-velocity expression. fea.phys.ns.bdr.coef = '4*0.3*y*/0.41^2'; % Check, parse, and solve problem. fea = parsephys; fea = parseprob; fea.sol.u = solvestat; % Alternatively solve with OpenFOAM or SU2 % fea.sol.u = openfoam; % fea.sol.u = su2; % Postprocessing and visualization. postplot p_cyl_front = evalexpr; p_cyl_back = evalexpr; delta_p_computed = p_cyl_front - p_cyl_back delta_p_reference = 0.117520
External mesh generator interfaces
Similar to the external solver interfaces, FEATool features built-in support for the Gmsh and Triangle mesh generators. If requested instead of the built-in mesh generation algorithm, FEATool will convert and export appropriate Gridgen2D, Gmsh, or Triangle input data files, call the mesh generators through external system calls, and re-import the resulting grids into FEATool.
Other distinguishing features
Stand-alone operation or can be used as a MATLAB toolbox.
Fully cross platform MATLAB interoperability including other toolboxes.