Capacity Design of CB Frames — User & Engineering Manual

AISC 341-16 AISC 360-16 SAP2000 API

1. Introduction

Capacity Design of CB Frames is a Windows application that automates the seismic capacity design of Concentric Braced Frames (CBF) directly within SAP2000. It reads your structural model, computes the capacity forces on all diagonal braces per AISC 341-16, writes those forces back into SAP2000 as point loads, generates the required load combinations, and prepares the model for a final steel design run — all with a single button click.

The tool is fully reversible: a second button restores the model to its exact pre-capacity-design state, removing every modification the tool made.

What problem does it solve?

In the capacity design philosophy, columns and connections must be designed to remain elastic while the diagonal braces yield and dissipate seismic energy. Computing the expected brace capacity forces, creating the corresponding load patterns, and updating load combinations is a tedious, error-prone process when done manually in SAP2000. Capacity Design of CB Frames eliminates this manual process entirely.

Supported Frame Types

Ordinary Concentric Braced Frame (OCBF)
  • Lower seismic hazard zones
  • Simpler design provisions
  • Post-buckling capacity: 0.3 × Pn
  • 2 load cases per direction: _P, _N
  • 2 design combos per original combo
Special Concentric Braced Frame (SCBF)
  • High seismic hazard zones
  • Expected-strength approach (Ry amplified)
  • Tension: RyFyAg  |  Compression: AISC E3
  • 4 load cases per direction: _P1, _N1, _P2, _N2
  • 4 design combos per original combo
  • Column flexural capacity overridden to ∞

Supported Loading Modes

ModeDescriptionCombos Generated
X Direction OnlySingle horizontal direction seismic designCP_, CN_ (ordinary) / CP1_–CN2_ (special)
Y Direction OnlySingle horizontal direction seismic designCP_, CN_ (ordinary) / CP1_–CN2_ (special)
Both Directions (100%+30%)Full capacity in one direction + 30% orthogonal staticC1_–C4_ (ordinary) / C1_–C4_ (special)
Both Directions (100%+100%)Full capacity in both directions simultaneouslyC1_–C4_ (ordinary) / C1_–C16_ (special)

2. System Requirements

ComponentRequirementNotes
Operating SystemWindows 10 or Windows 11 (64-bit)x64 architecture required
.NET Runtime.NET 8.0 (x64)Download from microsoft.com/dotnet
SAP2000Version 23 or laterAPI (COM) license required
SAP2000 API DLLSAP2000v1.dll in lib/ folderCopied from SAP2000 installation directory
RAM4 GB minimum, 8 GB recommendedDepends on model size
Design CodeAISC 360-16 (or -22, -10, -05) active in SAP2000Other codes not supported

3. Quick Start

Before You Run Capacity Design of CB Frames

⚠ Pre-requisites — Check These First
Your SAP2000 model must meet these requirements before running Capacity Design of CB Frames:
  • An earthquake (seismic) load case must exist and be named exactly as you will type it in Capacity Design of CB Frames.
  • The model must have been analyzed at least once (internal forces must exist).
  • Steel design must have been run at least once (design capacities must exist).
  • The active design code in SAP2000 must be AISC 360 (any year).
  • Diagonal brace members must have different Z-coordinates at each end (the tool identifies braces geometrically).

Basic Workflow

  1. Open Capacity Design of CB Frames. Double-click the executable. The main form appears.

  2. Select frame type. Choose Ordinary Frames or Special Frames from the radio buttons at the top.

  3. Select loading direction. Choose X Dir, Y Dir, or one of the bidirectional options.

  4. Set the SAP2000 model. Either browse to a .sdb file, or check Attach to Instance if SAP2000 is already open.

  5. Enter the earthquake load case name. Type the exact name of the seismic load case as it appears in SAP2000 (e.g., EQX).

  6. Enter Omega₀. Default is 2.0. Adjust per project requirements.

  7. Click "Prepare for capacity design". The progress bar shows status. When complete, a message confirms the number of braces found.

  8. Return to SAP2000 and run steel design using the new capacity-design load combinations.

  9. When done, click "Return to Original" to remove all Capacity Design of CB Frames modifications from the model.

4. User Interface Guide

Frame Type Selection

Ordinary Frames

Selects the OCBF capacity design workflow. Uses 0.3×Pn post-buckling capacity. Simpler analysis, 2 load cases per direction.

Special Frames

Selects the SCBF capacity design workflow. Uses expected strength (RyFyAg) and AISC E3 buckling. 4 load cases per direction. Also overrides column flexural capacities.

Direction Selection

X Dir

Applies capacity design to braces in the X–Z plane only. Requires one earthquake load case (X direction).

Y Dir

Applies capacity design to braces in the Y–Z plane only. Requires one earthquake load case (Y direction).

