Guide · structural

2D Frame & Beam FEA Calculator — the guide

Everything from the first click to a printed report: how to build a model quickly, how to avoid the handful of mistakes that produce plausible wrong answers, and how to read what the tool tells you about its own solution. The companion methodology page explains why each behaviour is the way it is; this page shows you how to drive it.

Guide 01

What you can do here, and what it costs

The calculator analyses beams, columns, braced frames, portal and gable frames and trusses — anything made of straight members in one plane — under static loading, and reports reactions, axial force, shear, bending moment, deflections and elastic stresses, per load case, per combination and as envelopes. It re-solves continuously as you edit: there is no Solve button and no mesh to manage.

Every result on screen is free and needs no account. The one thing that asks you to sign in — also free — is downloading the PDF report. Models are accepted up to 600 nodes, 900 members and 600 loads per case; a frame of ordinary size solves in well under a second, and the largest accepted models in a few seconds. The tool performs the analysis and compares it against limits you supply — it contains no design-code resistances, which is a deliberate boundary the methodology explains.

Guide 02

A five-minute first model, end to end

The fastest honest tour: start from a template, make it yours, and read what came back.

  1. Open a template. The gallery offers 14 complete models — beams, portals, trusses, a two-storey frame, a crane runway and more. Pick Simply supported beam. It loads already solved, and the identity on its card (δ = 5wL⁴/384EI) is asserted against the engine on every build, so the starting point is known-good.
  2. Change the span. In the tables panel under the canvas, edit node B's x coordinate from 6000 to 8000. The model re-solves as you commit the cell — watch the moment diagram grow.
  3. Change the load. Step to Loads in the left rail and edit the UDL intensity, or add a point load partway along. Downward is negative F_y — the direction picker handles the sign for you.
  4. Set your limits. Enter the deflection span ratio and stress allowables you design to. These are yours: the tool suggests nothing and checks against exactly what you type.
  5. Read the verification panel first. Stable, equilibrium residual near 10⁻¹⁶, mesh study near zero — then trust the diagrams. Section 10 shows what each row means.
  6. View the report. The toolbar's report button assembles the analysis basis, model tables, diagrams, envelopes and the verification record — the same numbers you saw on screen, from the same solver.

Guide 03

The workspace

One screen, five regions. The layout rewards knowing what lives where.

Workspace anatomyFigure 17

Scroll figure horizontally →

The workspace, annotatedA line drawing of the workspace layout: the toolbar across the top with the solve chip at its right, a vertical step rail on the left with five numbered steps, the drawing canvas in the centre with the coordinate triad in its corner, the results dock along the bottom of the canvas, a draggable gutter, and the inspector rail on the right.TemplatesSelect · Draw · Support · LoadUndo · RedoSI ⇄ US unitsSolve chip1Geometry2Sections & materials3Supports4Loads5ResultsXYN · V · M · δ diagrams, per member or on the modeltables · envelopes · pinned valuesinputs for the active stepchecks · verificationdiagnostics · legendtables panel —spreadsheet edit + paste1 Toolbar & solve chip2 Step rail3 Canvas & triad4 Results dock5 Draggable gutter6 Inspector rail
The toolbar carries the tools, templates, undo history, unit toggle and the solve chip. The step rail walks the five modelling steps. The canvas draws the model with the coordinate triad in its corner; the results dock sits under it; the inspector rail on the right holds the inputs for the active step, the checks and the diagnostics. The gutter between canvas and rail drags to resize, as does the dock's top edge.
The five stepsFigure 18

Scroll figure horizontally →

The five workspace stepsGeometry, then sections and materials, then supports, then loads, then results — each step listing what it owns. The model re-solves continuously, so the order is a reading order, not a required sequence.1 · Geometrydraw or paste nodeschain members, split, snap2 · Sections & materialscatalogue or outline sectionsmaterials, beam theory3 · Supportsrestraints, springs, skewmember end releases4 · Loadscases and combinationsevery load type5 · Resultsdiagrams, tables, envelopeschecks and the QA recordthere is no Solve button — every edit re-runs the analysis, so Results is always current
Each step owns one slice of the model. The order is a reading order, not a workflow you must follow — the model re-solves after every edit regardless of which step you are in.

Guide 04

