Performance-Based Seismic Assessment

Take a nonlinear model from hinge definitions to a report: run a pushover, read hinge performance levels and interstory drift, and export the results.

Time
About 45 minutes
Level
Intermediate
You'll need
The First Model guide
You're done when
You have a report of hinge status and drift
On this page
  1. Draft: what is verified and what is not
  2. The building and the performance objective
  3. 1. Set up
  4. 2. Build the geometry
  5. 3. Materials and sections
  6. 4. Define and assign hinges
  7. 5. Diaphragms, loads, mass and load cases
  8. 6. Run the analysis
  9. 7. Read the results
  10. Your responsibilities

The building and the performance objective

You will assess an existing four-story steel moment frame with a pushover analysis in the X direction. The example is deliberately small so that every step is easy to repeat, and it is a tutorial: it shows how the workflow fits together, not how to certify a building.

Plan4 bays in X and 2 bays in Y, all 24 ft (288 in)
Height4 stories at 13 ft (156 in), fixed bases
MembersW14x90 columns, W24x76 beams, expected yield strength Fye = 54 ksi (1.5 × 36 ksi)
Floors4.5 in concrete slab as an elastic shell, rigid diaphragm at every story
LoadsSlab, beams and columns self-weight, plus 20 psf superimposed dead and 40 psf live
Hazard and targetBSE-2E, Collapse Prevention (CP)
AnalysisGravity (Dead + 0.25 Live), then a displacement-controlled pushover in X
Columns will yield, and that is intended

The W14x90 columns are lighter than the W24x76 beams frame into them, so the columns hinge before the beams. The example keeps these sections on purpose: it shows the fiber-section column hinges at work. Do not read the result as a recommended design.

What the app does not do for you

vfopro does not calculate an ASCE 41 target displacement and does not check acceptance criteria against a demand. This guide stops at the pushover curve, hinge status and interstory drift. The engineer of record chooses the target displacement, load pattern and acceptance checks.

Skip the modelling

Open SteelMRF_4x2.vfodb from Home › Load Model to jump to step 6. Save a copy first with Save As.

1. Set up

  1. Click New Model on the Home panel, then Save As and save the model in a folder you own. Analysis needs a saved file, and saving now means the autosave never overwrites something else.

  2. Open Unit System and leave it on kip · in · sec. Mass is only computed correctly in this system, so do not switch to kip · ft.

2. Build the geometry

  1. Open Create › Grid System › Grid Data. Enter five X grids (tags A to E at 0, 288, 576, 864, 1152) and three Y grids (tags 1 to 3 at 0, 288, 576), then click Save.

    You should see: “Grid data saved successfully! X Grids: 5 Y Grids: 3”.
  2. Open Story Data and add four levels: Level 1 at 156, Level 2 at 312, Level 3 at 468 and Level 4 at 624. Click Save.

    The Story Data panel with four levels at 156, 312, 468 and 624 inches
    Create › Grid System › Story Data.
  3. Open the plan view of Level 1 and draw one story: a column at each of the 15 grid intersections, the 22 beams that join them along the grid lines, and the 8 shell quads (one per bay) that make the slab. Drawing the beams and quads at Level 1 only is faster than drawing all four levels.

    You should see: 15 columns, 22 beams and 8 quads on Level 1 in the 3D view.
  4. Select everything at Level 1 and use Replicate by story to copy it to Levels 2, 3 and 4.

    You should see: 60 columns, 88 beams (48 in X and 40 in Y) and 32 quads in total.
Draft: column tool

In the current build the column tool creates nodes without elements until a section and material have been chosen. This is being tracked separately; the final steps here will be updated once it is fixed.

3. Materials and sections

  1. Define one steel material for the fiber columns: a Steel02 uniaxial material with E = 29000 ksi, Fy = 54 ksi (expected yield) and post-yield ratio b = 0.01.

  2. Define the elastic frame sections W14X90 (columns, used for the elastic model and self-weight) and W24X76 (beams), then a fiber W section for the column hinges: Define › Sections › Frame › Fiber W section with AISC shape W14X90 and the Steel02 material.

  3. Define the slab as an elastic shell section, 4.5 in thick with the 4 ksi concrete material.

  4. Assign W14X90 to all columns, W24X76 to all beams and the shell section to all quads. Select the 15 base nodes and assign a fixed restraint (all six degrees of freedom).

4. Define and assign hinges

Hand calculation for the beam hinges

vfopro does not derive beam hinge properties from the section. You supply them from ASCE 41 Table 9-7 for a compact W-shape beam. For a W24x76 with Zx = 200 in³, Ib = 2100 in&sup4; and an assumed 288 in span:

  • Yield moment, My = Zx × Fye = 200 × 54 = 10,800 kip-in.
  • Yield rotation, θy = Zx · Fye · Lb / (6 · E · Ib) = 200 × 54 × 288 / (6 × 29000 × 2100) = 0.00851 rad.
  • Backbone: plastic rotation a = 9θy, b = 11θy, residual strength c = 0.6.
  • Acceptance rotations for a beam: IO = 1θy, LS = 6θy, CP = 8θy.
Draft: check against the standard