Both Dir (100% + 30%)

Full capacity in primary direction plus 30% orthogonal static loads. Generates 4 combinations per seismic combo (ordinary) or 4 (special).

Requires: X case, Y case, EX_03, EY_03 pattern names
Both Dir (100% + 100%)

Full capacity in both directions simultaneously. Generates 4 combinations per seismic combo (ordinary) or 16 (special). Most conservative option.

Requires: X case, Y case

Input Fields

FieldLabelTypeValid RangeEngineering Meaning
TextBox1 EQ Case (X direction) Text Non-empty string Name of the SAP2000 static linear load case representing earthquake in X direction (e.g., EQX, EX)
TextBox2 EQ Case (Y direction) Text Non-empty string Name of the SAP2000 static linear load case for earthquake in Y direction
Omega Ω₀ (Omega0) Number > 0 (typical: 1.5–3.0) Seismic overstrength amplification factor. Demand forces are multiplied by this value. Per AISC 341 / ASCE 7.
Rho ρ (Rho) Number > 0 (typical: 1.0–1.3) Redundancy factor per ASCE 7. When enabled, divides the seismic load scale factor by ρ before capacity design, then restores it after. Only active if Rho checkbox is checked.
PDELTA_CASE_NAME P-Delta Case Text Non-empty if P-Delta checked Name of the SAP2000 nonlinear P-Delta load case used as initial condition. This case is disabled during capacity design and re-enabled on restoration.
EX_03 0.3EX Pattern Text Non-empty if BiDir used Name of the load pattern representing 30% of X earthquake (for 100%+30% bidirectional mode). Zeroed out during capacity design to avoid double-counting.
EY_03 0.3EY Pattern Text Non-empty if BiDir used Name of the load pattern representing 30% of Y earthquake.

Buttons

ButtonActionWhen to Use
Browse (file picker) Opens a file dialog to select a SAP2000 .sdb file When SAP2000 is not yet open
Attach to Instance Checkbox — connects to an already-running SAP2000 instance When SAP2000 is already open with your model
Prepare for capacity design Runs the full capacity design workflow After filling all required fields
Return to Original Reverses all model modifications After completing capacity design and SAP2000 design runs

5. Step-by-Step Workflows

Workflow A — Ordinary CBF, Single Direction

  1. Select Ordinary Frames and X Dir (or Y Dir).

  2. Select SAP2000 file or check Attach to Instance.

  3. Enter the earthquake load case name in EQ Case (X).

  4. Set Omega₀ (default: 2.0).

  5. Optionally enable Rho and/or P-Delta.

  6. Click Prepare for capacity design. Wait for completion message.

  7. In SAP2000: Run Analysis → Run Steel Design. The design will use CP_ and CN_ combinations.

  8. Review results. When finished, click Return to Original.

Workflow B — Special CBF, Single Direction

  1. Select Special Frames and X Dir.

  2. Enter EQ case name, Omega₀, and optional Rho / P-Delta settings.

  3. Click Prepare for capacity design. The tool also overrides column flexural capacities to prevent columns from being the governing element.

  4. In SAP2000: Run Analysis → Run Steel Design. Combinations CP1_, CN1_, CP2_, CN2_ are now active.

  5. Click Return to Original when done.

Workflow C — Bidirectional (100% + 30%)

  1. Select frame type, then Both Dir (100% + 30%).

  2. Fill in EQ Case X, EQ Case Y, EX_03 pattern name, and EY_03 pattern name.

  3. Click Prepare for capacity design. The tool processes X-direction braces, then Y-direction braces, then generates combined combos C1_–C4_.

  4. Run SAP2000 design as normal.

Workflow D — Bidirectional (100% + 100%)

  1. Select Special Frames and Both Dir (100% + 100%).

  2. Fill EQ Case X and EQ Case Y. EX_03 and EY_03 are not needed (they are automatically zeroed).

  3. Click Prepare for capacity design. The tool creates 16 combinations per original seismic combo for special frames.

  4. Run SAP2000 design.

ℹ Progress Indicator
The progress bar and status label update throughout the process. If the operation fails mid-way, use Return to Original to clean up any partial modifications before retrying.

6. Algorithm Overview

The core algorithm is executed in the following sequence. Each numbered step corresponds to a dedicated subroutine in the codebase:

#SubroutineActionModule
1B_Remove_the_rho_EffectDivide seismic scale factor by ρB_Ordinary / E_Special
2A_Run_and_DesignUnlock model, run analysis, run steel designA_Open_SAP
3B_Set_Omega0_UnitySet SAP2000 Ω₀ preference to 1.0B_Ordinary / E_Special
4B_Get_the_name_of_ElementsRetrieve all frame member namesB_Ordinary / E_Special
5B_Find_the_BracesIdentify diagonal braces by geometryB_Ordinary / E_Special
6B_Find_Seismic_Load_Effect_Times_OmegaExtract axial forces × Ω₀B_Ordinary / E_Special
7aB_Find_Post_Buckling_Capacity(Ordinary only) Query Pc,comp, compute 0.3×PnB_Ordinary
7bE_Find_the_Columns(Special only) Override column Mn to ∞E_Special
7cE_Find_Capacity_Forces(Special only) Compute T, C, CPB per AISC E3E_Special
8B_Calculate_T_C_ForcesAssign loads to _P/_N (or _P1/_N1/_P2/_N2) casesB_Ordinary / E_Special
9B_Property_Modifiers_ZeroSet brace axial modifier = 0.001B_Ordinary / E_Special
10B_Disable_P_Delta_And_Dynamic_CasesDisable P-Delta, modal, RS casesB_Ordinary / E_Special
11B_Add_Pattern_And_CasesCreate capacity-design load patterns and static casesB_Ordinary / E_Special
12B_Add_Joint_LoadsApply point loads at brace end jointsB_Ordinary / E_Special
13B_Generate_Load_CombosReplace seismic combos with capacity combosB_Ordinary / E_Special

7. Brace Identification

Capacity Design of CB Frames identifies diagonal braces purely by the geometry of their end joints. No member labels, groups, or section types are used. This makes the tool robust to any naming convention.

Identification Rules

Pseudocode — B_Find_the_Braces
FOR EACH member IN model:
  Get joint i-end coords: (iX, iY, iZ)
  Get joint j-end coords: (jX, jY, jZ)

  IF (jZ - iZ) ≠ 0 ← must span vertically
    AND (X-direction mode: jX - iX ≠ 0)
    AND (Y-direction mode: jY - iY ≠ 0)
  THEN:
    Record as brace
    BraceLength = √[(iX-jX)² + (iY-jY)² + (iZ-jZ)²]
⚠ Important
Members that are purely horizontal (columns at an angle are not an issue — vertical columns have ΔZ = full story height, but ΔX = 0 and ΔY = 0 so they are excluded). A true diagonal brace will always have a non-zero ΔZ and a non-zero ΔX or ΔY.

What is NOT identified as a brace

Member TypeWhy Excluded
Horizontal beamsΔZ = 0 → excluded by first condition
Vertical columnsΔX = 0 and ΔY = 0 → excluded by direction conditions
Braces in Y-Z plane (X-dir mode)ΔX = 0 → excluded when searching for X-direction braces
Braces in X-Z plane (Y-dir mode)ΔY = 0 → excluded when searching for Y-direction braces

8. Seismic Force Extraction

For each identified brace, the axial force from the earthquake load case is queried from SAP2000 and amplified by Omega₀:

Step 6 BraceE = Axial_Force(EQ_Case) × Ω₀

Sign convention:
BraceSign = "T"  if BraceE > 0   → member in tension under positive-direction EQ
BraceSign = "C"  if BraceE < 0   → member in compression under positive-direction EQ

The Omega₀ factor is applied here to amplify the elastic analysis result to an approximate inelastic demand level. Simultaneously, the SAP2000 design code preference for Omega₀ is set to 1.0 to prevent SAP2000 from applying it a second time during design checks.

ℹ Ordinary vs. Special Force Usage
For ordinary frames, BraceE is used directly as the demand force for the tension side. For special frames, BraceE is only used to classify the brace as T or C; the actual applied forces are computed from expected capacities (see Section 10).

9. Ordinary Frame Capacity Calculation

For Ordinary CBF, the capacity is derived from the SAP2000 steel design result rather than from explicit section property calculations.

Post-Buckling Capacity

AISC 341-16 F2.3 (Ordinary) Pc,comp = φc × Pn   ← retrieved from SAP2000 design results (PcComp)

BraceCapacity = 0.3 × Pc,comp / φc
              = 0.3 × Pn

where:
  Pn = nominal compressive capacity (without resistance factor)
  φc = 0.9 (AISC 360-16 E1)
  0.3 = POST_BUCKLING_FRACTION (residual post-buckling capacity)

Load Assignment (Ordinary)

Brace Classification_P Case (positive direction)_N Case (negative direction)
Compression brace (C)−BraceCapacity (compression load)−BraceE (seismic demand, opposite sign)
Tension brace (T)+BraceE (seismic demand)−BraceCapacity (compression load)

The rationale: in the positive earthquake direction, a brace classified as "compression" buckles and carries only its post-buckling residual. In the reverse direction, the same brace is in tension and must carry the full seismic demand (Ω₀ × E).

10. Special Frame Capacity Calculation

For Special CBF, the capacity forces are computed from first principles using section properties and material data retrieved from SAP2000, following AISC 341-16 F2.3 and AISC 360-16 Chapter E.

Step 1 — Get Section Properties

For each brace: gross area Ag, radii of gyration r22 and r33, yield stress Fy, and elastic modulus E are retrieved. The critical slenderness uses the minimum radius of gyration:

r = min(r22, r33)   ← most critical buckling axis
KL/r   ← K = 1.0 assumed (pinned-pinned brace)

Step 2 — Euler Critical Stress

AISC 360-16 E3-4 Fe = π² × E / (KL/r)²

Step 3 — Expected Yield Stress

RyFy = Ry × Fy = 1.5 × Fy   ← Ry = 1.5 per AISC 341 for HSS/W sections

Step 4 — Critical Stress (Buckling Curve)

AISC 360-16 E3-2 / E3-3 IF RyFy / Fe ≤ 2.25  (inelastic buckling):
    Fcre = 0.658(RyFy / Fe) × RyFy

ELSE  (elastic buckling):
    Fcre = 0.877 × Fe
ℹ Why RyFy instead of Fy in the buckling equations?
AISC 341-16 requires that the expected yield stress (RyFy) be used in capacity calculations for SCBF members, because real steels typically yield at higher stresses than the nominal Fy. Using RyFy ensures columns and connections are designed for the actual (higher) forces that braces can deliver.

Step 5 — Dual Compression Criteria

AISC 341-16 F2.3 C1 = RyFy × Ag   ← yield governs (stocky brace)
C2 = (Fcre / 0.877) × Ag   ← buckling governs (slender brace)

Compression = min(C1, C2)   ← governing compressive capacity
Tension      = RyFy × Ag   ← full tensile yield
CPB        = 0.3 × max(C1, C2)   ← post-buckling residual

Load Assignment (Special)

Brace_P1 (full, +dir)_N1 (full, −dir)_P2 (post-buck, +dir)_N2 (post-buck, −dir)
Compression (C)−Compression+Tension−CPB+Tension
Tension (T)+Tension−Compression+Tension−CPB

The four cases represent the envelope of possible brace states during a seismic event: full compression, full tension, post-buckling (reduced compression), and tension again. Designing for all four ensures the connected members are safe under every phase of the seismic response.

11. Load Assignment to Joints

Capacity forces are applied as point loads at the end joints of each brace, in the global X, Y, or Z direction corresponding to the brace's axial direction.

For each brace with load value BraceL:
Apply +BraceL at i-end joint
Apply −BraceL at j-end joint

This creates a self-equilibrating pair that
produces pure axial force in the brace.

This approach is load-direction independent — SAP2000 resolves the joint loads into axial, shear, and moment components based on member orientation. The load direction index used is 1 (local axis 1, i.e., the member axial direction).

12. Brace Stiffness Modification

After assigning the capacity loads, the axial stiffness of all diagonal braces is reduced by a factor of 1000:

Axial stiffness modifier = 0.001
All other modifiers (shear, bending, torsion) remain = 1.0

Why?

Per AISC 341, during the capacity design analysis, diagonal braces should not participate in carrying gravity loads — the gravity load path runs through the columns and beams. Reducing axial stiffness to 0.1% of its original value effectively removes the brace from the gravity load path while keeping it visible in the model for design output purposes.

⚠ Stiffness Modifier is Reversed on "Return to Original"
When you click Return to Original, all stiffness modifiers are reset to 1.0. Do not manually change stiffness modifiers on brace members while Capacity Design of CB Frames modifications are active.

13. Load Combination Generation

Capacity Design of CB Frames scans all existing response combinations in SAP2000. For each combo that references the earthquake load case, it:

  1. Creates new capacity-design combinations using the capacity load cases
  2. Removes the original seismic combo from the steel strength design list
  3. Adds all new capacity combos to the steel strength design list

Naming Convention

ModeFrame TypeOriginal ComboNew Combos Created
Single DirectionOrdinaryCOMBO1CP_COMBO1, CN_COMBO1
Single DirectionSpecialCOMBO1CP1_COMBO1, CN1_COMBO1, CP2_COMBO1, CN2_COMBO1
BiDir 100%+30%OrdinaryCOMBO1C1_COMBO1, C2_COMBO1, C3_COMBO1, C4_COMBO1
BiDir 100%+30%SpecialCOMBO1C1_COMBO1C4_COMBO1
BiDir 100%+100%OrdinaryCOMBO1C1_COMBO1C4_COMBO1
BiDir 100%+100%SpecialCOMBO1C1_COMBO1C16_COMBO1

Combo Content

Each new combination is a copy of the original, with the earthquake load case term replaced by the corresponding capacity-design load case. All gravity load terms (dead, live, etc.) are preserved unchanged.