Building geometry: canvas, tables, paste

Everything is editable two ways — drawn on the canvas or typed in the tables — and both produce the identical model through the same commands.

With the draw tool (key D), click to place nodes and chain members between them; Escape ends a chain. Clicking an existing member splits it at that point, so the new node is genuinely connected rather than sitting on top; the loads on that member are carried across the cut, so splitting changes the mesh and nothing else. The select tool (V) moves nodes, marquee-selects, and nudges with the arrow keys. Every action lands in one undo history — Ctrl+Z takes back anything.

Snapping, in priority orderFigure 20

Scroll figure horizontally →

Snapping order and the 45 degree lockThe pointer snaps, in fixed priority order, to an existing node, a member midpoint, a point on a member, the angle lock from the drawing anchor, and finally the grid. Connecting to an existing node outranks everything, because two members that cross without sharing a node transmit nothing between them.1 · Node“Node B”2 · Midpoint“Midpoint of B1”3 · On membersplits it if you click45°4 · Angle locklength rounds to the grid5 · Grid1–2–5 spacing by zoomWhy the node snap outranks everythingcrossing, no shared node — nothing passesone shared node — genuinely connecteda member that looks connected but is not is the commonest way a model silently becomes a mechanism — the validator also warns on crossings
An existing node wins over a member midpoint, which wins over a point on a member, then the 45° angle lock from the drawing anchor, then the grid. The node snap outranks everything because two members that merely cross transmit nothing — the bottom panels show the difference, and the validator warns about unshared crossings too.

The tables under the canvas are a spreadsheet view of the same model: nodes, members, sections, materials, supports and loads. Cells edit in place, and a block copied from Excel pastes from the focused cell, appending rows as needed. A cell that cannot be read is reported on its own row and left unchanged — nothing is guessed into the model, and a blank line in the middle of a paste does not shift the rows after it.

Guide 05

Sections: the catalogue, outlines, and typed properties

Three ways to get a cross-section, in decreasing order of convenience. The catalogue holds standard profiles — IPE, HEA, HEB, HEM, UB, UC, W shapes, SHS, RHS and CHS — stored as nominal dimensions and derived to properties through the same first-principles code as everything else, fillets included; the methodology shows the derivation and the measured accuracy. An outline section is the same machinery applied to dimensions you type: rectangle, I-section, RHS or CHS. And a custom section takes raw properties — A, I, and optionally the shear and fibre values — for anything else.

Edit any derived number by hand and the section becomes custom: the outline is dropped rather than left to disagree with the numbers. Leave an optional property out and the stresses that need it are reported as not available rather than computed from a guess — a section with only A and I still solves and still reports deflections and all internal actions.

Combined normal stress is the one that depends on what the member is doing, not only on what the section states. Without a fibre distance there is no M y/I to report, so a member carrying only axial force is still checked in full — for a truss chord, N/A is not a fragment of the normal stress, it is all of it. A member that also bends is left out of that check entirely and named, and no pass verdict is issued for the model until it has a fibre distance: publishing the axial part alone there would print a small number, and a pass, for a beam whose real stress nobody had computed.

Guide 06

Materials, and the G trap

The material picker offers typical elastic constants for steels, stainless, aluminium, concrete and timber — starting points, not a code source, and the report prints whichever values were actually used. For isotropic materials you may leave G blank and it follows from E and ν.

Concrete values are short-term uncracked moduli. For a cracked or long-term stiffness, enter your own reduced E — the tool will not adjust it for you, because that adjustment is a design decision.

Guide 07

Supports and releases

Supports come as presets — fixed, pinned, roller in either direction — plus fully custom per-direction restraint, elastic springs, an inclined (skewed) support at any angle, and imposed settlement. Restrained directions are eliminated from the system exactly, not approximated with stiff springs, which is why reactions are exact equilibrium quantities; the methodology explains both mechanisms. Settlements are typed in global coordinates exactly as labelled, whatever the support's skew.

Releases live on member ends: moment (the pin of a truss or three-pin frame), axial, or shear. A released action is condensed out of the element exactly — see the condensation section — and releasing the same action at both ends of one member is refused, because it would disconnect the member. On the canvas, a joint where every framing member is pinned collapses to a single hinge ring; ends released at a mixed joint keep their own markers, because there which member is pinned is the information.

