feat: Add precision rounding for optimization values

Round design variables, objectives, and constraints to appropriate
decimal precision based on physical units (4 decimals for mm, degrees, MPa).

- Added _get_precision() method with unit-based precision mapping
- Round design variables when sampled from Optuna
- Round extracted results (objectives and constraints)
- Added units field to objectives in config files
- Tested: values now show 4 decimals instead of 17+

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-15 12:56:50 -05:00
parent d694344b9f
commit a267e2d6f0
12 changed files with 5753 additions and 6303 deletions

View File

@@ -111,7 +111,7 @@
$*
$* SOLVER INPUT FILE: BRACKET_SIM1-SOLUTION_1.DAT
$* CREATION DATE: 15-NOV-2025
$* CREATION TIME: 12:51:37
$* CREATION TIME: 12:54:57
$* HOSTNAME: ANTOINETHINKPAD
$* NASTRAN LICENSE: DESKTOP BUNDLE
$*
@@ -182,16 +182,16 @@
23 $*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
24 $*
25 BEGIN BULK
0 INPUT BULK DATA ENTRY COUNT = 6454
0 TOTAL COUNT= 6430
0 INPUT BULK DATA ENTRY COUNT = 5868
0 TOTAL COUNT= 5844
M O D E L S U M M A R Y
NUMBER OF GRID POINTS = 2086
NUMBER OF GRID POINTS = 1910
NUMBER OF CTETRA ELEMENTS = 1058
NUMBER OF CTETRA ELEMENTS = 941
*** 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 = 32279 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 154895 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 29349 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 140831 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 2086 2086 0 0 0 0
101 1910 1910 0 0 0 0
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 4172 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 3820 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 6289 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 5761 WORDS.)
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
DATA BLOCK GPDT WRITTEN ON FORTRAN UNIT 12, TRL =
102 2086 7 0 1 0 0
102 1910 7 0 1 0 0
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 20860 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 19100 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 19 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 20886 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 19126 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 = 12699 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 11295 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 12732 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 11328 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 = 22949 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 21013 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 22982 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 21046 WORDS.)
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
DATA BLOCK BGPDT WRITTEN ON FORTRAN UNIT 12, TRL =
105 2086 0 12516 1 0 2086
105 1910 0 11460 1 0 1910
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 25032 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 22920 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 29234 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 26770 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 2086 0 0 0 0 0
101 1910 0 0 0 0 0
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 4172 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 3820 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 8374 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 7670 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
*** 5931 SINGULARITIES FOUND 5931 SINGULARITIES ELIMINATED
*** 5403 SINGULARITIES FOUND 5403 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.5322169E-13 1.9575992E+05
1 -4.6694540E-13 1.6432845E+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 -4.787489E-07 ---- ---- ---- -2.397258E+04 1.315896E-11
FY ---- 1.644948E-07 ---- 9.999967E+07 ---- 4.069059E-05
FZ ---- ---- 9.999967E+05 1.725640E-09 2.397258E+04 ----
0 1 FX 2.554889E-07 ---- ---- ---- -2.003767E+04 1.107535E-11
FY ---- 1.855224E-07 ---- 9.999967E+07 ---- -2.492877E-05
FZ ---- ---- 9.999967E+05 1.766626E-09 2.003767E+04 ----
MX ---- ---- ---- 0.000000E+00 ---- ----
MY ---- ---- ---- ---- 0.000000E+00 ----
MZ ---- ---- ---- ---- ---- 0.000000E+00
TOTALS -4.787489E-07 1.644948E-07 9.999967E+05 9.999967E+07 -2.884520E-05 4.069060E-05
TOTALS 2.554889E-07 1.855224E-07 9.999967E+05 9.999967E+07 1.073172E-05 -2.492876E-05
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
DATA BLOCK OQG1 WRITTEN ON FORTRAN UNIT 12, TRL =
101 0 16688 15 25 0 1
101 0 15280 15 25 0 1
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 16688 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 15280 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 16869 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 15461 WORDS.)
*** USER INFORMATION MESSAGE 4114 (OUTPBN2)
DATA BLOCK BOUGV1 WRITTEN ON FORTRAN UNIT 12, TRL =
101 0 16688 15 25 0 1
101 0 15280 15 25 0 1
(MAXIMUM POSSIBLE FORTRAN RECORD SIZE = 65538 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 16688 WORDS.)
(MAXIMUM SIZE OF FORTRAN RECORDS WRITTEN = 15280 WORDS.)
(NUMBER OF FORTRAN RECORDS WRITTEN = 24 RECORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 16869 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 15461 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 = 115503 WORDS.)
(TOTAL DATA WRITTEN FOR DATA BLOCK = 102750 WORDS.)
1 NOVEMBER 15, 2025 SIMCENTER NASTRAN 11/ 8/24 PAGE 10
0