3D Frame Analysis
A lightweight structural analysis program in your browser, in the spirit of RISA-3D and SAP2000. Generate a beam, portal frame or multi-story building, or type joints and members into the tables. Assign sections, releases and loads, then read displacements, reactions and moment, shear and axial diagrams for every ASCE 7 combination. P-Δ and modal analysis (periods and mass participation) are one click away. Nothing is uploaded; the model stays on your computer unless you share a link.
Changing a generator input rebuilds the joints, members and loads (sections, materials and combinations are kept). Choose "Custom" first to edit the tables freely.
| # | X | Y (up) | Z | Support |
|---|
Coordinates in ft. Fixed = all 6 restrained; pinned = 3 translations; roller = Y only; "pin+Rx" also restrains rotation about X.
| # | i | j | Section | End releases | β (deg) | L |
|---|
A pinned end releases My and Mz at that end. β rotates the local y/z axes about the member axis.
| # | Name | Shape | d1 | d2 | d3 | d4 | Material | A | Iz (strong) | Iy | J |
|---|
| # | Name | E | G | Unit weight |
|---|
| Joint | Case | Fx | Fy | Fz | Mx | My | Mz |
|---|
Forces in kip, moments in kip-ft, global axes (Y up, so gravity is −Fy).
| Member | Case | Direction | w |
|---|
Uniform load over the full member length, in kip/ft of member length. Global directions are signed (gravity = GY with a negative w); local y / z follow the member axes.
| Name | D | L | W |
|---|
Factors on the three load cases. Without P-Δ the results superpose; with P-Δ each combination is solved separately, as it must be.
| Joint | Rx | Ry | Rz | Mx | My | Mz |
|---|
| Mem | N i | N j | max |Vy| | max |Vz| | max |T| | Mz i | Mz max + | Mz j | max |My| | L/Δ |
|---|
Tension positive. Mz positive = tension on the −y face (sagging for beams). Values in kip and kip-ft. L/Δ is the deflection relative to the member chord.
| Joint | Δx | Δy | Δz | θx | θy | θz |
|---|
Translations in in, rotations in radians.
| Mode | Period T (s) | Frequency (Hz) | Mass X | Mass Y | Mass Z | Σ X | Σ Y | Σ Z |
|---|
The share link stores the whole model in the URL fragment, which is never sent to the server.
How the solver works
Every member is a straight, prismatic, Euler-Bernoulli beam-column with six degrees of freedom at each end: three translations and three rotations. The page forms each 12 × 12 member stiffness matrix in local axes, condenses out any released end moments, rotates it to global axes, and assembles the global stiffness matrix. It renumbers the joints by reverse Cuthill–McKee to keep the matrix banded, then factors it as LDLᵀ. A 10-story, 5 × 5-bay building (2,000+ equations) solves in well under a second.
Uniform member loads become fixed-end forces. After the solve, each member's end forces are recovered and the internal forces are computed at 40 stations from statics, using the end forces plus the distributed load. Deflections along each member come from integrating the curvature M/EI twice between the computed end displacements, so they include the effect of end releases exactly. The page checks equilibrium of every combination by comparing the sum of the vertical reactions with the total applied load.
Instability. If a translational pivot vanishes during factorization, the structure is a mechanism, and the page names the joint and direction. If a rotational pivot vanishes, for example at a joint where every member is pinned, that rotation has no stiffness and does not affect the answer. The page restrains it and lists it as a warning.
Rigid floor diaphragms. With the option on, the joints at each floor level (the same Y, not restrained against X, Z or rotation about Y) are tied to a master point at the level's mass centroid: ux = uxm + θy·Δz, uz = uzm − θy·Δx, θy = θym. The floor then translates and twists as a rigid body in plan while each joint keeps its own vertical displacement and bending rotations, which is how a concrete slab or a composite deck is normally idealized. Because the master sits at the mass centroid, the floor mass and its polar moment of inertia stay uncoupled, and torsional modes come out correctly. Without diaphragms, each frame line moves on its own, and an unbraced interior frame can dominate the first mode.
P-Δ. With P-Δ on, each combination is solved, the member axial forces are taken from that solution, and the geometric stiffness N/L is added to both lateral translations of every member. This repeats until the largest displacement changes by less than 0.01%. A negative pivot means the frame has buckled under that combination. Only the chord (P-Δ) effect is modelled, not member curvature (P-δ).
Modal analysis. Mass is lumped at the joints in all three translations: half of each member's self-weight at each end, plus, optionally, the dead-load joint and member loads converted to mass. Rotational inertia is neglected. The lowest modes come from subspace iteration (Bathe), with Jacobi rotations for the reduced eigenproblem. Each mode is reported with its period, frequency and effective modal mass ratio in X, Y and Z.
Verification problems
| Problem | Exact | How to set it up |
|---|---|---|
| Cantilever, tip load P | Δ = PL³/3EI, M = PL | Cantilever, any segments |
| Simple beam, uniform w | M = wL²/8, Δ = 5wL⁴/384EI | Continuous beam, 1 span, pinned |
| Fixed–fixed beam, uniform w | Mend = wL²/12, Mmid = wL²/24 | Continuous beam, 1 span, fixed |
| Two equal spans, uniform w | MB = −wL²/8, RB = 1.25wL | Continuous beam, 2 spans |
| Cantilever, tip torque T | θ = TL/GJ | Cantilever, tip torque |
| Column, axial P + lateral H, P-Δ, 1 element | Δ = H / (3EI/L³ − P/L) | Vertical cantilever, 1 segment, P-Δ on |
| Simple beam, first mode | f₁ = (π/2)√(EI/(m̄L⁴)) | 1 span, pinned, many segments |
Worked example — fixed-base portal frame under lateral load
One bay, 20 ft wide, 12 ft tall, rigid beam, H = 10 kip at the roof
Limits
- Frame members only: no plates, shells, solids, cables, springs, semi-rigid diaphragms, or rigid end offsets. Members are straight and prismatic; shear deformation is neglected.
- Uniform member loads cover the whole member. Split a member at a new joint to place a point or partial load.
- No member design checks (AISC, ACI, NDS), no moving loads, and no response spectrum or time history. The modal results are periods, mode shapes and mass participation only.
- P-Δ includes the large-Δ effect only. The AISC 360 direct analysis method also needs notional loads and the 0.8 τb stiffness reduction, which you would apply in the inputs.
- The I-shape and box properties are computed from plate dimensions without fillets or corner radii. They are close to, but not identical to, tabulated AISC values. Enter tabulated A, I and J with the "Custom" shape when it matters.
References: McGuire, W., Gallagher, R.H. and Ziemian, R.D., Matrix Structural Analysis, 2nd ed. (2000), Ch. 4–5 (3D frame element, transformation, condensation of releases) and Ch. 9 (geometric stiffness). Przemieniecki, J.S., Theory of Matrix Structural Analysis (1968). Bathe, K.-J., Finite Element Procedures, §11.6 (subspace iteration). Gibbs, N.E., Poole, W.G. and Stockmeyer, P.K., "An algorithm for reducing the bandwidth and profile of a sparse matrix," SIAM J. Numer. Anal. 13(2), 1976. ASCE/SEI 7-22 §2.3 and §2.4 (combinations) and §12.9.1.1 (90% modal mass participation). ANSI/AISC 360-22 Chapter C and Appendix 7.
Related tools
- Truss calculator — roof and bridge trusses with NDS and AISC member checks
- Continuous beam — pattern live load envelopes and HL-93 for girders
- Beam deflection — closed-form single-span cases
- Section properties — A, I, S, r, Z for common shapes
- AISC LRFD steel design — check the members for the forces found here
Worked examples and guides
- Portal frame under lateral load — slope-deflection vs this tool, fixed vs pinned bases
- P-Δ column — exact second-order vs AISC B2 vs element count
- 3-story building period — modal analysis vs ASCE 7 Ta, rigid diaphragms
- How to model a 3D frame — local axes, releases, diaphragms, model checks
- All structural analysis tools and examples