# Gap Analysis โ€” OTKO vs gidopensees **Source:** `D:\GitHub\gidopensees` (AUTh Lab of R/C and Masonry Structures) **Scope:** Material / section / element / constraint / load / damping schema coverage. **Date:** 2026-05-22 ## How to read this table | Column | Meaning | |---|---| | **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 OTKO?** | โœ… fully supported ยท ๐ŸŸก partial ยท โŒ missing | | **In gidopensees?** | โœ… ยท โŒ | | **Priority** | P0 = already done ยท P1 = Phase 8 target ยท P2 = later | Priority rationale: - **P0** โ€” already shipped; included for completeness. - **P1** โ€” high-value for earthquake-engineering practice; aligns with Phase 8 roadmap items (isolators, Rayleigh per-region, confined concrete models, shell elements, floor diaphragm constraints). - **P2** โ€” valid but lower-frequency in typical EQ-engineering workflows (soil p-y/t-z/q-z springs, 3-D solid elements, multi-yield plasticity, contact elements). --- ## 1. Uniaxial Materials | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Uniaxial / linear | Elastic | `ElasticUniaxial` | โœ… | โœ… | P0 | | Uniaxial / elastic-plastic | Elastic_Perfectly_Plastic | `ElasticPP` | โœ… | โœ… | P0 | | Uniaxial / elastic-plastic | Elastic_Perfectly_Plastic_with_Gap | โ€” | โŒ | โœ… | P1 | | Uniaxial / damper | Viscous | โ€” | โŒ | โœ… | P1 | | Uniaxial / damper | Viscous_Damper (Maxwell) | โ€” | โŒ | โœ… | P1 | | Uniaxial / gap | Hyperbolic_Gap | โ€” | โŒ | โœ… | P2 | | Uniaxial / soil | PySimple1 | โ€” | โŒ | โœ… | P2 | | Uniaxial / soil | TzSimple1 | โ€” | โŒ | โœ… | P2 | | Uniaxial / soil | QzSimple1 | โ€” | โŒ | โœ… | P2 | | Uniaxial / bond-slip | BondSP01 | โ€” | โŒ | โœ… | P2 | ## 2. Steel Uniaxial Materials | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Steel | Steel01 | `Steel01` | โœ… | โœ… | P0 | | Steel | Steel02 | `Steel02` | โœ… | โœ… | P0 | | Steel | Hysteretic | `HystereticMaterial` | โœ… | โœ… | P0 | | Steel | Reinforcing_steel (DoDD-Restrepo) | โ€” | โŒ | โœ… | P1 | | Steel | Ramberg-Osgood_steel | โ€” | โŒ | โœ… | P2 | ## 3. Concrete Uniaxial Materials | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Concrete | Concrete01_(Zero_tensile_strength) | `Concrete01` | โœ… | โœ… | P0 | | Concrete | Concrete02_(Linear_tension_softening) | `Concrete02` | โœ… | โœ… | P0 | | Concrete | Concrete04_(Popovics) | โ€” | โŒ | โœ… | P1 | | Concrete | Concrete06 | โ€” | โŒ | โœ… | P2 | | Concrete | ConcreteCM (Chang-Mander) | โ€” | โŒ | โœ… | P1 | ## 4. Combined Materials | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Combination | Series | โ€” | โŒ | โœ… | P1 | | Combination | Parallel | โ€” | โŒ | โœ… | P1 | | Combination | Section_Aggregator (in .mat) | `SectionAggregator` | โœ… | โœ… | P0 | ## 5. nD (Multi-dimensional) Materials | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | nD | Elastic_Isotropic | `ElasticIsotropic` | โœ… | โœ… | P0 | | nD | Elastic_Orthotropic | โ€” | โŒ | โœ… | P2 | | nD | J2Plasticity | โ€” | โŒ | โœ… | P2 | | nD | Damage2p | โ€” | โŒ | โœ… | P2 | | nD | PressureIndependMultiYield | โ€” | โŒ | โœ… | P2 | | nD | PressureDependMultiYield | โ€” | โŒ | โœ… | P2 | | nD | PressureDependMultiYield02 | โ€” | โŒ | โœ… | P2 | | nD | Contact | โ€” | โŒ | โœ… | P2 | ## 6. Sections | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Section | Elastic_Section | `ElasticSection` | โœ… | โœ… | P0 | | Section | Fiber | `FiberSection` | โœ… | โœ… | P0 | | Section | Fiber_Custom | `FiberSection` (manual fibres) | ๐ŸŸก | โœ… | P0 | | Section | FiberInt (interaction P-M) | โ€” | โŒ | โœ… | P1 | | Section | Plate_Fiber | โ€” | โŒ | โœ… | P2 | | Section | Elastic_Membrane_Plate | โ€” | โŒ | โœ… | P2 | | Section | LayeredShell | โ€” | โŒ | โœ… | P2 | | Section | Section_Aggregator | `SectionAggregator` | โœ… | โœ… | P0 | ## 7. Beam-Column Elements | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Frame | Elastic_Beam-Column | `ElasticBeamColumn` | โœ… | โœ… | P0 | | Frame | Elastic_Timoshenko_Beam-Column | โ€” | โŒ | โœ… | P1 | | Frame | Force-Based_Beam-Column | `ForceBeamColumn` | โœ… | โœ… | P0 | | Frame | Displacement-Based_Beam-Column | `DispBeamColumn` | โœ… | โœ… | P0 | | Frame | Flexure-Shear_Interaction_DispBeamColumn | โ€” | โŒ | โœ… | P2 | | Frame | BeamWithHinges | `BeamWithHingesElement` | โœ… | โŒ | P0 | ## 8. Truss Elements | 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 OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Surface | Quad | `QuadElement` | โœ… | โœ… | P0 | | Surface | Shell (ShellMITC4 / MITC4) | โ€” | โŒ | โœ… | P1 | | Surface | ShellDKGQ | โ€” | โŒ | โœ… | P1 | | Surface | Tri31 | โ€” | โŒ | โœ… | P2 | | Surface | QuadUP (u-p pore pressure) | โ€” | โŒ | โœ… | P2 | ## 10. Solid Elements | 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 OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Special | Auto_Zero_Length (per-DOF uniaxial) | `ZeroLengthElement` | โœ… | โœ… | P0 | | Special | Auto_equal_constraint (auto equalDOF) | `EqualDOFConstraint` | โœ… | โœ… | P0 | | Special | ZeroLengthSection | `ZeroLengthSectionElement` | โœ… | โŒ | P0 | | Special | BeamContact (master/slave) | โ€” | โŒ | โœ… | P2 | ## 12. Restraints (Boundary Conditions) | 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 | | Restraint | Surface_Restraints (auto-apply to nodes on surface) | โ€” | โŒ | โœ… | P2 | ## 13. Nodal Loads & Displacements | Category | Object (gidopensees) | OTKO name | In OTKO? | In gidopensees? | Priority | |---|---|---|---|---|---| | Load | Point_Forces | `NodalLoad` | โœ… | โœ… | P0 | | Load | Line_Forces (nodal, along a line) | โ€” | โŒ | โœ… | P2 | | Load | Surface_Forces (nodal, on a surface) | โ€” | โŒ | โœ… | P2 | | Load | Line_Uniform_Forces | `UniformElementLoad` | โœ… | โœ… | P0 | | Load | Point_Displacements (imposed) | โ€” | โŒ | โœ… | P1 | | Load | Line_Displacements (imposed, on nodes along line) | โ€” | โŒ | โœ… | P2 | | Load | Surface_Displacements (imposed, on nodes on surface) | โ€” | โŒ | โœ… | P2 | ## 14. Ground Motions | 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 | | Ground motion | Records (BOOK 8 โ€” ground motion file library) | `PathTimeSeries.file_path` (single file, no library) | ๐ŸŸก | โœ… | P1 | ## 15. Constraints | 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 | | Constraint | Point_Rigid_link (Bar / Beam) | โ€” | โŒ | โœ… | P1 | | Constraint | Line_Rigid_link (slave nodes on line) | โ€” | โŒ | โœ… | P1 | | Constraint | Point_Rigid_diaphragm (master + slave, XY/YZ/ZX plane) | โ€” | โŒ | โœ… | P1 | | Constraint | Line_Rigid_diaphragm (slave nodes on line) | โ€” | โŒ | โœ… | P1 | ## 16. Mass | 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 | | Mass | Surface_Mass | โ€” | โŒ | โœ… | P2 | | Mass | Volume_Mass | โ€” | โŒ | โœ… | P2 | ## 17. Rayleigh Damping | 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 | | Damping | Per-region Rayleigh (Line/Surface/Volume/Point) | โ€” | โŒ | โœ… | P1 | --- ## Summary | Status | Count | |---|---| | โœ… Fully in OTKO | 34 | | ๐ŸŸก Partial | 3 | | โŒ P1 targets (Phase 8 additions) | 23 | | โŒ P2 deferred | 21 | **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 3. `ReinforcingSteel` โ€” DoDD-Restrepo model for well-detailed rebar 4. `Concrete04` (Popovics) / `ConcreteCM` (Chang-Mander) โ€” better confined concrete 5. `Series` / `Parallel` โ€” material combination building blocks for isolation systems 6. `RigidDiaphragm` โ€” floor slab constraint, essential for 3D building models 7. `RigidLink` โ€” column/beam offset rigid connections 8. `Shell` (MITC4 / ShellDKGQ) โ€” wall / slab elements 9. `FiberInt` โ€” P-M interaction section for axial-flexure coupling 10. `PointDisplacement` imposed load โ€” displacement-based loading at nodes 11. Per-region Rayleigh damping โ€” finer damping control for mixed models 12. Sine ground motion / ground motion record library โ€” GM workflow completion