File Exchange

image thumbnail

JIGSAW: An unstructured mesh generator

version (1.15 MB) by Darren Engwirda
JIGSAW is a Delaunay-based unstructured mesh generator for two- and three-dimensional geometries.


Updated 12 Mar 2018

GitHub view license on GitHub

JIGSAW is a computational library for unstructured mesh generation; designed to generate high-quality triangulations and polyhedral decompositions of general planar, surface and volumetric domains. JIGSAW includes both 'refinement'-based algorithms for the construction of new meshes, as well as 'optimisation'-driven techniques for the improvement of existing grids.
This package provides a MATLAB / OCTAVE based scripting interface to the underlying JIGSAW mesh generator (a C++ library), including a range of additional facilities for file I/O, mesh visualisation and post-processing operations.

For instructions on compiling and configuring the code, see the readme file:

JIGSAW is currently in an open BETA release, and has been successfully tested on various 64-bit Linux, Windows and Mac platforms - any feedback is appreciated by email.

See MESHDEMO for a set of example problems.

The algorithmic developments behind JIGSAW have been the subject of a number of publications. If you make use of JIGSAW, please make reference to the following:

[1] - Darren Engwirda: Generalised primal-dual grids for unstructured co-volume schemes, under review,, 2017.

[2] - Darren Engwirda, Conforming Restricted Delaunay Mesh Generation for Piecewise Smooth Complexes, Procedia Engineering, Volume 163, Pages 84-96, ISSN 1877-7058,, 2016.

[3] - Darren Engwirda, Voronoi-based Point-placement for Three-dimensional Delaunay-refinement, Procedia Engineering, Volume 124, Pages 330-342, ISSN 1877-7058,, 2015.

[4] - Darren Engwirda, David Ivers, Off-centre Steiner points for Delaunay-refinement on curved surfaces, Computer-Aided Design, Volume 72, Pages 157-171, ISSN 0010-4485,, 2016.

[5] - Darren Engwirda, Locally-optimal Delaunay-refinement and optimisation-based mesh generation, Ph.D. Thesis, School of Mathematics and Statistics, The University of Sydney,, 2014.

Comments and Ratings (8)

Error while compiling jigsaw.cpp from src folder:

Error using mex
Cannot export mexFunction: symbol not defined
collect2.exe: error: ld returned 1 exit status

I use 'MinGW64 Compiler (C++)' (mex -setup C++)

@Rod Hid: You first need to compile the C++ library side of jigsaw. See the readme file for more information.

Rod Hid

when I run the file meshdemo, I get the following error:
Error using jigsaw (line 307) JIGSAW's executable not found -- has JIGSAW been compiled from src? Error in meshdemo>demoD (line 474) mesh = jigsaw(opts) ; Error in meshdemo>demo1 (line 110) demoD() ; Error in meshdemo (line 61) case 1, demo1 ;
What am I doing wrong?

@Fernando Zigunov: What doesn't work for you? Did you follow the instructions to first compile the code? JIGSAW is known to run successfully under various different OS / compiler / MATLAB combinations.

Doesn't work


A simpler example ( e.g. mashdemo(0) ) meshing a 3d binary geometry
and producing a surface mesh structure (vertices, faces etc.) as isosurface (matlab) or vol2surf (iso2mesh)
would be of some help for straightforward use into existing matlab codes.


0.9.5 updates.

Extended description.

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux