Supported Frame Types
- Ordinary Concentric Braced Frame (OCBF)
- Special Concentric Braced Frame (SCBF)
Code References
- AISC 341-16 Chapter F2.3
- AISC 360-16 Chapter E (E3-2, E3-3)
- ASCE 7 (Rho redundancy factor)
Load Cases Created
- Ordinary: _P, _N (2 cases / direction)
- Special: _P1, _N1, _P2, _N2 (4 cases)
- BiDir 100%+30%: C1_ to C4_
- BiDir 100%+100%: C1_ to C16_
Key Constants
- Ry = 1.5 (expected yield ratio)
- φc = 0.9 (compression factor)
- Post-buckling fraction = 0.3
- Axial stiffness modifier = 0.001
Diagram A — Main Algorithm Workflow
Complete execution flow from user input through SAP2000 model modification to design-ready output.
Top-Level Workflow — Ordinary & Special Frames
Diagram B — Special Frame Capacity Calculation
Per-brace calculation of expected tensile capacity (T), compressive capacity (C), and post-buckling capacity (CPB) per AISC 341-16 F2.3 and AISC 360-16 Chapter E.
SCBF Capacity Formula — Per Brace
Diagram C — Load Combination Generation Strategy
How existing SAP2000 response combinations are replaced with capacity-design combinations.
Load Combination Replacement Logic
Diagram D — Return to Original Workflow
Complete reversal of all model modifications to restore the SAP2000 model to its pre-capacity-design state.
Model Restoration — Reverse Sequence
Table E — Generated Combinations: Worked Example
Starting from a single original seismic combination, all capacity-design combinations produced by the tool are listed for every frame type and loading mode. Capacity-design load cases are colour-coded: blue = X direction, purple = Y direction.
Original Seismic Combinations in the SAP2000 Model
The tables below trace what the tool generates from these two representative original combinations. All gravity terms are carried through unchanged into every new combo. EQX and EQY are the user-supplied seismic load cases; EX_03 and EY_03 are the 30% orthogonal load patterns.
★ In practice the model may have many seismic combos (1.2D, 0.9D, with live load, etc.). The tool processes all of them; the two above are shown as a representative pair.
What each generated load case suffix means
Ordinary Frames (OCBF) — 2 cases per direction
| Suffix | Meaning | Load applied to brace i-end |
|---|---|---|
| _P | Positive direction, full capacity | T brace: +Ω₀·E | C brace: −CPB |
| _N | Negative direction, full capacity | T brace: −CPB | C brace: −Ω₀·E |
Special Frames (SCBF) — 4 cases per direction
| Suffix | Meaning | Load applied to brace i-end |
|---|---|---|
| _P1 | Positive, full cap. (T or C governs) | T brace: +T | C brace: −C |
| _N1 | Negative, full cap. | T brace: −C | C brace: +T |
| _P2 | Positive, post-buckling | T brace: +T | C brace: −CPB |
| _N2 | Negative, post-buckling | T brace: −CPB | C brace: +T |
Scenario 1 — Ordinary Frame, X Direction Only
2 combos per original
The tool scans combos containing EQX.
For each, the seismic case is replaced by EQX_P and EQX_N.
All other terms (gravity, orthogonal static) are copied unchanged.
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 1 | CP_DSEQX | 1.2D + 1.0·EQX_P + 0.3·EY_03 | X capacity — positive direction |
| 2 | CN_DSEQX | 1.2D + 1.0·EQX_N + 0.3·EY_03 | X capacity — negative direction |
Scenario 2 — Ordinary Frame, Y Direction Only
2 combos per original
Identical logic to Scenario 1 but the seismic case is EQY.
The 0.3·EX_03 orthogonal static term is preserved unchanged.
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 1 | CP_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_P | Y capacity — positive direction |
| 2 | CN_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_N | Y capacity — negative direction |
Scenario 3 — Special Frame, X Direction Only
4 combos per originalFour capacity cases are generated per original combo: full capacity positive & negative, then post-buckling positive & negative. All other terms copied unchanged.
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 1 | CP1_DSEQX | 1.2D + 1.0·EQX_P1 + 0.3·EY_03 | X full capacity — positive dir. |
| 2 | CN1_DSEQX | 1.2D + 1.0·EQX_N1 + 0.3·EY_03 | X full capacity — negative dir. |
| 3 | CP2_DSEQX | 1.2D + 1.0·EQX_P2 + 0.3·EY_03 | X post-buckling — positive dir. |
| 4 | CN2_DSEQX | 1.2D + 1.0·EQX_N2 + 0.3·EY_03 | X post-buckling — negative dir. |
Scenario 4 — Special Frame, Y Direction Only
4 combos per originalSame four-case pattern as Scenario 3 applied to EQY. The 0.3·EX_03 orthogonal static term is preserved unchanged.
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 1 | CP1_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_P1 | Y full capacity — positive dir. |
| 2 | CN1_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_N1 | Y full capacity — negative dir. |
| 3 | CP2_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_P2 | Y post-buckling — positive dir. |
| 4 | CN2_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_N2 | Y post-buckling — negative dir. |
Scenario 5 — Ordinary Frame, Both Directions (100% + 30%)
2+2 = 4 combos totalThe tool runs two independent passes. X-pass: scans combos containing EQX → creates CP_/CN_ variants, preserving the 0.3·EY_03 static term. Y-pass: scans combos containing EQY → creates CP_/CN_ variants, preserving the 0.3·EX_03 static term. The 30% orthogonal component stays as a static load in each combo; it is not zeroed in this mode.
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 1 | CP_DSEQX | 1.2D + 1.0·EQX_P + 0.3·EY_03 | X capacity pos. + static 30% Y |
| 2 | CN_DSEQX | 1.2D + 1.0·EQX_N + 0.3·EY_03 | X capacity neg. + static 30% Y |
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 3 | CP_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_P | Y capacity pos. + static 30% X |
| 4 | CN_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_N | Y capacity neg. + static 30% X |
Scenario 6 — Special Frame, Both Directions (100% + 30%)
4+4 = 8 combos totalSame two-pass approach as Scenario 5, but each pass generates four capacity cases (_P1/_N1/_P2/_N2). The 30% orthogonal static term is preserved unchanged in every combo.
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 1 | CP1_DSEQX | 1.2D + 1.0·EQX_P1 + 0.3·EY_03 | X full cap. pos. + static 30% Y |
| 2 | CN1_DSEQX | 1.2D + 1.0·EQX_N1 + 0.3·EY_03 | X full cap. neg. + static 30% Y |
| 3 | CP2_DSEQX | 1.2D + 1.0·EQX_P2 + 0.3·EY_03 | X post-buck. pos. + static 30% Y |
| 4 | CN2_DSEQX | 1.2D + 1.0·EQX_N2 + 0.3·EY_03 | X post-buck. neg. + static 30% Y |
| # | New Combo Name | Full Formula | Seismic State |
|---|---|---|---|
| 5 | CP1_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_P1 | Y full cap. pos. + static 30% X |
| 6 | CN1_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_N1 | Y full cap. neg. + static 30% X |
| 7 | CP2_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_P2 | Y post-buck. pos. + static 30% X |
| 8 | CN2_DSEQY | 1.2D + 0.3·EX_03 + 1.0·EQY_N2 | Y post-buck. neg. + static 30% X |
Scenario 7 — Ordinary Frame, Both Directions (100% + 100%)
4 combos per original (×2 originals = 8)Each combo containing either EQX or EQY generates 4 new combos — all four combinations of X± and Y± capacity cases. The 30% orthogonal patterns (EX_03, EY_03) are zeroed (scale factor → 0) because full bidirectional capacity loading already covers orthogonal effects. An EQY capacity case is added to every combo derived from DSEQX, and vice-versa.
| # | New Combo Name | Full Formula | X State | Y State |
|---|---|---|---|---|
| 1 | C1_DSEQX | 1.2D + 1.0·EQX_P + 0·EY_03 + 1.0·EQY_P | X cap. pos. | Y cap. pos. |
| 2 | C2_DSEQX | 1.2D + 1.0·EQX_P + 0·EY_03 + 1.0·EQY_N | X cap. pos. | Y cap. neg. |
| 3 | C3_DSEQX | 1.2D + 1.0·EQX_N + 0·EY_03 + 1.0·EQY_P | X cap. neg. | Y cap. pos. |
| 4 | C4_DSEQX | 1.2D + 1.0·EQX_N + 0·EY_03 + 1.0·EQY_N | X cap. neg. | Y cap. neg. |
| # | New Combo Name | Full Formula | X State | Y State |
|---|---|---|---|---|
| 5 | C1_DSEQY | 1.2D + 0·EX_03 + 1.0·EQX_P + 1.0·EQY_P | X cap. pos. | Y cap. pos. |
| 6 | C2_DSEQY | 1.2D + 0·EX_03 + 1.0·EQX_P + 1.0·EQY_N | X cap. pos. | Y cap. neg. |
| 7 | C3_DSEQY | 1.2D + 0·EX_03 + 1.0·EQX_N + 1.0·EQY_P | X cap. neg. | Y cap. pos. |
| 8 | C4_DSEQY | 1.2D + 0·EX_03 + 1.0·EQX_N + 1.0·EQY_N | X cap. neg. | Y cap. neg. |
Scenario 8 — Special Frame, Both Directions (100% + 100%)
16 combos per original (×2 originals = 32)Every combination of the four X-direction cases and four Y-direction cases is generated: 4 × 4 = 16 per original seismic combo. X-case order: P1, P2, N1, N2 (outer loop). Y-case order: P1, P2, N1, N2 (inner loop). Orthogonal 30% patterns are zeroed. Only DSEQX is shown below; DSEQY generates an analogous set with identical seismic terms and its own gravity (1.2D + 0·EX_03 + …).
| # | New Combo Name | Full Formula | X State | Y State |
|---|---|---|---|---|
| 1 | C1_DSEQX | 1.2D + 1.0·EQX_P1 + 0·EY_03 + 1.0·EQY_P1 | Full pos. | Full pos. |
| 2 | C2_DSEQX | 1.2D + 1.0·EQX_P1 + 0·EY_03 + 1.0·EQY_P2 | Full pos. | Post-buck. pos. |
| 3 | C3_DSEQX | 1.2D + 1.0·EQX_P1 + 0·EY_03 + 1.0·EQY_N1 | Full pos. | Full neg. |
| 4 | C4_DSEQX | 1.2D + 1.0·EQX_P1 + 0·EY_03 + 1.0·EQY_N2 | Full pos. | Post-buck. neg. |
| 5 | C5_DSEQX | 1.2D + 1.0·EQX_P2 + 0·EY_03 + 1.0·EQY_P1 | Post-buck. pos. | Full pos. |
| 6 | C6_DSEQX | 1.2D + 1.0·EQX_P2 + 0·EY_03 + 1.0·EQY_P2 | Post-buck. pos. | Post-buck. pos. |
| 7 | C7_DSEQX | 1.2D + 1.0·EQX_P2 + 0·EY_03 + 1.0·EQY_N1 | Post-buck. pos. | Full neg. |
| 8 | C8_DSEQX | 1.2D + 1.0·EQX_P2 + 0·EY_03 + 1.0·EQY_N2 | Post-buck. pos. | Post-buck. neg. |
| 9 | C9_DSEQX | 1.2D + 1.0·EQX_N1 + 0·EY_03 + 1.0·EQY_P1 | Full neg. | Full pos. |
| 10 | C10_DSEQX | 1.2D + 1.0·EQX_N1 + 0·EY_03 + 1.0·EQY_P2 | Full neg. | Post-buck. pos. |
| 11 | C11_DSEQX | 1.2D + 1.0·EQX_N1 + 0·EY_03 + 1.0·EQY_N1 | Full neg. | Full neg. |
| 12 | C12_DSEQX | 1.2D + 1.0·EQX_N1 + 0·EY_03 + 1.0·EQY_N2 | Full neg. | Post-buck. neg. |
| 13 | C13_DSEQX | 1.2D + 1.0·EQX_N2 + 0·EY_03 + 1.0·EQY_P1 | Post-buck. neg. | Full pos. |
| 14 | C14_DSEQX | 1.2D + 1.0·EQX_N2 + 0·EY_03 + 1.0·EQY_P2 | Post-buck. neg. | Post-buck. pos. |
| 15 | C15_DSEQX | 1.2D + 1.0·EQX_N2 + 0·EY_03 + 1.0·EQY_N1 | Post-buck. neg. | Full neg. |
| 16 | C16_DSEQX | 1.2D + 1.0·EQX_N2 + 0·EY_03 + 1.0·EQY_N2 | Post-buck. neg. | Post-buck. neg. |
P1 / N1 Full capacity (T or C governs), positive / negative direction
P2 / N2 Post-buckling capacity (CPB = 0.3 × max(C₁,C₂)), positive / negative direction
0·EY_03 Term present in combo but scale factor set to zero