otko/examples/moment_curvature.osmodel
smillmorel d01a5957b7
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
feat: consolidate units to Metric/Imperial with unit-aware dialogs
- 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
2026-09-08 16:33:30 -04:00

338 lines
No EOL
6.2 KiB
Text

{
"schema_version": 1,
"meta": {
"name": "Moment-Curvature (OpenSees Ex 2)",
"description": "RC column fibre section — constant axial P + DisplacementControl curvature pushover. Kip-in-ksi units throughout.",
"author": "OpenSees Examples Manual",
"units": "Imperial (in, kip, kip·s²/in, s, ksi)"
},
"ndm": 2,
"ndf": 3,
"coord_systems": [
{
"name": "Global",
"coord": {
"origin": [
0.0,
0.0,
0.0
],
"rotation_deg": [
0.0,
0.0,
0.0
]
},
"grid": {
"x_grid_lines": [
{
"id": "X1",
"ordinate": 0.0,
"line_type": "Primary",
"visible": true,
"bubble_loc": "End",
"color": "#808080"
}
],
"y_grid_lines": [
{
"id": "Y1",
"ordinate": 0.0,
"line_type": "Primary",
"visible": true,
"bubble_loc": "End",
"color": "#808080"
}
],
"z_grid_lines": [
{
"id": "Z1",
"ordinate": 0.0,
"line_type": "Primary",
"visible": true,
"bubble_loc": "End",
"color": "#808080"
}
],
"visible": true,
"is_general": false,
"hide_all": false,
"glue_to_grid": false,
"bubble_size": 20
}
}
],
"nodes": [
{
"id": 1,
"name": "Support",
"coords": [
0.0,
0.0,
0.0
],
"mass": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"restraint": [
true,
true,
false,
false,
false,
true
]
},
{
"id": 2,
"name": "Crown",
"coords": [
0.0,
0.0,
0.0
],
"mass": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"restraint": [
false,
true,
false,
false,
false,
false
]
}
],
"materials": [
{
"id": 1,
"name": "Core-Conc",
"type": "Concrete01",
"fpc": -6.0,
"epsc0": -0.004,
"fpcu": -5.0,
"epsU": -0.014
},
{
"id": 2,
"name": "Cover-Conc",
"type": "Concrete01",
"fpc": -5.0,
"epsc0": -0.002,
"fpcu": 0.0,
"epsU": -0.006
},
{
"id": 3,
"name": "Steel-60",
"type": "Steel01",
"Fy": 60.0,
"E0": 30000.0,
"b": 0.01,
"a1": null,
"a2": null,
"a3": null,
"a4": null
}
],
"sections": [
{
"id": 1,
"name": "RC-Column",
"type": "FiberSection",
"GJ": null,
"patches": [
{
"kind": "rect",
"material_id": 1,
"n_fib_y": 10,
"n_fib_z": 1,
"y_i": -10.5,
"z_i": -6.0,
"y_j": 10.5,
"z_j": 6.0
},
{
"kind": "rect",
"material_id": 2,
"n_fib_y": 10,
"n_fib_z": 1,
"y_i": -12.0,
"z_i": 6.0,
"y_j": 12.0,
"z_j": 7.5
},
{
"kind": "rect",
"material_id": 2,
"n_fib_y": 10,
"n_fib_z": 1,
"y_i": -12.0,
"z_i": -7.5,
"y_j": 12.0,
"z_j": -6.0
},
{
"kind": "rect",
"material_id": 2,
"n_fib_y": 2,
"n_fib_z": 1,
"y_i": -12.0,
"z_i": -6.0,
"y_j": -10.5,
"z_j": 6.0
},
{
"kind": "rect",
"material_id": 2,
"n_fib_y": 2,
"n_fib_z": 1,
"y_i": 10.5,
"z_i": -6.0,
"y_j": 12.0,
"z_j": 6.0
}
],
"layers": [
{
"kind": "straight",
"material_id": 3,
"n_bars": 3,
"bar_area": 0.6,
"y_start": 10.5,
"z_start": 6.0,
"y_end": 10.5,
"z_end": -6.0
},
{
"kind": "straight",
"material_id": 3,
"n_bars": 2,
"bar_area": 0.6,
"y_start": 0.0,
"z_start": 6.0,
"y_end": 0.0,
"z_end": -6.0
},
{
"kind": "straight",
"material_id": 3,
"n_bars": 3,
"bar_area": 0.6,
"y_start": -10.5,
"z_start": 6.0,
"y_end": -10.5,
"z_end": -6.0
}
],
"fibres": []
}
],
"elements": [
{
"id": 1,
"name": "MK-Link",
"type": "ZeroLengthSection",
"nodes": [
1,
2
],
"section_id": 1
}
],
"mp_constraints": [],
"time_series": [
{
"id": 1,
"name": "AxialP",
"type": "Constant",
"factor": 1.0
},
{
"id": 2,
"name": "RefMoment",
"type": "Linear",
"factor": 1.0
}
],
"load_patterns": [
{
"id": 1,
"name": "AxialP",
"type": "Plain",
"time_series_id": 1,
"nodal_loads": [
{
"node_id": 2,
"forces": [
-180.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
],
"element_loads": []
},
{
"id": 2,
"name": "RefMoment",
"type": "Plain",
"time_series_id": 2,
"nodal_loads": [
{
"node_id": 2,
"forces": [
0.0,
0.0,
0.0,
0.0,
0.0,
1.0
]
}
],
"element_loads": []
}
],
"spectra": [],
"analyses": [
{
"id": 1,
"name": "MK",
"type": "Pushover",
"pattern_ids": [
1,
2
],
"pattern_factors": {},
"control_node": 2,
"control_dof": 3,
"target_disp": 0.0019047619047619052,
"step_size": 1.9047619047619053e-05,
"base_nodes": [
1
],
"system": "BandGeneral",
"constraints": "Plain",
"algorithm": "Newton",
"test": "NormUnbalance",
"tolerance": 1e-09,
"max_iter": 25,
"preload_case_ids": []
}
]
}