**ffmatlib**,
a MATLAB code which
allows the user to generate MATLAB plots of
finite element method (FEM) results computed by FreeFem++.

The computer code and data files made available on this web page are distributed under the GNU LGPL license.

**ffmatlib** is available in
a MATLAB version and
an Octave version

capacitor_2d_test, a MATLAB code which plots data from a model of a 2D capacitor, computed by FreeFem++ and transferred using the ffmatlib() library.

capacitor_3d_test, a MATLAB code which plots data from a model of a 3D capacitor, computed by FreeFem++ and transferred using the ffmatlib() library.

heat_transfer_test, a MATLAB code which plots data from the computation of heat distribution on a metal disk, as computed by FreeFem++ and transferred using the ffmatlib() library.

karman_vortex_test, a MATLAB code which plots data from a calculation of the heat transfer in a von Karman vortex street, as computed by FreeFem++ and transferred using the ffmatlib() library, creating an AVI movie of pressure, temperature, and vorticity.

laplace_periodic_test, a MATLAB code which plots data from the solution of the Laplace equation in a square with periodic boundary conditions, computed by FreeFem++ and transferred using the ffmatlib() library.

poisson_ell_test, a MATLAB code which plots data from a solution of the Poisson equation in the L-shaped region, as computed by FreeFem++ and transferred using the ffmatlib() library.

region_test, a MATLAB code which plots data from an "interesting" region that was meshed by FreeFem++ and transferred using the ffmatlib() library.

- convert_pde_data_3d.m, detects the Lagrangian Finite Element Type and return the data in points tetrahedron format;
- convert_pde_data.m, detects the Lagrangian Finite Element Type and return the data in points triangle format;
- ffcplxmesh.m, returns a complex cartesian mesh grid.
- ffinterpolate.m, interpolates PDE simulation data on a cartesian or curved meshgrid;
- ffpdeplot3D.m, creates cross-sections, selectively plots boundaries identified by a label and creates quiver3() plots from 3D simulation data;
- ffpdeplot.m, creates contour(), quiver() as well as patch() plots from FreeFem++ 2D simulation data;
- ffreaddata.m, reads FreeFem++ Data Files into Matlab / Octave.
- ffreadmesh.m, reads a FreeFem++ Mesh File into the Matlab / Octave workspace.
- fftet2gridfast.c, interpolates from a 3D tetrahedral mesh to a 2D grid.
- fftet2gridfast_matlab_R2018.c, interpolates from a 3D tetrahedral mesh to a 2D grid.
- fftet2grid.m, interpolates from a 3D tetrahedral mesh to a 2D grid;
- fftri2gridfast.c, interpolates from a 2D triangular mesh to a 2D cartesian or curved grid.
- fftri2gridfast_matlab_R2018.c, interpolates from a 2D triangular mesh to a 2D cartesian or curved grid.
- fftri2grid.m, interpolates from a 2D triangular mesh to a 2D cartesian or curved grid.
- ffvectorget.m, extracts from vectorized FE-Space;
- prepare_bd_data_3d.m, calculates the coordinates necessary to plot the colored data;
- prepare_coordinates.m, calculates the coordinates necessary to plot the colored data;
- prepare_data.m, converts raw FE-Space data to plot- and interpolation data;
- prepare_mesh_3d.m, converts FreeFem++ mesh connectivity to nodal coordinates;
- prepare_mesh.m, converts FreeFem++ mesh connectivity to nodal coordinates;