UNAMalla 6

A 2D block structured mesh generator in Julia


UNAMalla 6β is a mesh generator system in the Julia Programming Language. It generates block structured quadrilateral meshes on polygonal regions. The user can generate high quality meshes on regions with irregular shape, even on regions with holes.

First things first. What is a mesh?

Several two-dimensional problems in Scientific Computing need to split complex shapes into elementary shapes (cells), such as triangles and quadrilaterals (quads). Figures are represented by assemblages of cells called Meshes. Specifically, Quad Meshes are made entirely of quads. An analogy can be drawn between meshes and mosaics on plane regions. In that light, the cells are the tiles and mesh generation can be thought as laying floor tiles.

Mesh on the front of a house is a wall mosaic.

Why do you want to use quad meshes?

Meshes have a wide range of applications in Computation and Engineering: simulations for Fluid Dynamics, animations for Computer Aided Design, visualization of data for Geostatistics, and modeling for Structural Analysis to name but a few.

While triangle meshes are more common in Computer Graphics to represent regions and surfaces, quad meshes have some advantages. Quad meshes are better suited for simulations of fluid motion and animations since the cells must follow line features or must be adapted to deformations imposed by animations.

Quad mesh on the Havana Bay, Cuba

Not any quad mesh is suitable

Some computational models need meshes with properly arranged cells so that the mesh lines don't wind up on the whole model. The cell arragement is given by the connections of the mesh points. The interior points which aren't connected with the same number of points are called irregular points. Cells with irregular points can't be arranged to follow line features. So it is recommended to generate meshes with few irregular points. Meshes without irregular points are known as Structured Meshes, otherwise they are Unstructured Meshes.

unstructured mesh
structured mesh

A structured quad mesh have the following features:

  • Distinguible line features: each interior point is connected exactly with another four points

  • One-to-one correspondence: there is a mapping from a square tiling of size m×nm\times n to the mesh

  • Easy identification: the points are indexed by two subscripts (i,j)(i,j) for i=1,,mi=1,\dots,m and j=1,,nj=1,\dots,n.

Block Structured Meshes: Divide and Conquer

Structured quad meshes can be generated on complex shapes. However several of their quads may be skewed and even have kite shapes. Some applications demand high quality meshes in the sense that a high percent of their quads are approximately rectangles.


The key point to generate high quality meshes is to split complex shapes into blocks and generate structured meshes on each block. The meshes are merged into a single mesh called block structured mesh. We pay careful attention to avoid irregular points and to match the intersection points.


Citing UNAMalla 6β

If you use UNAMalla 6β for a scientific publication, please cite our paper the following way:

Barrera, P., Méndez, I. (2021). Parametrization of Plane Irregular Regions: A Semi-automatic Approach I. In: Garanzha, V.A., Kamenski, L., Si, H. (eds) Numerical Geometry, Grid Generation and Scientific Computing. Lecture Notes in Computational Science and Engineering, vol 143. Springer, Cham. https://doi.org/10.1007/978-3-030-76798-3_17

Flag Counter
CC BY-SA 4.0 UNAMalla. Last modified: May 24, 2022. Website built with Franklin.jl and the Julia programming language.