feat: add adaptive isogrid tool — project foundations
- Python Brain: density field, constrained Delaunay triangulation,
pocket profiles, profile assembly, validation modules
- NX Hands: skeleton scripts for geometry extraction, AFEM setup,
per-iteration solve (require NX environment to develop)
- Atomizer integration: 15-param space definition, objective function
- Technical spec, README, sample test geometry, requirements.txt
- Architecture: Python Brain + NX Hands + Atomizer Manager
2026-02-16 00:01:35 +00:00
|
|
|
|
"""
|
|
|
|
|
|
Atomizer/Optuna integration for adaptive isogrid optimization.
|
|
|
|
|
|
|
|
|
|
|
|
Wires: parameter sampling → Python Brain → NX Hands → result extraction.
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
# Parameter space definition
|
|
|
|
|
|
PARAM_SPACE = {
|
|
|
|
|
|
# Density field
|
|
|
|
|
|
'eta_0': {'type': 'float', 'low': 0.0, 'high': 0.4, 'desc': 'Baseline density offset'},
|
|
|
|
|
|
'alpha': {'type': 'float', 'low': 0.3, 'high': 2.0, 'desc': 'Hole influence scale'},
|
|
|
|
|
|
'R_0': {'type': 'float', 'low': 10.0, 'high': 100.0, 'desc': 'Base influence radius (mm)'},
|
|
|
|
|
|
'kappa': {'type': 'float', 'low': 0.0, 'high': 3.0, 'desc': 'Weight-to-radius coupling'},
|
|
|
|
|
|
'p': {'type': 'float', 'low': 1.0, 'high': 4.0, 'desc': 'Decay exponent'},
|
|
|
|
|
|
'beta': {'type': 'float', 'low': 0.0, 'high': 1.0, 'desc': 'Edge influence scale'},
|
|
|
|
|
|
'R_edge': {'type': 'float', 'low': 5.0, 'high': 40.0, 'desc': 'Edge influence radius (mm)'},
|
|
|
|
|
|
# Spacing
|
|
|
|
|
|
's_min': {'type': 'float', 'low': 8.0, 'high': 20.0, 'desc': 'Min cell size (mm)'},
|
|
|
|
|
|
's_max': {'type': 'float', 'low': 25.0, 'high': 60.0, 'desc': 'Max cell size (mm)'},
|
|
|
|
|
|
# Rib thickness
|
|
|
|
|
|
't_min': {'type': 'float', 'low': 2.0, 'high': 4.0, 'desc': 'Min rib thickness (mm)'},
|
|
|
|
|
|
't_0': {'type': 'float', 'low': 2.0, 'high': 6.0, 'desc': 'Nominal rib thickness (mm)'},
|
|
|
|
|
|
'gamma': {'type': 'float', 'low': 0.0, 'high': 3.0, 'desc': 'Density-thickness coupling'},
|
|
|
|
|
|
# Manufacturing
|
|
|
|
|
|
'w_frame': {'type': 'float', 'low': 3.0, 'high': 20.0, 'desc': 'Perimeter frame width (mm)'},
|
2026-02-16 20:42:46 +00:00
|
|
|
|
'r_f': {'type': 'float', 'low': 3.0, 'high': 10.0, 'desc': 'Pocket fillet radius (mm)'},
|
feat: add adaptive isogrid tool — project foundations
- Python Brain: density field, constrained Delaunay triangulation,
pocket profiles, profile assembly, validation modules
- NX Hands: skeleton scripts for geometry extraction, AFEM setup,
per-iteration solve (require NX environment to develop)
- Atomizer integration: 15-param space definition, objective function
- Technical spec, README, sample test geometry, requirements.txt
- Architecture: Python Brain + NX Hands + Atomizer Manager
2026-02-16 00:01:35 +00:00
|
|
|
|
'd_keep': {'type': 'float', 'low': 1.0, 'high': 3.0, 'desc': 'Hole keepout multiplier (× diameter)'},
|
2026-02-16 01:11:53 +00:00
|
|
|
|
'min_triangle_area': {'type': 'float', 'low': 5.0, 'high': 80.0, 'desc': 'Minimum pocketable triangle area (mm²)'},
|
feat: add adaptive isogrid tool — project foundations
- Python Brain: density field, constrained Delaunay triangulation,
pocket profiles, profile assembly, validation modules
- NX Hands: skeleton scripts for geometry extraction, AFEM setup,
per-iteration solve (require NX environment to develop)
- Atomizer integration: 15-param space definition, objective function
- Technical spec, README, sample test geometry, requirements.txt
- Architecture: Python Brain + NX Hands + Atomizer Manager
2026-02-16 00:01:35 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Default parameters for standalone brain testing
|
|
|
|
|
|
DEFAULT_PARAMS = {
|
|
|
|
|
|
'eta_0': 0.1,
|
|
|
|
|
|
'alpha': 1.0,
|
|
|
|
|
|
'R_0': 30.0,
|
|
|
|
|
|
'kappa': 1.0,
|
|
|
|
|
|
'p': 2.0,
|
|
|
|
|
|
'beta': 0.3,
|
|
|
|
|
|
'R_edge': 15.0,
|
|
|
|
|
|
's_min': 12.0,
|
|
|
|
|
|
's_max': 35.0,
|
|
|
|
|
|
't_min': 2.5,
|
|
|
|
|
|
't_0': 3.0,
|
|
|
|
|
|
'gamma': 1.0,
|
|
|
|
|
|
'w_frame': 8.0,
|
2026-02-16 20:42:46 +00:00
|
|
|
|
'r_f': 6.0,
|
feat: add adaptive isogrid tool — project foundations
- Python Brain: density field, constrained Delaunay triangulation,
pocket profiles, profile assembly, validation modules
- NX Hands: skeleton scripts for geometry extraction, AFEM setup,
per-iteration solve (require NX environment to develop)
- Atomizer integration: 15-param space definition, objective function
- Technical spec, README, sample test geometry, requirements.txt
- Architecture: Python Brain + NX Hands + Atomizer Manager
2026-02-16 00:01:35 +00:00
|
|
|
|
'd_keep': 1.5,
|
2026-02-16 20:42:46 +00:00
|
|
|
|
'min_pocket_radius': 6.0,
|
2026-02-16 01:11:53 +00:00
|
|
|
|
'min_triangle_area': 20.0,
|
feat: add adaptive isogrid tool — project foundations
- Python Brain: density field, constrained Delaunay triangulation,
pocket profiles, profile assembly, validation modules
- NX Hands: skeleton scripts for geometry extraction, AFEM setup,
per-iteration solve (require NX environment to develop)
- Atomizer integration: 15-param space definition, objective function
- Technical spec, README, sample test geometry, requirements.txt
- Architecture: Python Brain + NX Hands + Atomizer Manager
2026-02-16 00:01:35 +00:00
|
|
|
|
}
|