14. Return to Original

The restoration sequence is the exact reverse of the preparation sequence:

StepAction
1Restore seismic load scale factor (multiply back by ρ)
2Restore Ω₀ to user-specified value in SAP2000 preferences
3Delete all capacity-design point loads from all joints
4Reset all brace axial stiffness modifiers to 1.0
5Re-enable P-Delta case with original initial conditions
6Re-enable all Modal and Response Spectrum cases
7Delete capacity-design load patterns (_P, _N, _P1, _N1, _P2, _N2)
8Delete capacity-design static load cases
9Delete all capacity-design combinations (prefixes: CP_, CN_, CP1_, CN1_, CP2_, CN2_, C1_–C16_)
10Restore original combos to steel strength design list

15. Engineering Background — Capacity Design Concept

Capacity design is the fundamental seismic design philosophy that underlies modern ductile structural systems. It deliberately creates a hierarchy of strength in the structure:

  • Ductile fuse elements (braces) — designed to yield, buckle, and dissipate seismic energy through large inelastic deformations. These are the "sacrificial" members.
  • Protected elements (columns, connections, foundations) — designed to remain elastic. Their demand is computed from the capacity of the fuse elements, not from the code-level seismic forces.

In a Concentric Braced Frame, the diagonal braces are the ductile fuses. Their capacity forces — not the elastic analysis forces — become the design demand for everything they connect to.

The Two-Phase Approach

Phase 1 (elastic analysis): Run SAP2000 with the earthquake load case to find which braces are in tension and which are in compression under a given earthquake direction. Classify each brace.

Phase 2 (capacity application): Replace the elastic seismic forces with the expected capacity forces of each brace. Compression braces: apply their compressive capacity. Tension braces: apply their tensile capacity. Also apply the post-buckling residual for the states where a brace has already buckled.

16. AISC 341-16 Provisions

Chapter F2 — Concentrically Braced Frames

F2.3(a) — Column Flexural Capacity Override (Special Frames)

AISC 341-16 F2.3, Exception (a), page 9.1-64 states that columns in SCBF may be exempt from certain combined force requirements if the flexural demands are limited. Capacity Design of CB Frames implements this by setting the SAP2000 design overwrite for Mn,major and Mn,minor to 1×1030 kN·m, effectively removing the flexural limit so that columns are never the governing element in a capacity design check.

F2.3 — Expected Brace Capacities

AISC 341-16 requires that braces in SCBF be designed using expected material properties (RyFy instead of Fy) to account for material overstrength. The standard specifies Ry = 1.5 for ASTM A500 HSS and 1.1 for A36/A992 W-shapes. Capacity Design of CB Frames uses Ry = 1.5 as a conservative default applicable to typical brace sections.

Post-Buckling Capacity = 0.3 × Pn

When a brace buckles in compression, it does not lose all its capacity immediately. It retains a post-buckling residual force of approximately 30% of its pre-buckling compressive strength. This 0.3 factor comes from experimental research on brace behavior and is codified in AISC 341.

Ordinary vs. Special — Key Differences

OCBF (Ordinary)
  • Lower ductility demand
  • Uses Ω₀×E as tension demand
  • Uses 0.3×Pn as compression capacity
  • Pn from SAP2000 design (nominal Fy)
  • No column override required
  • 2 load cases per direction
SCBF (Special)
  • Higher ductility demand
  • Uses RyFyAg as tensile capacity
  • Uses min(C1,C2) as compressive capacity
  • CPB = 0.3×max(C1,C2) post-buckling
  • Column Mn overridden to ∞
  • 4 load cases per direction

17. AISC 360-16 Chapter E — Compression Equations

Background — Column Buckling Theory

A compression member can fail by yielding (short/stocky) or by elastic buckling (long/slender). The boundary between these regimes is defined by the ratio of the yield stress to the Euler elastic buckling stress.

Euler Elastic Buckling Stress

AISC 360-16 E3-4 Fe = π²E / (KL/r)²

where:
  E = elastic modulus (200,000 MPa for steel)
  K = effective length factor (1.0 assumed)
  L = member length (mm)
  r = minimum radius of gyration (mm)

Critical Stress — Inelastic Buckling (E3-2)

When the member is stocky enough that it yields before elastic buckling occurs (4.71√(E/Fy) ≥ KL/r, equivalent to Fy/Fe ≤ 2.25):

AISC 360-16 E3-2 Fcr = 0.658(Fy/Fe) × Fy

In Capacity Design of CB Frames: Fy is replaced by RyFy = Ry×Fy
Fcre = 0.658(RyFy/Fe) × RyFy

Critical Stress — Elastic Buckling (E3-3)