Guide 08

Loads, cases and combinations

The load tool (L) places loads by clicking; the Loads step edits every value. The vocabulary: nodal forces and moments; member point forces and moments at any position along a member; distributed loads that can vary linearly and cover part of a span; uniform temperature change and through-depth gradient; support settlement; and self weight computed from each member's own density and area.

Group loads into cases, then combine cases with factors — 1.35 G + 1.50 Q and its siblings. Under linear analysis a combination is exactly the factored sum of its cases, so combinations cost nothing and you can afford as many design situations as the code asks for. Mark each combination strength, serviceability or both; the stress checks read the strength set and the deflection check the serviceability set. A combination with no factors, or whose factors all point at empty cases, is excluded from the design situations and says so.

Guide 09

Reading the results

Diagrams per member, diagrams on the model, tables, envelopes, and pins for the values you want to keep in view.

The results dock plots N, V, M and δ for the selected member, per design situation, with the peaks marked at their exact positions — peaks are located analytically, not read off plot points, so the 5L/8 of a propped cantilever is reported as 5L/8. Hovering reads values at solver stations; clicking pins a value so it stays annotated while you edit. The tables tab lists reactions, end forces and peaks per member, and the envelope view reports the worst value at every position with the combination that caused it named beside it.

The diagram on the modelFigure 21

Scroll figure horizontally →

Reading the on-model diagram overlayThe portal frame with its bending moment overlay. Each member's ordinate is offset perpendicular to that member, toward its local plus y side, with one scale shared by the whole model — so the rafter's ribbon stands vertically while a column's ribbon stands out horizontally, and the largest ribbon marks the member that actually governs.One scale, whole modelpeak |M| = 89.2 kN·msets the ribbon height —the biggest ribbon is themember that governsA column's ribbon is horizontalits local +y is horizontal, so itsordinate stands out sideways —read it against the column, notagainst the pageSigned toward local +ypositive (sagging) offsets toward+y, negative away — the samerule as the dock's chartsknees -40.4 kN·m · midspan +89.2 kN·m
Ordinates are offset perpendicular to each member, toward its local +y, with one scale for the whole model — so the largest ribbon marks the governing member, and a column's ribbon reads horizontally. Computed from the live portal template through the same geometry the canvas uses.

One convention to internalise before reading any diagram: the plots are signed ordinates, positive up — a sagging moment reads positive and is drawn above the axis, which is not the tension-face drafting habit. The full sign convention is the legend on the inputs panel, and the methodology walks through it with the figure that prevents the classic misreading.

Guide 10

Trusting the answer: the verification panel and diagnostics

Before reading any moment, read the panel that says whether there is an analysis to read.

The verification panel, annotatedFigure 22

Verification — as computed live for the shipped default model

  • Stability

    Stablepass

    Did the stiffness matrix factorise? A failure names the free node and direction. Methodology →
  • Equilibrium residual

    0.00e+0pass

    Applied loads re-integrated independently of the fixed-end forces, against the reactions. Methodology →
  • Mesh independence

    4.31e-15pass

    Every member subdivided and the model re-solved. Skipped on large models — reported as not measured, never as zero. Methodology →
  • Conditioning

    1.82e+1×pass

    Largest ÷ smallest pivot. A pin-jointed truss sits in the tens, a moment frame around 1e5; the warning threshold is 1e12. Methodology →
  • Code verification

    17 closed-form benchmarksinfo

    A property of the solver, not of this run — the published benchmark register. Methodology →
These rows are computed live for the shipped default model — the same buildQaRows code that renders the panel in the workspace. Each annotation links to the methodology section that explains the measurement.

The equilibrium residual deserves special trust: the applied loads are re-integrated from the load definitions, independently of the fixed-end forces used to solve, so agreement tests the load processing as well as the solution — the solver is not marking its own homework. And the panel never renders an unmeasured quantity as a zero: a skipped mesh study reads not evaluated, with the reason. Diagnostics appear alongside: errors that stopped the solve, warnings about meaning (crossing members, truncated loads, inert springs), and notes such as the automatic constraint of pin-joint rotations in a truss.

