Analysis Types
AutoCalcs offers different analysis methods to suit various structural problems. Choosing the right analysis type is crucial for obtaining accurate results.
Linear Analysis
Best for: Most standard structures, beams, frames, and trusses where deformations are small.
This is the default analysis type. It assumes:
- Small Displacements: The structure's deformed shape does not significantly affect the equilibrium equations.
- Linear Material Behavior: Materials follow Hooke's Law (stress is proportional to strain).
Formulation
Linear analysis assembles a global stiffness matrix [K] from each element's contribution and solves [K]{D} = {F} for the unknown displacements.
- Beams and columns use a 12-DOF cubic-Hermite beam-column element (3 translations + 3 rotations at each end). The cubic Hermite shape functions exactly capture point loads, moments, and linear distributed loads on a uniform-section member without internal subdivision.
- Boundary conditions include rigid supports, elastic springs (per-DOF stiffness), and prescribed nodal displacements (settlement). Settlement is enforced under every load combination in the current release.
- Rigid diaphragms are assembled via a penalty formulation that ties slave node DOFs to a master node without inverting a Lagrange-multiplier system.
The global system is solved with scipy's sparse direct solver (spsolve) on the partitioned active-DOF block. Sparse storage keeps memory linear in the number of non-zero stiffness entries, so large frame models stay tractable on a standard laptop.
Tension/Compression Only Support
Although termed "Linear", this solver is capable of handling Tension-Only or Compression-Only members and supports. It performs an iterative process to deactivate members or supports that are acting in their forbidden direction (e.g., a tension-only diagonal brace that ends up in compression under a reversing wind load). The iteration converges in 1–3 active-set updates on typical bracing configurations.
Verification
Linear results are verified against textbook reference solutions for simply-supported, continuous, and overhanging beams under distributed and point loads, and against multi-member 2D and 3D frames including portal frames with internal hinges. See the Verification Tests page for the full benchmark set.
P-Delta Analysis (Second Order)
Best for: Tall buildings, slender columns, and flexible structures where sway is significant. Required by most steel codes (AS4100 cl.4.4, EC3 cl.5.2.1, AISC 360 C2.1, CSA S16 cl.8.4) when the elastic critical load factor λ drops below 10.
P-Delta analysis accounts for geometric nonlinearity. It considers the additional forces and moments created when vertical loads (P) act on the laterally displaced (Delta) position of the structure.
Key effects captured:
- P-δ (small delta): Effect of axial loads on the bending stiffness of individual members (e.g., beam-column effect).
- P-Δ (large Delta): Effect of vertical resultants acting on the sway of the entire frame.
Algorithm
P-Delta is a two-pass solve:
- Pass 1 — Linear: assemble [K], solve [K]{D} = {F} for first-order displacements. Recover the internal axial force at each end of each member.
- Pass 2 — Geometric: assemble the geometric stiffness matrix [Kg] from those recovered axial forces. Solve ([K] + [Kg]){D} = {F} for the second-order displacements. Internal forces are re-recovered from the new displaced shape.
If the model has tension-only or compression-only members, the active-set iteration from the linear solver wraps the two-pass loop — T/C members are deactivated based on the second-order axial signs, and the two-pass is repeated until the active set stabilises (typically 1–3 iterations).
Geometric Stiffness Formulation
P-Delta uses the same cubic-Hermite [Kg] as Classic buckling, integrated over a linearly varying axial force P(x) = Pi(1−x/L) + Pj(x/L) along each member. This means second-order amplification is captured correctly even on members with non-uniform axial — tall self-weight columns, members with axial UDLs, or diagonal braces where gravity projects along the member axis. On members with uniform axial (the common case in real loaded frames where applied gravity at floor levels dominates), the linear-P form reduces to the standard constant-P [Kg] bit-for-bit.
Limitations
- Small finite displacements only. P-Delta linearises geometric nonlinearity around the deformed shape but does not co-rotate or update element geometry. Cable structures, large-rotation arches, and form-finding analyses require a true large-displacement nonlinear formulation that AutoCalcs does not currently offer.
- Material remains linear. Plastic hinges, yielding, and material softening are not captured. Combined geometric + material nonlinearity (advanced inelastic analysis) is out of scope.
- Beam-column second-order only. P-Delta captures the geometric stiffness of beam-column elements under axial force. Member-level P-δ (beam-column effect) and frame-level P-Δ (sway amplification) are both included.
Performance
P-Delta is typically 2–4× the linear runtime. The two-pass solve is bounded; the T/C iteration only kicks in when tension/compression-only members are present and converges quickly. On stable structures (λ > 1) the solution is well-conditioned. On structures near the buckling limit, second-order moments grow rapidly — examine the buckling factor before trusting P-Delta results at low λ.
Verification
P-Delta is verified against the AISC 360 Chapter C benchmark problems (the canonical pin-base and fixed-base column cases with combined axial and lateral loading published in the AISC Commentary to validate second-order analysis implementations). See the Verification Tests page for the full P-Delta benchmark set.
Buckling Analysis (Linear Eigenvalue)
Best for: Determining critical load factors, effective length factors (K), and visualising buckling mode shapes.
Buckling analysis (also called Linear Buckling Analysis or LBA) computes the buckling load factor — the factor by which the applied loads need to be increased to reach the buckling load. A load factor less than 1.0 means the applied loads exceed the structure's buckling capacity.
An accurate buckling analysis looks at the interaction of every member in the structure and detects buckling modes that involve individual members, groups of members, or the structure as a whole. It is an essential component of structural design because it:
- Determines if the loads exceed the structure's buckling capacity and by how much
- Calculates member effective lengths for use in steel design checks
- Validates that the static analysis results are usable (if the buckling capacity has been exceeded, static analysis results are unreliable)
Solvers
Two eigenvalue solvers are available, selectable in the buckling setup dialog:
- Classic (cubic-Hermite LBA) — available on every tier. Uses the cubic-Hermite geometric stiffness matrix integrated over linearly varying axial (so it's correct on self-weight columns and members with axial UDLs at any mesh density), with automatic 4-division member subdivision for higher-mode resolution and smooth animation. No user toggle on the subdivision. Default solver. No node limit.
- Wittrick-Williams (exact)— Pro only. Uses exact trigonometric stability functions with transcendental sign-count bisection. Runs in two modes:
- Without subdivision — no node limit. Exact for members with uniform axial force; may lose accuracy on higher modes when axial force varies along the member.
- With subdivision — restricted to models of 20 nodes or fewer (compute-cost cap).
Both solvers produce identical result formats (critical load factors, mode shapes, K-factors). You can toggle solvers to cross-check a governing mode or to work around the WW node cap on larger models.
Heads-up on the WW Pro node cap. WW exact with subdivision is restricted to models of 20 nodes or fewer. This is a compute-cost cap (the WW iterative sign-count solver runs quadratic in mode count at refined mesh). On a Pro plan with >20 nodes, WW is still available with subdivision turned off, or you can use Classic (no node limit). Classic tracks WW within ~0.5% on real loaded frames where column axial is dominated by applied gravity at floor levels, and is more accurate than WW on members with linearly varying axial (self-weight columns, axial UDLs).
The "Subdivide members" option is a WW exact toggle only. Classic always runs with 4-division subdivision server-side — there's no user control because finer subdivision improves higher-mode resolution and produces smooth within-member mode-shape rendering. (Classic's linear-P kg integration is already exact for linearly varying axial at any mesh density, so the subdivision is no longer needed for accuracy on the governing mode — just for higher modes and animation.) For WW, the toggle is meaningful: WW's transcendental stability functions are analytically exact at single-element resolution for constant-axial members, so turning subdivide off is the correct choice for clean columnar frames. Turning it on helps WW on frames with distributed loads, mid-span point loads, or self-weight on long columns (non-uniform axial), although on those models WW + Subdivide converges only as O(1/N) toward the true answer — Classic is the better choice.
Animation fidelity. With subdivide on, the mode shape is sampled at quarter-point stations along each member, producing smooth within-member bowing curves that match the output of commercial FEA solvers. With subdivide off, only the endpoint DOFs of each member carry mode-shape data, and mid-span curvature is interpolated from the static force profile rather than the mode shape itself — the animation can look different from third-party software on modes with in-span peaks.
What Type of Buckling is Computed
The buckling modes considered involve flexural instability due to axial compression (Euler buckling). This should not be confused with:
- Flexural-torsional buckling — torsional instability due to bending moments
- Axial-torsional buckling — torsional instability due to axial loads
These torsional buckling modes require warping stiffness (Iw) in the element formulation, which is not included in the current beam element. Instead, torsional and flexural-torsional buckling is assessed separately by the steel design code checks (AS4100 §6.3.3, AISC 360 E4, Eurocode 3 cl.6.3.1.4, CSA S16 cl.13.3.2) using section properties including the warping constant directly.
Practical Modifications
Both solvers include several practical enhancements:
- Torsional mode filtering: Because warping stiffness is not in the 6-DOF beam element, pure torsional modes appear at artificially low eigenvalues. Modes with less than 2% translational participation relative to rotational participation are automatically skipped. A warning is displayed when any modes are filtered.
- Pin-pin tension members: Tension-only members with pinned ends (e.g. braces) are treated as axial-only elements with zero geometric stiffness, consistent with industry practice.
- Linearly varying axial in Classic LBA: on members where the axial force varies along the length (self-weight columns, axial UDLs, members with internal axial point loads), Classic integrates the cubic-Hermite geometric stiffness over the actual axial distribution. This converges to the exact answer at single-element resolution for linearly varying axial — matches Greenhill's 7.84·EI/L³ closed form for self-weight columns to within 1% at default mesh density.
- Max-end axial force (WW exact only): WW exact still uses the maximum compression at either end of each sub-element when axial varies. This is conservative but converges only as O(1/N) with mesh refinement; on self-weight columns at default subdivision WW under-predicts the critical load by ~20%. For models with significantly varying axial force, prefer Classic.
What It Outputs
- Critical load factors (λ) — the eigenvalues for each buckling mode
- Mode shapes — the deformed shape at each buckling mode, displayed on the model
- Effective length factors (K) — computed per member from the Mode 1 eigenvalue. K = π√(EI / (λ × P × L²)). Members with negligible compression are excluded. K-factors are reported alongside the buckling results so you can reference them when setting Ky/Kz in the Design Check tab, which default to 1.0.
Interpreting λ Values
- λ > 10 — Stable. Second-order effects are negligible (AS4100 cl.4.4, EC3 cl.5.2.1)
- 3 – 10 — Adequate. Use P-Delta analysis to capture second-order effects
- 1 – 3 — Low margin. P-Delta required, review design carefully
- λ ≤ 1 — Structure buckles under applied loads
Important Notes
- The results of a static analysis may be unreliable if the structure's buckling capacity has been exceeded (λ ≤ 1). A buckling analysis should always be performed unless you are certain the structure has adequate stability margin.
- Very low buckling factors (e.g. below 0.05) may indicate a model instability (missing supports, mechanisms) rather than a genuine buckling problem. Check deflections and support conditions.
- The magnitudes of K-factors alone cannot determine if buckling is a problem — only the buckling load factor (λ) indicates whether the applied loads exceed the structure's buckling capacity.
- K-factors are computed from the governing (lowest) eigenvalue only. They are not persisted to the project file and must be re-computed after re-running buckling analysis.
Modal Analysis
Best for: Determining natural frequencies, mode shapes, and mass participation factors for seismic design, floor vibration checks, and dynamic feasibility assessment.
Modal analysis solves the generalised eigenvalue problem [K]φ = ω2[M]φ to extract the structure's natural vibration characteristics. Each eigenvalue gives a natural frequency; each eigenvector gives the corresponding mode shape. No applied dynamic loading is needed — the results depend only on mass distribution, stiffness, and boundary conditions.
Mass Source
Before running modal analysis, you select a reference load pattern (load case or combination) in the modal setup dialog. The reference pattern must contain self-weight on at least one case. The following contributions become mass:
- Self-weight on the selected load cases (material density × element volume)
- Gravity-direction force loads in the pattern — node loads, point loads, and distributed loads aligned with the gravity axis (converted to mass via F/g)
Moment loads and non-gravity-direction forces do not contribute to mass. Only load patterns containing self-weight are shown in the modal setup dialog.
Formulation
Modal uses the same cubic-Hermite beam element as the linear and buckling solvers, with consistent mass matrix derived from the element shape functions (the variationally consistent formulation — see Cook, Malkus & Plesha, Concepts and Applications of FEA).
Each physical member is automatically subdivided into 4 sub-elements (h-refinement) before the eigensolve. This lets the cubic-Hermite consistent mass matrix resolve the true distributed-mass mode shapes of long slender members; a single element per member over-estimates frequencies by 40–1200% on long spans. The subdivision is torn down after the eigensolve so subsequent Linear / P-Delta / Buckling runs are unaffected.
The sparse generalised eigenvalue problem is solved with ARPACK (scipy.sparse.linalg.eigsh) using shift-invert at σ = 0 for the lowest k modes. Tight tolerance and a generous Lanczos subspace help resolve near-degenerate mode pairs that asymmetric models can produce.
What It Outputs
- Natural frequencies (Hz) for each mode, sorted ascending
- Mode shapes — normalised eigenvectors rendered on the model with within-member bowing curves from the refined mesh
- Mass participation factors per direction (X, Y, Z) — what fraction of the total mass is mobilised by each mode, used for modal superposition and to check the 90% participation requirement in most seismic codes
- Effective modal mass per mode per direction
- Total mass assembled from the reference pattern
Mode Filtering
Two filters run automatically on the raw eigenpairs:
- Invalid-mode filter — zero or negative eigenvalues from numerically near-singular systems are dropped as non-physical artefacts.
- Torsional-mode filter — because warping stiffness (Iw) is not in the 6-DOF beam element, pure torsional modes appear at artificially low frequencies. Modes where translational participation is less than 5% of total motion are skipped. A warning is displayed when any modes are filtered. Torsional and flexural-torsional column buckling under axial compression is assessed separately by the steel design code checks (AS4100 Cl 6.3.3, AISC 360 E4, EC3 6.3.1.4, CSA S16 13.3.2). Applied torsion (Tx as a load) on open sections is not currently checked by the design engines and requires external verification per SCI P057 or equivalent.
Solver Accuracy
Modal results are verified against NAFEMS reference solutions:
- NAFEMS FV52 (textbook framework test) — within 0.02–0.23% across all 11 modes
Consistent-mass with h-refinement is the reference formulation used by NAFEMS benchmarks and the modern FEA textbook literature (Cook, Malkus & Plesha; Bathe; Clough & Penzien). It converges monotonically from above to the exact solution as the mesh refines and properly captures rotational inertia in beam elements — it is the textbook-correct choice for implicit modal analysis. Results from tools that default to lumped mass without refinement will differ by a few percent on the same model; that difference is a mass-matrix formulation convention, not a solver error in either tool.
Tier Limits
- Free tier — up to 12 modes per run
- Pro tier — up to 30 modes per run
Important Notes
- Modal analysis requires at least one load case with self-weight enabled to provide a mass matrix. If no self-weight is defined the analysis is rejected with a clear error.
- Results are eigenvectors (normalised), not displacements. They represent the shape of each mode, not an absolute physical amplitude — the animation auto-scales each mode to its true peak translation for visual fidelity.
- Warping-related flexural-torsional modes are not captured directly, for the reasons explained under Buckling above. They are handled in the steel design code checks.
- Very low fundamental frequencies (below ~0.5 Hz on a building-scale model) often indicate a missing lateral-load-resisting system or a disconnected part rather than a genuine long-period mode. Cross-check with buckling analysis — a low λ usually accompanies a spurious low frequency.
Comparison Guide
| Feature | Linear | P-Delta | Buckling (LBA) | Modal |
|---|---|---|---|---|
| Equilibrium Formulation | On undeformed shape | On deformed shape | Eigenvalue ([K] + λ[Kg]) | Eigenvalue ([K] − ω2[M]) |
| Stiffness Matrix | Constant | Two-pass (linear + geometric) | Cubic-Hermite K + linear-P Kg (Classic), or exact stability functions (WW) | Constant (cubic Hermite) |
| Mass Matrix | — | — | — | Consistent mass, h-refined |
| Load Input | Forces / moments | Forces / moments | Load combination (for Kg) | Mass-source pattern only |
| Output | Forces, displacements | Forces, displacements (amplified) | Critical load factors, mode shapes, K-factors | Natural frequencies, mode shapes, participation factors |
| Use Case | Standard steel/concrete frames | Slender structures, drift-sensitive designs | Effective lengths, stability assessment, sway classification | Seismic design, floor vibration, dynamic feasibility |
Which one should I use?
Start with Linear Analysis. It is faster and sufficient for the vast majority of low-rise structures.
Consider P-Delta if:
- You are designing a Moment Resisting Frame (MRF)
- Your structure has slender columns
- Lateral drift is a governing design criteria
- Axial loads are a significant fraction of the buckling load
Use Buckling Analysis to:
- Determine effective length factors (K) for steel design checks
- Classify your frame as braced or sway (AS4100 cl.4.4: λ ≥ 10 means braced)
- Verify that the structure has adequate stability margin under factored loads
- Visualise the governing buckling mode shape to understand the failure mechanism
Use Modal Analysis to:
- Determine fundamental natural frequencies for seismic design (ASCE 7 §12.8, AS 1170.4, EC8)
- Extract mass participation factors to confirm the 90% participation requirement for modal response spectrum analysis
- Check floor vibration acceptability (e.g. ensuring the fundamental frequency is above the dominant footfall harmonic — typically 3–5 Hz for office occupancies)
- Identify soft storeys or torsional irregularities via mode shape inspection
- Validate that the structure is not dynamically susceptible before detailed design