docs: rewrite READMEs dry and blunt, rename Studio to OTKO
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / test (macos-latest, 3.10) (pull_request) Has been cancelled
CI / test (macos-latest, 3.11) (pull_request) Has been cancelled
CI / test (macos-latest, 3.12) (pull_request) Has been cancelled
CI / test (ubuntu-latest, 3.10) (pull_request) Has been cancelled
CI / test (ubuntu-latest, 3.11) (pull_request) Has been cancelled
CI / test (ubuntu-latest, 3.12) (pull_request) Has been cancelled
CI / test (windows-latest, 3.10) (pull_request) Has been cancelled
CI / test (windows-latest, 3.11) (pull_request) Has been cancelled
CI / test (windows-latest, 3.12) (pull_request) Has been cancelled
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / test (macos-latest, 3.10) (pull_request) Has been cancelled
CI / test (macos-latest, 3.11) (pull_request) Has been cancelled
CI / test (macos-latest, 3.12) (pull_request) Has been cancelled
CI / test (ubuntu-latest, 3.10) (pull_request) Has been cancelled
CI / test (ubuntu-latest, 3.11) (pull_request) Has been cancelled
CI / test (ubuntu-latest, 3.12) (pull_request) Has been cancelled
CI / test (windows-latest, 3.10) (pull_request) Has been cancelled
CI / test (windows-latest, 3.11) (pull_request) Has been cancelled
CI / test (windows-latest, 3.12) (pull_request) Has been cancelled
This commit is contained in:
parent
612936a00b
commit
3d809ca301
11 changed files with 233 additions and 263 deletions
|
|
@ -24,11 +24,11 @@ the reverse.
|
|||
|
||||
### Why this matters
|
||||
|
||||
- The `core` package is testable without a display server, without OpenSees,
|
||||
and without Qt. CI runs `pytest tests/unit/` in milliseconds.
|
||||
- Replacing OpenSeesPy with another solver (e.g. `xara`, a future fork) only
|
||||
touches `services/opensees_runner.py`.
|
||||
- A future CLI or Jupyter frontend reuses `core` and `services` unchanged.
|
||||
- `core` tests without a display server, without OpenSees, without Qt.
|
||||
CI runs `pytest tests/unit/` in milliseconds.
|
||||
- Swapping solvers (e.g. `xara`, a future fork) touches
|
||||
`services/opensees_runner.py` and nothing else.
|
||||
- A future CLI or notebook front-end reuses `core` and `services` as-is.
|
||||
|
||||
## Package map
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
| **Category** | Schema group (material family, element type, etc.) |
|
||||
| **Object** | Name as it appears in gidopensees BOOK/CONDITION |
|
||||
| **OTKO name** | Corresponding class in `core/` (if any) |
|
||||
| **In Studio?** | ✅ fully supported · 🟡 partial · ❌ missing |
|
||||
| **In OTKO?** | ✅ fully supported · 🟡 partial · ❌ missing |
|
||||
| **In gidopensees?** | ✅ · ❌ |
|
||||
| **Priority** | P0 = already done · P1 = Phase 8 target · P2 = later |
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ Priority rationale:
|
|||
|
||||
## 1. Uniaxial Materials
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Uniaxial / linear | Elastic | `ElasticUniaxial` | ✅ | ✅ | P0 |
|
||||
| Uniaxial / elastic-plastic | Elastic_Perfectly_Plastic | `ElasticPP` | ✅ | ✅ | P0 |
|
||||
|
|
@ -43,7 +43,7 @@ Priority rationale:
|
|||
|
||||
## 2. Steel Uniaxial Materials
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Steel | Steel01 | `Steel01` | ✅ | ✅ | P0 |
|
||||
| Steel | Steel02 | `Steel02` | ✅ | ✅ | P0 |
|
||||
|
|
@ -53,7 +53,7 @@ Priority rationale:
|
|||
|
||||
## 3. Concrete Uniaxial Materials
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Concrete | Concrete01_(Zero_tensile_strength) | `Concrete01` | ✅ | ✅ | P0 |
|
||||
| Concrete | Concrete02_(Linear_tension_softening) | `Concrete02` | ✅ | ✅ | P0 |
|
||||
|
|
@ -63,7 +63,7 @@ Priority rationale:
|
|||
|
||||
## 4. Combined Materials
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Combination | Series | — | ❌ | ✅ | P1 |
|
||||
| Combination | Parallel | — | ❌ | ✅ | P1 |
|
||||
|
|
@ -71,7 +71,7 @@ Priority rationale:
|
|||
|
||||
## 5. nD (Multi-dimensional) Materials
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| nD | Elastic_Isotropic | `ElasticIsotropic` | ✅ | ✅ | P0 |
|
||||
| nD | Elastic_Orthotropic | — | ❌ | ✅ | P2 |
|
||||
|
|
@ -84,7 +84,7 @@ Priority rationale:
|
|||
|
||||
## 6. Sections
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Section | Elastic_Section | `ElasticSection` | ✅ | ✅ | P0 |
|
||||
| Section | Fiber | `FiberSection` | ✅ | ✅ | P0 |
|
||||
|
|
@ -97,7 +97,7 @@ Priority rationale:
|
|||
|
||||
## 7. Beam-Column Elements
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Frame | Elastic_Beam-Column | `ElasticBeamColumn` | ✅ | ✅ | P0 |
|
||||
| Frame | Elastic_Timoshenko_Beam-Column | — | ❌ | ✅ | P1 |
|
||||
|
|
@ -108,14 +108,14 @@ Priority rationale:
|
|||
|
||||
## 8. Truss Elements
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Truss | Truss | `TrussElement` | ✅ | ✅ | P0 |
|
||||
| Truss | Corotational_Truss | `CorotTrussElement` | ✅ | ✅ | P0 |
|
||||
|
||||
## 9. Surface / Plate Elements
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Surface | Quad | `QuadElement` | ✅ | ✅ | P0 |
|
||||
| Surface | Shell (ShellMITC4 / MITC4) | — | ❌ | ✅ | P1 |
|
||||
|
|
@ -125,13 +125,13 @@ Priority rationale:
|
|||
|
||||
## 10. Solid Elements
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Solid | Standard_Brick_Element | — | ❌ | ✅ | P2 |
|
||||
|
||||
## 11. Zero-Length / Special Elements
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Special | Auto_Zero_Length (per-DOF uniaxial) | `ZeroLengthElement` | ✅ | ✅ | P0 |
|
||||
| Special | Auto_equal_constraint (auto equalDOF) | `EqualDOFConstraint` | ✅ | ✅ | P0 |
|
||||
|
|
@ -140,7 +140,7 @@ Priority rationale:
|
|||
|
||||
## 12. Restraints (Boundary Conditions)
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Restraint | Point_Restraints | Node.restraint (6-tuple) | ✅ | ✅ | P0 |
|
||||
| Restraint | Line_Restraints (auto-apply to nodes on line) | — | ❌ | ✅ | P2 |
|
||||
|
|
@ -148,7 +148,7 @@ Priority rationale:
|
|||
|
||||
## 13. Nodal Loads & Displacements
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Load | Point_Forces | `NodalLoad` | ✅ | ✅ | P0 |
|
||||
| Load | Line_Forces (nodal, along a line) | — | ❌ | ✅ | P2 |
|
||||
|
|
@ -160,7 +160,7 @@ Priority rationale:
|
|||
|
||||
## 14. Ground Motions
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Ground motion | Point_Ground_Motion_from_Record | `PathTimeSeries` + `UniformExcitationPattern` | ✅ | ✅ | P0 |
|
||||
| Ground motion | Point_Sine_Ground_Motion | — (no `TrigTimeSeries`) | ❌ | ✅ | P1 |
|
||||
|
|
@ -168,7 +168,7 @@ Priority rationale:
|
|||
|
||||
## 15. Constraints
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Constraint | Point_Equal_constraint (master + slave) | `EqualDOFConstraint` | ✅ | ✅ | P0 |
|
||||
| Constraint | Line_Equal_constraint (slave nodes on line) | — | ❌ | ✅ | P1 |
|
||||
|
|
@ -179,7 +179,7 @@ Priority rationale:
|
|||
|
||||
## 16. Mass
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Mass | Point_Mass | node mass (Properties dock + SetMassCommand) | ✅ | ✅ | P0 |
|
||||
| Mass | Line_Mass (auto-lump to nodes) | — | ❌ | ✅ | P1 |
|
||||
|
|
@ -188,7 +188,7 @@ Priority rationale:
|
|||
|
||||
## 17. Rayleigh Damping
|
||||
|
||||
| Category | Object (gidopensees) | OTKO name | In Studio? | In gidopensees? | Priority |
|
||||
| Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority |
|
||||
|---|---|---|---|---|---|
|
||||
| Damping | Global αM + βK (TransientCase fields) | `TransientCase.rayleigh_alpha_m/beta_k` | ✅ | 🟡 | P0 |
|
||||
| Damping | Mode-1 stiffness-proportional βK auto-compute | `TransientCase.rayleigh_mode1_damping` | ✅ | ❌ | P0 |
|
||||
|
|
@ -205,7 +205,7 @@ Priority rationale:
|
|||
| ❌ P1 targets (Phase 8 additions) | 23 |
|
||||
| ❌ P2 deferred | 21 |
|
||||
|
||||
**Top P1 targets** (highest EQ-engineering impact, not in Studio yet):
|
||||
**Top P1 targets** (highest EQ-engineering impact, not in OTKO yet):
|
||||
|
||||
1. `ElasticPP_with_Gap` — bearing pad / isolation gap nonlinearity
|
||||
2. `Viscous` / `Viscous_Damper` — supplemental damping devices
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
<!-- Wordmark -->
|
||||
<g font-family="Segoe UI, Inter, Helvetica, Arial, sans-serif">
|
||||
<text x="200" y="92" font-size="56" font-weight="700" letter-spacing="-1">
|
||||
<tspan fill="#E8EDF5">Open</tspan><tspan fill="#7BB1F0">Sees</tspan><tspan fill="#E8EDF5"> Studio</tspan>
|
||||
<tspan fill="#E8EDF5">OTKO</tspan>
|
||||
</text>
|
||||
<text x="202" y="124" font-size="16" font-weight="500" letter-spacing="3" fill="#8FA2BF">
|
||||
A SAP2000-STYLE GUI FOR OPENSEESPY
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.1 KiB |
|
|
@ -1,9 +1,8 @@
|
|||
# Roadmap
|
||||
|
||||
OTKO is built in eight phases. Phases 0–7 ship the core GUI
|
||||
plus all the post-processing tooling we need for verification work.
|
||||
Phase 8 layers in the earthquake-engineering primitives that turn the
|
||||
GUI from "OpenSees frontend" into a usable research tool.
|
||||
Eight phases. 0–7 are the core GUI plus post-processing. Phase 8 is the
|
||||
earthquake-engineering primitives — the part that makes it a research
|
||||
tool instead of a model viewer.
|
||||
|
||||
Status legend: ✅ done · 🟡 partial · ⬜ planned · ✂️ deferred / out-of-scope.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue