feat: Implement complete FEM regeneration workflow
This commit completes the optimization loop infrastructure by implementing the full FEM regeneration workflow based on the user's working journal. ## Changes ### FEM Regeneration Workflow (solve_simulation.py) - Added STEP 1: Switch to Bracket.prt and update geometry - Uses SetActiveDisplay() to make Bracket.prt active - Calls UpdateManager.DoUpdate() to rebuild CAD geometry with new expressions - Added STEP 2: Switch to Bracket_fem1 and update FE model - Uses SetActiveDisplay() to make FEM active - Calls fEModel1.UpdateFemodel() to regenerate FEM with updated geometry - Added STEP 3: Switch back to sim part before solving - Close and reopen .sim file to force reload from disk ### Enhanced Journal Output (nx_solver.py) - Display journal stdout output for debugging - Shows all journal steps: geometry update, FEM regeneration, solve, save - Helps verify workflow execution ### Verification Tools - Added verify_parametric_link.py journal to check expression dependencies - Added FEM_REGENERATION_STATUS.md documenting the complete status ## Status ### ✅ Fully Functional Components 1. Parameter updates - nx_updater.py modifies .prt expressions 2. NX solver - ~4s per solve via journal 3. Result extraction - pyNastran reads .op2 files 4. History tracking - saves to JSON/CSV 5. Optimization loop - Optuna explores parameter space 6. **FEM regeneration workflow** - Journal executes all steps successfully ### ❌ Remaining Issue: Expressions Not Linked to Geometry The optimization returns identical stress values (197.89 MPa) for all trials because the Bracket.prt expressions are not referenced by any geometry features. Evidence: - Journal verification shows FEM update steps execute successfully - Feature dependency check shows no features reference the expressions - All optimization infrastructure is working correctly The code is ready - waiting for Bracket.prt to have its expressions properly linked to the geometry features in NX. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,71 +1,70 @@
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Starting Nastran Exporter
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing file
|
||||
C:\Users\antoi\Documents\Atomaste\Atomizer\tests\bracket_sim1-solution_1.dat
|
||||
C:\Users\antoi\Documents\Atomaste\Atomizer\examples\bracket\bracket_sim1-solution_1.dat
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing SIMCENTER NASTRAN 2412.0 compatible deck
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Nastran System section
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing File Management section
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Executive Control section
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Case Control section
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Bulk Data section
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Nodes
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Elements
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Physical Properties
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Materials
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Degree-of-Freedom Sets
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Loads and Constraints
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Writing Coordinate Systems
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Validating Solution Setup
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Summary of Bulk Data cards written
|
||||
|
||||
+----------+----------+
|
||||
| NAME | NUMBER |
|
||||
+----------+----------+
|
||||
| CHEXA | 306 |
|
||||
| CPENTA | 10 |
|
||||
| FORCE | 3 |
|
||||
| GRID | 585 |
|
||||
| CTETRA | 1027 |
|
||||
| FORCE | 5 |
|
||||
| GRID | 2040 |
|
||||
| MAT1 | 1 |
|
||||
| MATT1 | 1 |
|
||||
| PARAM | 6 |
|
||||
| PSOLID | 1 |
|
||||
| SPC | 51 |
|
||||
| SPC | 109 |
|
||||
| TABLEM1 | 3 |
|
||||
+----------+----------+
|
||||
|
||||
*** 08:33:00 ***
|
||||
*** 12:40:30 ***
|
||||
Nastran Deck Successfully Written
|
||||
|
||||
|
||||
Reference in New Issue
Block a user