When the member is slender and buckling occurs elastically (KL/r > 4.71√(E/Fy)):

AISC 360-16 E3-3 Fcr = 0.877 × Fe

In Capacity Design of CB Frames: Fcre = 0.877 × Fe
The 0.877 factor accounts for initial imperfections in elastic buckling

Transition — 4KL/r vs. 2.25 Threshold

The code transition can be expressed equivalently as:

KL/r ≤ 4.71 × √(E/Fy)    ⇔    Fy/Fe ≤ 2.25

Capacity Design of CB Frames uses the second form (RyFy/Fe ≤ 2.25) which is algebraically equivalent and avoids computing a square root.

18. Key Factors & Constants

SymbolValueEngineering MeaningCode Source
Ry1.5Expected-to-nominal yield stress ratio. Accounts for the fact that real steel yields ~50% above the nominal Fy.AISC 341 Table A3.1
φc0.9Resistance factor for compression members (LRFD). Reduces nominal capacity to design capacity.AISC 360-16 E1
0.3 (post-buckling)0.3Fraction of pre-buckling compression capacity retained after a brace buckles. Based on experimental observations of cyclic brace behavior.AISC 341-16 F2.3
0.001 (stiffness)0.001Axial stiffness reduction factor applied to diagonal braces. Prevents braces from carrying gravity loads during the capacity design analysis step.AISC 341 design intent
K1.0Effective length factor. Assumes both ends of diagonal brace are pinned (gusset plate connections). Conservative for compression.AISC 360-16 Table C-A-7.1
0.877 (imperfection)0.877Reduction factor in elastic buckling equation accounting for initial out-of-straightness in real members.AISC 360-16 C-E3
Ω₀User input (default: 2.0)Seismic overstrength factor. Amplifies elastic seismic forces to estimate the maximum force the structural system can develop before yielding. Prevents brittle failures in non-ductile elements.ASCE 7, AISC 341
ρUser input (optional, default: 1.0)Redundancy factor. Increases seismic demands for systems with limited redundancy. Divided out before capacity design to work with the "base" seismic force.ASCE 7-16 Section 12.3.4

19. Parameter Reference

User Inputs

ParameterUI FieldUnitsValid RangeDefault
Frame typeRadio buttonsOrdinary / SpecialOrdinary
Loading directionRadio buttonsX / Y / BiDir30 / BiDir100X Dir
SAP2000 modelBrowse / AttachValid .sdb path or running instance
EQ Case XTextBox1Non-empty string matching SAP2000 case name
EQ Case YTextBox2Non-empty string (BiDir modes only)
Omega₀Omegadimensionless> 0 (typical 1.5–3.0)2.0
RhoRhodimensionless> 0 (typical 1.0–1.3)disabled
P-Delta casePDELTA_CASE_NAMENon-empty string (if P-Delta enabled)disabled
0.3EX patternEX_03Non-empty string (BiDir modes)
0.3EY patternEY_03Non-empty string (BiDir modes)

Computed Per-Brace Outputs

VariableUnitsDescription
BraceEkNSeismic axial force × Ω₀ (demand)
BraceSignT or CTension or compression classification from positive-direction EQ
BraceLengthmm3D Euclidean length of brace
BraceCapacitykN(Ordinary) 0.3×Pn post-buckling capacity
TensionkN(Special) RyFyAg expected tensile capacity
CompressionkN(Special) min(C1,C2) expected compressive capacity
C_PBkN(Special) 0.3×max(C1,C2) post-buckling capacity

20. Load Combination Naming Convention

The following table shows exactly how the 16 combinations are built for the Special Frame + BiDir 100%+100% mode, for an original combo named DSEQX that uses EQ cases EQX and EQY:

Combo NameX-Dir CaseY-Dir CaseDescription
C1_DSEQXEQX_P1EQY_P1Full C or T in +X, Full C or T in +Y
C2_DSEQXEQX_P1EQY_N1Full C or T in +X, Full C or T in −Y
C3_DSEQXEQX_P1EQY_P2Full C or T in +X, Post-buckle in +Y
C4_DSEQXEQX_P1EQY_N2Full C or T in +X, Post-buckle in −Y
C5_DSEQXEQX_N1EQY_P1Full C or T in −X, Full C or T in +Y
C6_DSEQXEQX_N1EQY_N1Full C or T in −X, Full C or T in −Y
C7_DSEQXEQX_N1EQY_P2Full C or T in −X, Post-buckle in +Y
C8_DSEQXEQX_N1EQY_N2Full C or T in −X, Post-buckle in −Y
C9_DSEQXEQX_P2EQY_P1Post-buckle in +X, Full C or T in +Y
C10_DSEQXEQX_P2EQY_N1Post-buckle in +X, Full C or T in −Y
C11_DSEQXEQX_P2EQY_P2Post-buckle in +X, Post-buckle in +Y
C12_DSEQXEQX_P2EQY_N2Post-buckle in +X, Post-buckle in −Y
C13_DSEQXEQX_N2EQY_P1Post-buckle in −X, Full C or T in +Y
C14_DSEQXEQX_N2EQY_N1Post-buckle in −X, Full C or T in −Y
C15_DSEQXEQX_N2EQY_P2Post-buckle in −X, Post-buckle in +Y
C16_DSEQXEQX_N2EQY_N2Post-buckle in −X, Post-buckle in −Y

