Comprehensive guide for selecting mesh types in numerical simulations.
Scanned 5/31/2026
Install via CLI
openskills install tools-only/X-Skills# Mesh Types
Comprehensive guide for selecting mesh types in numerical simulations.
## Structured Meshes
### Cartesian (Regular)
Uniform spacing in each direction.
```
Grid points at: (i×dx, j×dy, k×dz)
where i, j, k are integers
```
**Properties:**
| Property | Value |
|----------|-------|
| Indexing | Simple (i,j,k) |
| Storage | Minimal (just dx, dy, dz) |
| Stencils | Efficient, regular |
| Parallelization | Easy domain decomposition |
| Complex geometry | Poor fit |
**Best for:**
- Phase-field simulations
- Spectral methods
- Regular domains (boxes)
- Prototyping and testing
### Rectilinear (Non-uniform Cartesian)
Variable spacing, still axis-aligned.
```
Grid points at: (x_i, y_j, z_k)
where x_i, y_j, z_k are 1D arrays
```
**Properties:**
| Property | Value |
|----------|-------|
| Indexing | Still (i,j,k) |
| Storage | 1D arrays for coordinates |
| Stencils | Variable coefficients |
| Refinement | Local stretching |
**Use for:**
- Boundary layer refinement
- Interface refinement
- Graded meshes
**Stretching functions:**
```
Geometric: dx_i = dx_0 × r^i
Hyperbolic tangent: concentrated at boundaries
Polynomial: smooth variation
```
### Curvilinear (Body-Fitted)
General structured mesh, not axis-aligned.
```
Physical: (x, y, z)
Computational: (ξ, η, ζ) on [0,1]³
Mapping: x = x(ξ,η,ζ), etc.
```
**Properties:**
| Property | Value |
|----------|-------|
| Indexing | Still (i,j,k) |
| Storage | Full coordinate arrays |
| Stencils | Metric terms required |
| Geometry | Good for smooth boundaries |
**Metric terms:**
```
∂/∂x = (1/J)[∂ξ/∂x × ∂/∂ξ + ∂η/∂x × ∂/∂η + ∂ζ/∂x × ∂/∂ζ]
where J = Jacobian of mapping
```
**Common transformations:**
- Polar/cylindrical
- Elliptic smoothing
- Algebraic stretching
### Block-Structured
Multiple structured blocks patched together.
```
Block 1: (i,j,k) ∈ [0,N1] × [0,M1] × [0,P1]
Block 2: (i,j,k) ∈ [0,N2] × [0,M2] × [0,P2]
...
Interface: matching or non-matching
```
**Properties:**
| Property | Value |
|----------|-------|
| Flexibility | Better than single block |
| Parallelism | Block = parallel unit |
| Complexity | Interface handling |
| Geometry | Moderate complexity |
## Unstructured Meshes
### Triangular (2D) / Tetrahedral (3D)
Elements: triangles (2D) or tetrahedra (3D).
**Properties:**
| Property | Value |
|----------|-------|
| Geometry | Arbitrary boundaries |
| Adaptivity | Easy local refinement |
| Stencils | Variable, need connectivity |
| Storage | Element-node connectivity |
| Generation | Delaunay, advancing front |
**Data structures:**
```
Nodes: [(x_0, y_0), (x_1, y_1), ...]
Elements: [(n_0, n_1, n_2), ...] # node indices
Edges: derived from elements
```
**Quality metrics:**
- Aspect ratio
- Minimum angle
- Circumradius/inradius ratio
### Quadrilateral (2D) / Hexahedral (3D)
Elements: quads (2D) or hexahedra (3D).
**Properties:**
| Property | Value |
|----------|-------|
| Efficiency | Better per-element accuracy |
| Stiffness | Can be over-constrained |
| Generation | Harder than tri/tet |
| Quality control | More challenging |
**Advantages over tri/tet:**
- Fewer elements for same accuracy
- Better alignment with flow/field directions
- Lower numerical diffusion for advection
### Mixed/Hybrid
Combine different element types.
```
Near walls: structured quad/hex (boundary layer)
Interior: unstructured tri/tet (flexibility)
```
**Common patterns:**
- Prism layers near walls + tets in bulk
- Quad faces on boundaries + tet interior
- Hanging nodes with transitions
## Special Mesh Types
### Octree/Quadtree
Hierarchical refinement by recursive subdivision.
```
Root cell covers domain
Subdivide cells based on criterion
Continue until resolution satisfied
```
**Properties:**
| Property | Value |
|----------|-------|
| Adaptivity | Automatic, hierarchical |
| Load balancing | Natural with Z-ordering |
| Hanging nodes | At refinement interfaces |
| Conservation | Needs special treatment |
**Refinement criteria:**
- Gradient magnitude
- Error estimator
- Geometric features
- Distance to interface
### Voronoi/Polyhedral
Cells are general polygons/polyhedra.
**Properties:**
| Property | Value |
|----------|-------|
| Flexibility | Maximum |
| Quality | Depends on generation |
| FV methods | Natural fit |
| Stencils | Per-cell connectivity |
### Overset (Chimera)
Multiple overlapping meshes.
```
Background mesh: covers domain
Body-fitted mesh: around objects
Interpolation: at overlap boundaries
```
**Use for:**
- Moving bodies
- Multiple components
- Complex geometry with relative motion
## Mesh Selection Guide
### By Geometry Complexity
| Geometry | Recommended |
|----------|-------------|
| Box/rectangle | Cartesian |
| Cylinder/sphere | Curvilinear |
| Single body, smooth | Body-fitted structured |
| Complex single body | Unstructured |
| Multiple bodies | Block-structured or overset |
| Arbitrary | Unstructured |
### By Physics
| Physics | Recommended |
|---------|-------------|
| Diffusion only | Any (Cartesian often sufficient) |
| Advection-dominated | Aligned with flow if possible |
| Boundary layers | Structured near wall |
| Shocks | Adaptive (octree/AMR) |
| Interface tracking | Refined at interface |
| Phase-field | Uniform or locally refined |
### By Method
| Method | Compatible Meshes |
|--------|-------------------|
| Finite difference | Structured (Cartesian, curvilinear) |
| Finite volume | Any |
| Finite element | Any (often unstructured) |
| Spectral | Structured |
| Lattice Boltzmann | Cartesian |
## Mesh Refinement Strategies
### H-Refinement
Subdivide cells/elements.
```
Original: element of size h
Refined: 4 elements (2D) or 8 elements (3D) of size h/2
```
### P-Refinement
Increase polynomial order within elements.
```
Original: linear elements (p=1)
Refined: quadratic elements (p=2)
```
### R-Refinement (Mesh Movement)
Move existing nodes without changing connectivity.
```
Nodes move toward regions needing resolution
Total node count unchanged
```
### HP-Refinement
Combine h and p adaptively.
```
Smooth regions: increase p
Non-smooth regions: decrease h
```
## Mesh Generation Considerations
### Input Requirements
| Input | Purpose |
|-------|---------|
| Geometry (CAD, STL) | Domain boundary |
| Target element size | Resolution control |
| Refinement regions | Local sizing |
| Boundary conditions | Layer requirements |
### Output Quality Checks
- [ ] No inverted elements
- [ ] Aspect ratio within bounds
- [ ] Skewness within bounds
- [ ] Minimum angle acceptable
- [ ] Smooth size transitions
- [ ] Boundary conformity
### Common Tools
| Tool | Type | Mesh Types |
|------|------|------------|
| Gmsh | Open source | Tri, tet, structured |
| Triangle | Open source | 2D Delaunay |
| TetGen | Open source | 3D Delaunay |
| CGAL | Library | Various |
| ANSYS Meshing | Commercial | All types |
| Pointwise | Commercial | High quality |
## Quick Reference
### Mesh Type Trade-offs
| Property | Structured | Unstructured |
|----------|------------|--------------|
| Setup time | Low (simple) | Higher |
| Memory | Low | Higher |
| Solver efficiency | High | Lower |
| Geometry flexibility | Low | High |
| Adaptivity | Harder | Easier |
| Parallelism | Easy | More complex |
No comments yet. Be the first to comment!