These factors are for review by a qualified engineer against the edition of ASCE 41 you are using before this guide is published. Never publish or rely on numbers you have not checked.

  1. Open Define › Hinges › Frame › Moment-Rotation and create a hinge named for the beam. Yield moment 10800. Moment scale factors 1, 1.03, 0.6, 0.6 and rotations 9θy, 9.09θy, 11θy (0.0766, 0.0774, 0.0936 rad). Limit states IO/LS/CP at 0.00851, 0.0511 and 0.0681 rad.

    Why 1.03 and not 1.0

    The backbone needs a small positive slope in its second segment. The strength rises from 1.0 to 1.03 of My over a rotation of 0.09θy, then falls to 0.6.

  2. Select the 48 beams that run in the X direction and open Assign › Frame Elem › Hinges › Compound Component. Choose the moment-rotation hinge with length 0, and a rigid end zone. Leave the 40 Y-direction beams elastic with no hinges; you push in X only.

  3. Select the 60 columns and open Assign › Frame Elem › Hinges › Beam Integration › Conc. Curvature. Choose the fiber W14x90 section and set the plastic-hinge length Lp = 7 in at both ends (about half the 14 in column depth).

You should see: 96 beam hinges (48 beams, both ends) and 120 column hinges once the assignments are done.

5. Diaphragms, loads, mass and load cases

  1. Diaphragms. Define a rigid diaphragm for each story and assign it to that story’s nodes. Use one constraint per story; sharing a single constraint between stories does not run.

  2. Load patterns. Create Dead (self-weight multiplier 1), SDL (dead type, self-weight 0), Live and PushX. Dead carries the weight of the beams, columns and slab.

  3. Superimposed and live loads. Apply them as downward nodal loads at every floor node: tributary area (half a bay each side of the node, or a quarter of the bay at a corner) times 0.020 ksf (SDL) and 0.040 ksf (Live). Each floor then carries 4608 ft² of load:

    Node typeTributary areaSDL (kip)Live (kip)
    Corner (4 per floor)144 ft²2.885.76
    Edge (8 per floor)288 ft²5.7611.52
    Interior (3 per floor)576 ft²11.5223.04
  4. Pushover pattern. In PushX, apply an X force at the centre node of each floor, in proportion to height: 1, 2, 3 and 4 kip at Levels 1 to 4 (an inverted triangle).

  5. Mass source. Add a mass source that takes Dead and SDL at a factor of 1. Live load is not part of the seismic mass in this example.

  6. Load cases. Create three cases:

    • Modal: 6 modes.
    • Gravity: static, Dead 1 + SDL 1 + Live 0.25.
    • PushoverX: nonlinear static, displacement control, initial condition Gravity, pattern PushX, control node the roof centre node, DOF 1, target 30 in in 300 steps.
  7. Drift stack. Define an interstory drift node stack up one column line so the drift profile is available in the results.

  8. Run Analysis › Check Model, then save.

    You should see: 0 errors and 0 warnings, and a total weight of about 1746 kip.

6. Run the analysis

  1. Reopen the saved model with Load Model before you run it. The hinge results view needs the export map that is created when the model is loaded from the file.

  2. Open the Analysis panel, tick Modal, Gravity and PushoverX and run. Watch the Convergence Monitor.

    You should see: Gravity finishing in 10 of 10 steps and PushoverX in 300 of 300.
    The Modal case reads “Failed”

    The Modal case can show a “Failed” label even though the periods were computed and printed. The first period is about 0.417 s.

7. Read the results

  1. Base shear versus displacement. Build the plot from the Report builder’s Baseshear–Displacement widget for PushoverX.

    You should see: a peak base shear of about 2286 kip at the full 30 in of roof displacement, with the stiffness softening steadily as the columns yield.
  2. Hinge status. Open Post Processing, select Load Case › PushoverX, tick Hinges › Frames once and click OK. Drag the animation slider to a step. Green is up to IO, yellow between IO and LS, red beyond.

    Deformed frame at the last pushover step with fiber column hinges coloured green, yellow and red
    Post Processing › Hinges › Frames at the last step (deformed shape magnified).
    You should see: all 96 beam hinges still green (largest rotation about 3×10−7 rad) and the first column hinge reaching CP around step 100–113, at a roof displacement of about 10 in.
  3. Interstory drift and the report. Open the IDR chart for the drift stack you defined, then use the Report builder to add the base-shear, IDR and hinge-summary widgets and export to PDF or HTML.

Only the X beams are checked here

The hinge summary in the report covers the moment-rotation beam hinges. The column fiber hinges are shown in the Post Processing overlay; their summary is not in the report.

Your responsibilities

  • The engineer of record selects the seismic hazard, target displacement and acceptance criteria. vfopro does not calculate a target displacement or check acceptance for you.
  • This example uses one simplified lateral pattern and a single direction. A real assessment normally uses more than one pattern and both directions, plus an accidental-torsion check.
  • Y-direction beams are elastic and columns yield first here. The result demonstrates the tool, not the adequacy of the building.
  • Check the ASCE 41 numbers in step 4 against the edition you use.

Last updated September 21, 2026 · applies to vfopro 20260921.0.0 or later