21. Limitations & Assumptions

ItemAssumption / LimitationImpact
K-factorK = 1.0 assumed for all diagonal bracesConservative for most gusset-plate connections. May be unconservative if fixity is assumed at brace ends.
Ry factorRy = 1.5 hardcodedCorrect for HSS (ASTM A500) and conservative for W-shapes (A992, Ry=1.1). If A36 plate braces are used, this may be slightly overconservative.
Brace identificationGeometry-only: ΔZ ≠ 0 AND ΔX or ΔY ≠ 0Any diagonal member meeting these criteria is treated as a brace, regardless of section type or function. Do not model non-structural diagonals in the model.
Single materialOne Fy and E per brace (queried from SAP2000)Mixed-material braces (e.g., composite) are not supported.
Design codeAISC 360-16 (also supports 360-22, 360-10, 360-05)Non-AISC design codes (Canadian, European, etc.) are not supported.
SAP2000 versionSAP2000 v23+ required for COM APIEarlier versions may not expose all required API methods.
Brace directionX-dir and Y-dir braces processed independentlyBraces inclined in both X and Y (e.g., plan-diagonal braces in 3D space) are handled by the bidirectional mode, but must be correctly categorized by the user's selection of X or Y direction.
Out-of-plane bracesNot designedBraces oriented outside the selected plane are ignored. The user must run both X-dir and Y-dir (or use bidirectional mode) to capture all braces.

22. Troubleshooting / FAQ

Q: No braces were found. What's wrong?

Check that your model contains members with different Z-coordinates at each end. If using X-direction mode, the brace must also differ in X-coordinate. Pure vertical columns and horizontal beams are excluded by design.

Q: The progress bar stops mid-way. What happened?

The most common cause is a SAP2000 API error — for example, the earthquake load case name doesn't match exactly, or no steel design results exist. Check that steel design has been run before clicking "Prepare for capacity design". Use "Return to Original" to clean up partial changes before retrying.

Q: I accidentally closed the tool without clicking "Return to Original". How do I restore the model?

Re-open Capacity Design of CB Frames, load the same model and configuration, and click "Return to Original". The tool does not store a separate state file — it identifies its modifications by the naming convention of load patterns and combinations (prefixes: CP_, CN_, CP1_, CN1_, CP2_, CN2_, C1_–C16_).

Q: SAP2000 design results look unchanged after running "Prepare for capacity design". Why?

You must manually trigger a new analysis and design run in SAP2000 after Capacity Design of CB Frames has prepared the model. The tool modifies the model but does not run the final design automatically. Go to SAP2000 → Analyze → Run Analysis, then Design → Steel Frame Design → Start Design/Check.

Q: Can I use this with a non-AISC design code in SAP2000?

No. The tool uses AISC 360-specific SAP2000 design API indices (preference index 34 for Omega₀, overwrite indices 39 and 40 for column Mn). Other design codes use different index mappings and are not supported.

Q: Why is Omega₀ set to 1.0 in SAP2000 during the process?

The tool manually multiplies seismic forces by Omega₀ when computing BraceE. If SAP2000's internal Omega₀ preference were left at the user's value, SAP2000 would apply it a second time during the design check, resulting in a double-amplification. Setting it to 1.0 prevents this.

Q: The Rho factor — when should I enable it?

Enable Rho when your seismic load case in SAP2000 already includes the redundancy factor ρ in its scale factor (e.g., the load case was defined as ρ×E). Capacity Design of CB Frames will divide out the ρ before capacity design so that the brace capacity is computed based on the unreduced seismic demand.

23. Report Generation

After a successful capacity design run, Capacity Design of CB Frames can produce a fully formatted Word document (.docx) that records every action the tool took — inputs used, braces detected, capacity forces computed, loads applied, and model modifications made. The report serves as a traceable engineering record for peer review, project documentation, or quality assurance.

ℹ No Microsoft Word Required
The report is built using the Open XML SDK (DocumentFormat.OpenXml) and is written directly as a .docx file. Microsoft Word does not need to be installed on the machine running Capacity Design of CB Frames.

Availability

