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:
@@ -17,7 +17,8 @@ from src.atomizer_study import DEFAULT_PARAMS
|
||||
from src.shared.arc_utils import typed_segments_to_polyline
|
||||
from .density_field import evaluate_density_grid
|
||||
from .geometry_schema import normalize_geometry_schema
|
||||
from .triangulation import generate_triangulation
|
||||
from .triangulation_gmsh import generate_triangulation # Gmsh Frontal-Delaunay (production)
|
||||
# from .triangulation import generate_triangulation # Triangle library (fallback)
|
||||
from .pocket_profiles import generate_pockets
|
||||
from .profile_assembly import assemble_profile, profile_to_json
|
||||
from .validation import validate_profile
|
||||
|
||||
Reference in New Issue
Block a user