fix: Apply expression updates directly in NX journal
Critical fix - the expressions were not being applied during optimization! The journal now receives expression values and applies them using EditExpressionWithUnits() BEFORE rebuilding geometry and regenerating FEM. ## Key Changes ### Expression Application in Journal (solve_simulation.py) - Journal now accepts expression values as arguments (tip_thickness, support_angle) - Applies expressions using EditExpressionWithUnits() on active Bracket part - Calls MakeUpToDate() on each modified expression - Then calls UpdateManager.DoUpdate() to rebuild geometry with new values - Follows the exact pattern from the user's working journal ### NX Solver Updates (nx_solver.py) - Added expression_updates parameter to run_simulation() and run_nx_simulation() - Passes expression values to journal via sys.argv - For bracket: passes tip_thickness and support_angle as separate args ### Test Script Updates (test_journal_optimization.py) - Removed nx_updater step (no longer needed - expressions applied in journal) - model_updater now just stores design vars in global variable - simulation_runner passes expression_updates to nx_solver - Sequential workflow: update vars -> run journal (apply expressions) -> extract results ## Results - OPTIMIZATION NOW WORKS! Before (all trials same stress): - Trial 0: tip=23.48, angle=37.21 → stress=197.89 MPa - Trial 1: tip=20.08, angle=20.32 → stress=197.89 MPa (SAME!) - Trial 2: tip=18.19, angle=35.23 → stress=197.89 MPa (SAME!) After (varying stress values): - Trial 0: tip=21.62, angle=30.15 → stress=192.71 MPa ✅ - Trial 1: tip=17.17, angle=33.52 → stress=167.96 MPa ✅ BEST! - Trial 2: tip=15.06, angle=21.81 → stress=242.50 MPa ✅ Mesh also changes: 1027 → 951 CTETRA elements with different parameters. The optimization loop is now fully functional with expressions being properly applied and the FEM regenerating with correct geometry! 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -111,7 +111,7 @@
|
||||
$*
|
||||
$* SOLVER INPUT FILE: BRACKET_SIM1-SOLUTION_1.DAT
|
||||
$* CREATION DATE: 15-NOV-2025
|
||||
$* CREATION TIME: 12:40:30
|
||||
$* CREATION TIME: 12:47:20
|
||||
$* HOSTNAME: ANTOINETHINKPAD
|
||||
$* NASTRAN LICENSE: DESKTOP BUNDLE
|
||||
$*
|
||||
@@ -182,16 +182,16 @@
|
||||
23 $*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|
||||
24 $*
|
||||
25 BEGIN BULK
|
||||
0 INPUT BULK DATA ENTRY COUNT = 6300
|
||||
0 TOTAL COUNT= 6276
|
||||
0 INPUT BULK DATA ENTRY COUNT = 5432
|
||||
0 TOTAL COUNT= 5408
|
||||
|
||||
|
||||
M O D E L S U M M A R Y
|
||||
|
||||
NUMBER OF GRID POINTS = 2040
|
||||
NUMBER OF GRID POINTS = 1771
|
||||
|
||||
|
||||
NUMBER OF CTETRA ELEMENTS = 1027
|
||||
NUMBER OF CTETRA ELEMENTS = 862
|
||||
|
||||
*** USER INFORMATION MESSAGE 4109 (OUTPBN2)
|
||||
THE LABEL IS NX2412 FOR FORTRAN UNIT 12
|
||||
@@ -209,8 +209,8 @@
|
||||
101 1 0 0 0 0 0
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 20 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 31509 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 151199 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 27169 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 130367 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK ICASE WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
102 27 0 0 0 0 0
|
||||
@@ -234,18 +234,18 @@
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 54 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK GPL WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 2040 2040 0 0 0 0
|
||||
101 1771 1771 0 0 0 0
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 4080 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 3542 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 6151 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 5344 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK GPDT WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
102 2040 7 0 1 0 0
|
||||
102 1771 7 0 1 0 0
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 20400 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 17710 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 19 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 20426 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 17736 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK EPT WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 0 256 0 0 0 0
|
||||
@@ -270,9 +270,9 @@
|
||||
DATA BLOCK GEOM2 WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 0 0 0 512 0 0
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 12327 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 10347 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 12360 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 10380 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK GEOM3 WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
102 0 0 64 0 0 0
|
||||
@@ -291,16 +291,16 @@
|
||||
DATA BLOCK GEOM1 WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
104 0 0 8 0 0 0
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 22443 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 19484 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 22476 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 19517 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK BGPDT WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
105 2040 0 12240 1 0 2040
|
||||
105 1771 0 10626 1 0 1771
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 24480 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 21252 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 28590 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 24824 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK DIT WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 32768 0 0 0 0 0
|
||||
@@ -316,11 +316,11 @@
|
||||
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK EQEXIN WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 2040 0 0 0 0 0
|
||||
101 1771 0 0 0 0 0
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 4080 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 3542 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 8190 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 7114 WORDS.)
|
||||
1 NOVEMBER 15, 2025 SIMCENTER NASTRAN 11/ 8/24 PAGE 7
|
||||
|
||||
0
|
||||
@@ -338,7 +338,7 @@
|
||||
MZ ---- ---- ---- ---- ---- 0.000000E+00
|
||||
TOTALS 0.000000E+00 0.000000E+00 -9.999967E+05 -9.999967E+07 0.000000E+00 0.000000E+00
|
||||
*** USER INFORMATION MESSAGE - SINGULARITIES FOUND USING EIGENVALUE METHOD
|
||||
*** 5793 SINGULARITIES FOUND 5793 SINGULARITIES ELIMINATED
|
||||
*** 4986 SINGULARITIES FOUND 4986 SINGULARITIES ELIMINATED
|
||||
1 NOVEMBER 15, 2025 SIMCENTER NASTRAN 11/ 8/24 PAGE 8
|
||||
|
||||
0 SUBCASE 1
|
||||
@@ -347,7 +347,7 @@
|
||||
*** USER INFORMATION MESSAGE 5293 (SSG3A)
|
||||
FOR DATA BLOCK KLL
|
||||
LOAD SEQ. NO. EPSILON EXTERNAL WORK EPSILONS LARGER THAN 0.001 ARE FLAGGED WITH ASTERISKS
|
||||
1 -1.2736915E-13 1.5218577E+05
|
||||
1 1.2923081E-12 4.2641671E+05
|
||||
1 NOVEMBER 15, 2025 SIMCENTER NASTRAN 11/ 8/24 PAGE 9
|
||||
|
||||
0
|
||||
@@ -357,34 +357,34 @@
|
||||
0 SPCFORCE RESULTANT
|
||||
SUBCASE/ LOAD
|
||||
DAREA ID TYPE T1 T2 T3 R1 R2 R3
|
||||
0 1 FX 2.527795E-07 ---- ---- ---- 3.852185E+03 -7.669947E-13
|
||||
FY ---- 1.450826E-07 ---- 9.999967E+07 ---- -2.115735E-05
|
||||
FZ ---- ---- 9.999967E+05 3.350569E-09 -3.852185E+03 ----
|
||||
0 1 FX 1.027875E-06 ---- ---- ---- 1.586755E+03 2.200001E-13
|
||||
FY ---- 3.468449E-07 ---- 9.999967E+07 ---- -8.811813E-05
|
||||
FZ ---- ---- 9.999967E+05 -1.578646E-09 -1.586755E+03 ----
|
||||
MX ---- ---- ---- 0.000000E+00 ---- ----
|
||||
MY ---- ---- ---- ---- 0.000000E+00 ----
|
||||
MZ ---- ---- ---- ---- ---- 0.000000E+00
|
||||
TOTALS 2.527795E-07 1.450826E-07 9.999967E+05 9.999967E+07 1.104374E-05 -2.115735E-05
|
||||
TOTALS 1.027875E-06 3.468449E-07 9.999967E+05 9.999967E+07 5.159754E-05 -8.811813E-05
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK OQG1 WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 0 16320 15 25 0 1
|
||||
101 0 14168 15 25 0 1
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 16320 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 14168 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 16501 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 14349 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK BOUGV1 WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 0 16320 15 25 0 1
|
||||
101 0 14168 15 25 0 1
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 16320 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 14168 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 16501 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 14349 WORDS.)
|
||||
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
|
||||
DATA BLOCK OES1 WRITTEN ON FORTRAN UNIT 12, TRL =
|
||||
101 63 11 15 25 0 1
|
||||
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
|
||||
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 65538 WORDS.)
|
||||
(NUMBER OF FORTRAN RECORDS WRITTEN = 26 RECORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 112124 WORDS.)
|
||||
(TOTAL DATA WRITTEN FOR DATA BLOCK = 94139 WORDS.)
|
||||
1 NOVEMBER 15, 2025 SIMCENTER NASTRAN 11/ 8/24 PAGE 10
|
||||
|
||||
0
|
||||
|
||||
Reference in New Issue
Block a user