FEATool Multiphysics
v1.12
Finite Element Analysis Toolbox

The last step in the simulation process is postprocessing and visualization. FEATool automatically switches to postprocessing mode after a solution has been computed. Alternatively, one can press the mode button to manually switch to postprocessing mode.
The toolbar button and corresponding menu option opens the Postprocessing Settings dialog box which controls various postprocessing options explained in the section below.
Images or snapshots of the current plot can be exported and saved in jpeg or png formats by using the toolbar button. In the corresponding dialog box exporting and sharing results to Facebook, LinkedIn, and Twitter is also supported.
The and buttons allow exporting the currently visualized postprocessing data as ParaView Glance (VTP) and Plotly web plots, respectively. These types of web plots can be conveniently be inspected, manipulated, exported, and shared via the web. An internet connection may be required to access and download the corresponding web reader, and the exported plot data might be required to be loaded into the viewer manually.
The Post menu allows for switching to Postprocessing Mode, opening the Postprocessing Settings... dialog box, and advanced postprocessing options such as subdomain and boundary integration, and export and interfacing with external tools as explained in the section below.
The visualization options in Postprocessing Settings dialog box shown in the following figure include choosing predefined or entering user defined custom expressions for surface, height, contour, slice, arrow, and deformation plots. Moreover, there are options for choosing the solution to display (for time dependent solutions), selecting or excluding which cells to display, and setting the min and max plot scale limits, and switching the colorbar on and off. The postprocessing options are explained in more detail below.
Note that as is usual in FEATool postprocessing expressions accept general expressions involving dependent variables, space dimensions, constants, and mathematical operators. Complex expressions such as v+ux+sin(2*pi*y) where u and v are dependent variables (so that ux is the derivative in the xdirection), are perfectly valid.
Surface plots allows visualization of both predefined postprocessing expressions and user defined ones on the domain surface. To use the surface plot option check the corresponding check box and enter the expression to visualize.
For convenience, clicking on a 2D surface plot will evaluate the surface expression at the corresponding point and print the evaluated value.
In two dimensions the height expression option is available which scales a surface plot in the zdirection with the computed value of the height expression. To use the height expression option check the corresponding check box.
Two dimensional problems also allow for contour or isoline plots. To use the contour plot option check the corresponding check box and select or enter an expression for the contour values. The contour values can be specified in the Contour levels edit field, either as an integer for the number of contours, or a space separated vector to specify fixed values for the contour levels.
Similarly to contour plots, three dimensional problems allow for isosurface plots. To use the isosurface plot option check the corresponding check box and select or enter an expression for the isosurface values. The iso plot values can be specified in the Iso levels edit field, either as an integer for the number of isosurfaces, or a space separated vector to specify fixed values for the iso levels.
Three dimensional problems also allow for slice plots which are surface plots perpendicular to the coordinate axes. To use the slice plot option check the corresponding check box and select or enter a slice expression. The Slice positions can be prescribed as a single integer signifying the number of equally spaced slices, or a space separated list indicating the exact position of each slice for the chosen axis.
Arrow plots are available in two and three dimensions. To use arrow plots check the corresponding check box and select or enter expressions for the vector field defining the direction of the arrows.
Deformation plots are available in two and three dimensions and deforms the geometry and surface related plots correspondingly. To use the deformation plot, check the corresponding check box and select or enter expressions for the vector field defining the direction of the deformation. The deformation scale factor allows for tuning of the deformation scale in relation to the geometry size.
General settings allow for selecting Solution time (or Eigenvalue/frequency for eigenvalue problems) if several solutions are available as with timedependent problems. Moreover, with Cell selection one can limit the postprocessing to a certain subset of cells by entering a logical expression. For example, the cell selection expression x>0 would only plot cells on the positive xaxis. Colormap selects a colormap to use, the Colorbar check box toggles the colorbar on and off, and the Limits vector indicates and prescribes the minimum and maximum values of the colorbar range. In 3D a Transparency slider is also available to control the opacity of the plots.
The Post menu allows for the following advanced postprocessing options.
Evaluates the minimum and maximum values for expressions on subdomains or boundaries. The Evaluation Expression can either be selected from a list of predefined postprocessing expressions, or entered as a user defined custom expression in the corresponding edit field. The Solution Number/Time can also be selected if more than one is present. In the Selection edit field a space separated list of Subdomains or Boundaries is specified for which the minima and maximia should be evaluated. The numerical Integration Rule prescribes how many evaluation points should be used for each grid cell in the evaluation process. The result will be printed in the Evaluation Result field as well as the command log in the main GUI.
Allows both pre and userdefined expressions to be evaluated on single points or lines. Coordinates for the evaluation points can be entered as space separated vectors for each space dimension in the corresponding edit fields. The Solution Number/Time to evaluate can be selected in the dropdown listbox. The result will be printed in the Evaluation Result field as well as the command log in the main GUI. By selecting one or more of the Boundaries in the left hand side listbox, evaluation points at the boundaries will automatically be used.
Integration of postprocessing expressions over subdomains Subdomain Integration... (calling intsubd) and boundaries Boundary Integration... (calling intbdr) can be performed by selecting the corresponding menu options. The integration dialog box allows for selecting predefined postprocessing or entering user defined expressions in the Integration Expression edit field. Numerical Integration Rule, Solution Number/Time, and Subdomain/Boundary: to integrate over can also be set. The result will be printed in the Integration Result field as well as the command log in the main GUI.
Simulation and postprocessing data can be exported to CSV, General Mesh Viewer (GMV), and ParaView (VTK) and (VTP) formats through the corresponding Export Results... menu options in the FEATool GUI. The current postprocessing expression will be evaluated in the grid points and exported in the chosen format (see the section on coefficient and expressions for a description of valid postprocessing expressions).
To export data manually one can also make use of the evalexpr function and the MATLAB Command Line Interface (CLI). To do this, first export the problem struct from the GUI to the main MATLAB workspace by selecting Export > FEA Problem Struct To Main Workspace from the File menu. Then call evalexpr to create a temporary variable with data to export, for example
c_data = { 'x', 'y', 'u', 'ux', '2*sin(u*x)^2' }; n_data = length(c_data); p = fea.grid.p; n_p = size(p,2); data = zeros(n_p,n_data); for i=1:n_data data(:,i) = evalexpr( c_data{i}, p, fea ); end
The data can now be saved and exported to a file with the MATLAB save command (for example save('ascii','mydata.txt','data')
).
The following functions can be used on the command line for postprocessing and visualization.
Function  Description 

export_csv  Export CSV postprocessing data 
impexp_gmv  Export GMV postprocessing data 
impexp_vtp  Export ParaView VTP data format 
impexp_vtk  Export ParaView VTK data format 
plotbdr  Plot and visualize boundaries 
plotedg  Plot and visualize edges (3D) 
plotsubd  Plot and visualize subdomains 
postplot  Postprocessing and visualization function 
postextrude  Extrude 2D fea data for 3D postprocessing 
postrevolve  Revolve axisymmetric 2D fea data for 3D postprocessing 
princse  Calculate principal stresses 