feat: consolidate units to Metric/Imperial with unit-aware dialogs
Some checks failed
CI / lint (push) Has been cancelled
CI / test (macos-latest, 3.10) (push) Has been cancelled
CI / test (macos-latest, 3.11) (push) Has been cancelled
CI / test (macos-latest, 3.12) (push) Has been cancelled
CI / test (ubuntu-latest, 3.10) (push) Has been cancelled
CI / test (ubuntu-latest, 3.11) (push) Has been cancelled
CI / test (ubuntu-latest, 3.12) (push) Has been cancelled
CI / test (windows-latest, 3.10) (push) Has been cancelled
CI / test (windows-latest, 3.11) (push) Has been cancelled
CI / test (windows-latest, 3.12) (push) Has been cancelled

- core/units: two dominant systems (Metric m/kN, Imperial ft/kip) with
  display conversion helpers, legacy 4-system migration in ProjectMeta
- dialogs/docks: unit-aware material, section, case, load, grid and
  results labels; diagram renderer unit labels; render controls update
- docs: add consistent_units.md; regen examples/*.osmodel artifacts
- tests: update persistence/phase8/project/unit-labels for new systems
This commit is contained in:
smillmorel 2026-09-08 16:33:30 -04:00
commit d01a5957b7
99 changed files with 3143 additions and 976 deletions

View file

@ -4,7 +4,7 @@
"name": "OpenSees Ex 4 - Portal Frame (Elastic Build)",
"description": "Example 4 elastic portal frame with shared gravity, push, and sine-wave support motion.",
"author": "OpenSees Wiki / Silvia Mazzoni & Frank McKenna",
"units": "US (in, kip, kip·s²/in, s, ksi)"
"units": "Imperial (in, kip, kip·s²/in, s, ksi)"
},
"ndm": 2,
"ndf": 3,
@ -148,7 +148,8 @@
"Iz": 864000.0,
"Iy": 864000.0,
"G": 1.0,
"J": 1.0
"J": 1.0,
"shape": null
},
{
"id": 2,
@ -159,7 +160,8 @@
"Iz": 4423680.0,
"Iy": 4423680.0,
"G": 1.0,
"J": 1.0
"J": 1.0,
"shape": null
}
],
"elements": [
@ -173,7 +175,8 @@
],
"section_id": 1,
"geom_transf": "Linear",
"rho": 0.0
"rho": 0.0,
"consistent_mass": false
},
{
"id": 2,
@ -185,7 +188,8 @@
],
"section_id": 1,
"geom_transf": "Linear",
"rho": 0.0
"rho": 0.0,
"consistent_mass": false
},
{
"id": 3,
@ -197,7 +201,8 @@
],
"section_id": 2,
"geom_transf": "Linear",
"rho": 0.0
"rho": 0.0,
"consistent_mass": false
}
],
"mp_constraints": [],
@ -335,7 +340,7 @@
-83.82633839751217,
-99.09214039482102,
-113.56011074290575,
-127.11376185155243,
-127.11376185155244,
-139.643967691452,
-151.04984241282355,
-161.23955261895566,
@ -428,7 +433,7 @@
-113.56011074290593,
-99.0921403948212,
-83.82633839751236,
-67.88561601251554,
-67.88561601251556,
-51.398318563481766,
-34.49719207509674,
-17.318314480143496,
@ -511,7 +516,7 @@
99.0921403948209,
113.56011074290566,
127.11376185155234,
139.64396769145193,
139.6439676914519,
151.04984241282366,
161.23955261895557,
170.1310567547217,
@ -540,12 +545,12 @@
2.129415854357418e-13,
-17.31831448014314,
-34.49719207509707,
-51.398318563481425,
-51.39831856348143,
-67.88561601251521,
-83.82633839751205,
-99.09214039482087,
-113.5601107429062,
-127.11376185155231,
-127.11376185155234,
-139.6439676914519,
-151.04984241282324,
-161.23955261895594,
@ -578,7 +583,7 @@
51.3983185634814,
67.88561601251583,
83.82633839751202,
99.09214039482086,
99.09214039482087,
113.56011074290619,
127.11376185155231,
139.64396769145142,
@ -635,7 +640,7 @@
-151.04984241282355,
-139.6439676914518,
-127.1137618515527,
-113.56011074290548,
-113.5601107429055,
-99.09214039482131,
-83.82633839751311,
-67.88561601251568,
@ -654,7 +659,7 @@
139.64396769145233,
151.0498424128232,
161.2395526189559,
170.13105675472167,
170.13105675472164,
177.6527656569399,
183.7441189482236,
188.3560726335284,
@ -668,7 +673,7 @@
170.1310567547216,
161.23955261895586,
151.04984241282312,
139.64396769145227,
139.64396769145225,
127.11376185155324,
113.56011074290606,
99.09214039482075,
@ -805,14 +810,14 @@
188.35607263352813,
183.7441189482236,
177.65276565694043,
170.13105675472167,
170.13105675472164,
161.2395526189559,
151.0498424128232,
139.64396769145233,
127.11376185155329,
113.56011074290502,
99.09214039482083,
83.82633839751259,
83.8263383975126,
67.88561601251514,
51.39831856348202,
34.49719207509632,
@ -824,7 +829,8 @@
-67.88561601251568,
-83.82633839751188
],
"file_path": "generated:sine-wave"
"file_path": "generated:sine-wave",
"use_last": false
},
{
"id": 401,
@ -860,7 +866,7 @@
5.09980167540335,
5.928784854272076,
6.7100329435632435,
7.437255793028317,
7.437255793028318,
8.104598231883518,
8.70668721120218,
9.238675064545419,
@ -911,7 +917,7 @@
-10.075813279025667,
-9.696278538521907,
-9.238675064545415,
-8.706687211202178,
-8.706687211202176,
-8.10459823188352,
-7.437255793028321,
-6.710032943563246,
@ -941,7 +947,7 @@
10.718732373371513,
10.762057251873964,
10.718732373371514,
10.58910656431125,
10.589106564311248,
10.37422349548898,
10.075813279025667,
9.696278538521907,
@ -1017,7 +1023,7 @@
9.696278538521907,
9.238675064545422,
8.706687211202185,
8.104598231883523,
8.104598231883521,
7.437255793028323,
6.71003294356325,
5.928784854272083,
@ -1158,8 +1164,8 @@
9.238675064545424,
8.706687211202166,
8.104598231883525,
7.437255793028327,
6.710032943563254,
7.437255793028328,
6.710032943563253,
5.928784854272055,
5.099801675403362,
4.229757892079114,
@ -1193,7 +1199,7 @@
-9.238675064545426,
-8.706687211202167,
-8.104598231883527,
-7.437255793028355,
-7.437255793028356,
-6.710032943563254,
-5.928784854272056,
-5.099801675403363,
@ -1265,7 +1271,7 @@
-8.104598231883529,
-7.437255793028303,
-6.710032943563257,
-5.928784854272058,
-5.928784854272059,
-5.0998016754033655,
-4.229757892079153,
-3.3256585852652147,
@ -1279,7 +1285,7 @@
4.229757892079088,
5.09980167540337,
5.928784854272062,
6.710032943563261,
6.71003294356326,
7.4372557930283065,
8.104598231883482,
8.706687211202171,
@ -1316,7 +1322,7 @@
-5.92878485427203,
-6.71003294356329,
-7.437255793028332,
-8.104598231883505,
-8.104598231883507,
-8.706687211202192,
-9.23867506454541,
-9.69627853852188,
@ -1328,7 +1334,7 @@
-10.71873237337151,
-10.589106564311251,
-10.374223495488975,
-10.075813279025672,
-10.075813279025674,
-9.696278538521929,
-9.238675064545427,
-8.706687211202215,
@ -1355,7 +1361,7 @@
8.70668721120217,
9.238675064545427,
9.696278538521897,
10.075813279025672,
10.075813279025674,
10.374223495488975,
10.589106564311237,
10.718732373371518,
@ -1402,7 +1408,7 @@
-9.696278538521899,
-9.23867506454543,
-8.706687211202215,
-8.104598231883534,
-8.104598231883532,
-7.437255793028362,
-6.710032943563201,
-5.928784854272062,
@ -1418,11 +1424,11 @@
3.3256585852652147,
4.229757892079083,
5.0998016754033655,
5.928784854272058,
5.928784854272059,
6.710032943563257,
7.437255793028303,
8.104598231883479,
8.706687211202214,
8.706687211202212,
9.238675064545427,
9.696278538521895,
10.075813279025672,
@ -1436,7 +1442,8 @@
10.07581327902566,
9.696278538521915
],
"file_path": "generated:sine-wave-velocity"
"file_path": "generated:sine-wave-velocity",
"use_last": false
}
],
"load_patterns": [
@ -1506,6 +1513,7 @@
"pattern_ids": [
1
],
"pattern_factors": {},
"n_steps": 10,
"load_factor_increment": 0.1,
"system": "BandGeneral",
@ -1523,6 +1531,7 @@
"pattern_ids": [
200
],
"pattern_factors": {},
"control_node": 3,
"control_dof": 1,
"target_disp": 43.2,
@ -1548,6 +1557,7 @@
"pattern_ids": [
400
],
"pattern_factors": {},
"dt": 0.01,
"n_steps": 1000,
"system": "BandGeneral",
@ -1563,6 +1573,8 @@
"max_iter": 10,
"rayleigh_alpha_m": 0.0,
"rayleigh_beta_k": 0.0,
"rayleigh_beta_k_init": 0.0,
"rayleigh_beta_k_comm": 0.0,
"rayleigh_mode1_damping": 0.02,
"preload_case_ids": [
1