feat: Switch isogrid to Gmsh Frontal-Delaunay meshing (production default)

Replaces Triangle library with Gmsh as the default triangulation engine for
adaptive isogrid generation. Gmsh's Frontal-Delaunay algorithm provides:

- Better adaptive density response (concentric rings around holes)
- Superior triangle quality (min angles 30-35° vs 25-30°)
- Single-pass meshing with background size fields (vs iterative refinement)
- More equilateral triangles → uniform rib widths, better manufacturability
- Natural boundary conformance → cleaner frame edges

Comparison results (mixed hole weights plate):
- Min angle improvement: +5.1° (25.7° → 30.8°)
- Density field accuracy: Excellent vs Poor
- Visual quality: Concentric hole refinement vs random patterns

Changes:
- Updated src/brain/__main__.py to import triangulation_gmsh
- Added gmsh>=4.11 to requirements.txt (Triangle kept as fallback)
- Updated README and technical-spec.md
- Added comparison script and test results

Triangle library remains available as fallback option.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 17:05:19 -05:00
parent 906037f974
commit 5c63d877f0
11 changed files with 1523 additions and 6 deletions

View File

@@ -11,7 +11,7 @@ Takes a plate with holes → generates an optimally lightweighted isogrid patter
| Component | Role | Runtime |
|-----------|------|---------|
| **Python Brain** | Density field → Constrained Delaunay → rib profile | ~1-3 sec |
| **Python Brain** | Density field → Gmsh Frontal-Delaunay → rib profile | ~1-2 sec |
| **NX Hands** | Import profile → mesh → AFEM merge → Nastran solve → extract results | ~60-90 sec |
| **Atomizer Manager** | Optuna TPE sampling → objective evaluation → convergence | 500-2000 trials |