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 Studio? |
✅ 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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 |
| 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 Studio? |
In gidopensees? |
Priority |
| Solid |
Standard_Brick_Element |
— |
❌ |
✅ |
P2 |
11. Zero-Length / Special Elements
| Category |
Object (gidopensees) |
OTKO name |
In Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio? |
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 Studio yet):
ElasticPP_with_Gap — bearing pad / isolation gap nonlinearity
Viscous / Viscous_Damper — supplemental damping devices
ReinforcingSteel — DoDD-Restrepo model for well-detailed rebar
Concrete04 (Popovics) / ConcreteCM (Chang-Mander) — better confined concrete
Series / Parallel — material combination building blocks for isolation systems
RigidDiaphragm — floor slab constraint, essential for 3D building models
RigidLink — column/beam offset rigid connections
Shell (MITC4 / ShellDKGQ) — wall / slab elements
FiberInt — P-M interaction section for axial-flexure coupling
PointDisplacement imposed load — displacement-based loading at nodes
- Per-region Rayleigh damping — finer damping control for mixed models
- Sine ground motion / ground motion record library — GM workflow completion