The solver itself carries a standing record beyond your model: the verification record solves every registered benchmark when you open the page and prints the analytical value beside the computed one with the measured error. It is code verification — evidence the equations are solved correctly — not validation against physical tests, and not a claim about your particular model.

Guide 11

The report and the PDF

The report assembles what a checker needs in one document: the analysis basis with the sign convention and assumptions, the full model and loading tables, reactions with the equilibrium check, the diagrams per design situation, envelopes with governing combinations, the stress and deflection checks against your limits, the verification record, and the scope statement. Viewing it is free; downloading the PDF asks for a free sign-in. Screen and PDF are produced by the same pure engine, so they cannot disagree about a number.

On very large models the per-situation diagram pages are omitted to keep the document usable — the tables and envelopes remain complete. The limits are stated honestly in the methodology's known-limitations list.

Guide 12

Sharing a model by link

The entire model lives in the page URL — geometry, sections, materials, supports, loads, combinations and your limits. Copy link, send it, and the recipient opens exactly what you built, no account needed. The URL updates as you edit, so your browser history is also a crude version history.

Guide 13

Keyboard and pointer reference

The same list the workspace shows in its Guide dialog — generated from the one data source a test holds to the actual handlers, so nothing here can advertise a binding that does not exist.

Tools

VSelect tool
DDraw nodes and members
SPlace or remove a support
LAdd a load

View

ScrollZoom with a mouse wheel, pan with a trackpad
Ctrl+ScrollZoom, whatever the device
Space+DragPan, in any tool
Middle-dragPan, without holding a key
Alt+DragPan, with either button
Double-clickZoom to fit, on empty space
HomeZoom to fit

Selection and editing

NStep through nodes (Shift reverses)
MStep through members (Shift reverses)
Shift+ClickAdd to or remove from the selection
DragMarquee-select nodes and the members between them
Double-clickSelect an entity and show it in the tables
ArrowsNudge by one grid step (Shift for a tenth)
DeleteDelete the selection
EscapeDeselect, and end a chain of members

History

Ctrl+ZUndo
Ctrl+YRedo
Ctrl+Shift+ZRedo

Two pointer behaviours worth knowing: a mouse wheel zooms while a trackpad two-finger scroll pans (the tool tells the two apart, and Ctrl+scroll or pinch always zooms), and drags use pointer capture on the canvas itself, so a drag survives the re-renders that editing causes.

Guide 14

Troubleshooting

“The structure is unstable: node … can move”
The model is a mechanism and the message names the free node and direction. Usual causes, in order: a missing support direction (two rollers holding nothing horizontally); two members that cross without sharing a node and only look connected — redraw through a shared node, see section 4; or over-released ends, where a chain of pins leaves a joint free to spin or a member free to slide. The solver constrains a pin-joint rotation automatically only when nothing loads it, so a moment applied at a fully pinned joint is refused instead.
The deflection is enormous
Almost always units or properties: an E entered in GPa where MPa was meant, a section area or inertia three orders too small, a span in metres typed as millimetres. Check the conditioning row too — a pivot ratio far above 10¹² usually means one member is accidentally a noodle. If the deflection is genuinely large, the tool will also tell you the first-order assumption itself is strained.
A moment diagram is unexpectedly zero
Look for a moment release you forgot — a pinned end carries no moment by definition — or a load that landed on a different member than intended. A load placed beyond its member's end is refused with an error naming the position, precisely so it cannot silently migrate to a support and zero out the span moment.
A stress check says “not available”
The section in use is missing the property that stress needs — fibre distances for bending, Q/t or a shear area for shear. Generate the section from an outline and every property is derived; or type the missing value. Nothing is assumed in the meantime, deliberately: a zero here once meant a passing check on an overstressed beam, and that path is closed. Where a member that bends has no fibre distance, the combined-stress check names it, states the stress it can prove that member exceeds, and withholds the verdict for the whole model rather than reporting the peak of the members it could reach as though it were the peak.
The mesh study says “not evaluated”
Your model is above 600 free degrees of freedom, where re-solving everything subdivided would cost far more than the analysis itself. This is disclosure, not failure: the diagrams are mesh-independent by construction — the methodology explains why — and the record states that no figure was measured rather than showing a zero nobody computed.

Guide 15

Where to go deeper

2D Frame, Beam & Truss FEA Calculator — user guide · Xarpis