The Generate Word Report button is enabled only after Prepare for capacity design has completed successfully. It is grayed out at startup and resets to disabled each time you click Prepare for capacity design so that you cannot generate a report from a previous run by accident.

How to Generate a Report

  1. Complete a successful capacity design run by clicking Prepare for capacity design and waiting for the completion message.

  2. Click the 📄  Generate Word Report button that appears in the main form.

  3. A Save As dialog opens. The default file name is CapacityDesignReport_YYYYMMDD_HHMM.docx. Choose a folder and file name, then click Save.

  4. The tool writes the report. When complete, a dialog asks whether you want to open the file immediately. Click Yes to open it in your default Word viewer, or No to leave it on disk.

Report Structure

The report always contains the same seven sections regardless of frame type or loading direction. Sections that differ between Ordinary and Special frames are noted below.

SectionTitleContents
Cover Title page Software name, report generation timestamp, frame type (OCBF / SCBF), and active license plan.
1 Analysis Parameters All user inputs: frame type, loading direction, seismic load case name(s), Omega₀, Rho (if used), P-Delta case (if used), 30% orthogonal pattern names (if bidirectional 100%+30% mode), brace stiffness modifier, total braces detected, and units note.
2 Detected Brace Members Table of every brace identified by the geometry algorithm: member name, i-node, j-node, 3-D Euclidean length, and T/C classification under the positive-direction earthquake. For bidirectional runs, X-direction and Y-direction braces appear in separate sub-tables.
3 Seismic Forces (frame-type dependent) Ordinary: raw axial force from SAP2000 and the amplified demand (Omega₀ × E) per brace.

Special: raw axial force from SAP2000 and the resulting T/C classification per brace. The amplified force is not used directly as the applied demand for special frames — instead it only drives the classification.
4 Capacity Values (frame-type dependent) Ordinary: the φPn retrieved from SAP2000 design results and the derived post-buckling capacity (0.3 × Pn/φ) per brace.

Special: expected tensile capacity T = RyFyAg, expected compressive capacity C = min(C1, C2), and post-buckling capacity CPB = 0.3 × max(C1, C2) per brace. Section properties (Ag, r, Fy, E) and intermediate values (Fe, RyFy, Fcre) are used internally.
5 Applied Capacity-Design Loads The actual point load values written to SAP2000, per brace per load case. Includes the load assignment logic summary (which brace state maps to which load case) and the numerical values for each case: _P / _N for ordinary, or _P1 / _N1 / _P2 / _N2 for special. Positive values represent tension; negative values represent compression.
6 Modifications Applied to the SAP2000 Model Itemised list of every change made to the model: Omega₀ preference set to 1.0 (with API preference index noted), ρ factor removed from seismic scale factor (if Rho was enabled), brace axial stiffness modifiers reduced to 0.001, P-Delta case disabled (if used), modal and response spectrum cases disabled (with case names listed), and — for special frames — column Mn,major and Mn,minor overrides set to 1×1030 kN·m (with column count).
7 Generated Load Patterns, Cases, and Combinations Tables of every load pattern created (name, type, description), every static load case created (name, referenced pattern, scale factor, initial condition), every load combination generated (name and which capacity case it uses), and a note that original seismic combinations were removed from the steel strength check list.

Ordinary vs. Special Report Differences

Ordinary (OCBF) Report
  • Section 3: shows raw axial E and Omega₀×E per brace
  • Section 4: shows φPn from design and CPB = 0.3×Pn
  • Section 5: two load values per brace (_P and _N cases)
  • Section 7: two load patterns (_P, _N) and two load cases
Special (SCBF) Report
  • Section 3: shows raw axial E and T/C classification only
  • Section 4: shows T, C, and CPB from first-principles capacity calc
  • Section 5: four load values per brace (_P1, _N1, _P2, _N2 cases)
  • Section 6: extra sub-section for column Mn overrides
  • Section 7: four load patterns and four load cases

Bidirectional Runs

When either bidirectional mode (100%+30% or 100%+100%) is used, Sections 2 through 5 split into sub-tables for X-direction braces and Y-direction braces. The X-direction braces are classified from the X earthquake load case and the Y-direction braces from the Y earthquake load case. Each sub-table is labelled with the relevant load case name.

⚠ Report Reflects the Last Completed Run
The report button stays enabled until you click Prepare for capacity design again. If you change any inputs and re-run, the previous report data is overwritten in memory. Always generate the report immediately after the run it is intended to document.

Report Styling

The document uses the software's navy-and-gold colour scheme: a dark navy cover with a gold title, gold-accented section headings with a left border, alternating-stripe data tables with navy headers and gold header text, and muted italic caption text below each table. The page margins are approximately 1 inch top and bottom, 0.85 inch left and right.