Using the app

Every screen opens on a worked example. Change any number and the results and the figure redraw as you type — there is no calculate button, and there is nothing to wait for.

Before anything else

ConventionWhat it means
UnitsNewtons and millimetres throughout, and everything derived from them: stresses in MPa, second moments in mm⁴. Section tables in every textbook quote millimetres, which is why the app does.
LoadsTwo conventions, and which applies is visible on the screen. A screen with a single beam or column and no drawn shape takes a downward load as a positive number, matching every printed table in the subject. A screen with a drawn structure and a shape picker above the inputs works in plain coordinates instead, y positive upward, so a downward load is negative there — the worked example each opens on already shows the sign in context.
MomentsSagging positive. A simply supported beam under a downward load has a positive moment throughout; a cantilever has a negative one.
MembersTension positive. A negative member force is a strut.
AnglesRadians, anticlockwise from the horizontal.
MaterialThe bar across the top belongs to you rather than to any one screen: every family except sections uses it, and sections uses none of it.

Reading a screen

What this is

One sentence saying what the screen answers.

Formula

The relation itself, shown rather than referenced.

Choices

Where more than one answer is right, the app asks instead of deciding — and says why the options differ.

Given

What you type, with the meaning of every symbol under it.

Results

Each row names the relation that produced it, so you can see which one you are looking at.

Commentary

What must always be true here, which way things move, and any range the model is near the edge of.

A dash or an infinity sign is an answer, not a failure. Where a relation genuinely has no value — a bore as wide as the shaft, a column of no length — the app writes — or ∞ and puts the reason beside it, rather than showing a zero you might act on.

Statics

Force Systems & Resultants

Resolve a single coplanar force into its resultant magnitude and direction, and find the perpendicular offset of its line of action from a reference point.

You give: F_x, F_y, x, y

It gives back: R_resultant, theta_resultant, d_line, M_about

Choose: single force · couple · balanced
These three outcomes look alike numerically near the transition; picking one silently hides a couple.

Why it computes this →

Support Reactions

Solve the reactions at every support of a planar beam or frame for any combination of loads.

You give: L, supports_type, load_type, W, a, q

It gives back: R_vec, status_det

Choose: simply supported at both ends · cantilever, built in at the left
A cantilever of the same span under the same load carries four times the moment of a simply supported beam and deflects nine and a half times as far. Nothing on the screen says which one the numbers are for unless this does.

Choose: uniform over the whole span · a single point load at a
The same total load spread out and put at one place are different problems: the point load fixes the largest moment at a, the uniform load puts it where the shear crosses zero, and a is read only by one of them.

Why it computes this →

Determinacy & Stability

Classify the model as a mechanism, statically determinate, or indeterminate, and say by how much.

You give: nodes, members, supports

It gives back: status_det, n_redundant, topology_ok, mode_shape

Choose: mechanism · determinate · indeterminate
Indeterminate and mechanism differ only in the sign of the same count. Choosing one silently is the fastest way to hand a student a wrong answer.

Why it computes this →

Sections

Section Builder & Properties

Geometric properties of a rectangular, solid circular, or hollow circular section from its dimensions.

You give: shape, b, h, d, d_i

It gives back: A, x_c, y_c, I_x, I_y, I_xy, r_x, r_y, Z_t, Z_b, J

Choose: rectangle · solid circle · hollow circle
Each preset uses different dimensions and a different torsion relation. Choosing the outline must change the properties, not merely redraw the figure.

Why it computes this →

Principal Axes & Inertia Circle

The two axes about which the section bends without twisting sideways, and the circle that produces them.

You give: I_x, I_y, I_xy

It gives back: I_1, I_2, alpha_p

Why it computes this →

Shear Flow & Shear Centre

How shear travels around a thin-walled section, and the one point a load must pass through to avoid twist.

You give: V, t, b, h, I_x, s

It gives back: Q, q_flow, tau, e_sc, C_w

Why it computes this →

Plastic Section & Shape Factor

The equal-area axis, the fully plastic moment, and how much reserve the section has past first yield.

You give: shape, b, h, d, sigma_y

It gives back: x_na, Z_p, f_shape, M_p

Choose: rectangle · solid circle
The plastic modulus and shape factor depend on where the area lies relative to the bending axis; a rectangle and a solid circle therefore have different reserves past first yield.

Why it computes this →

Stress & Strain

Axial Members

Stress, strain and stretch in a bar, including bars sharing a load and bars held against temperature change.

You give: P, A, L, E, alpha_T, DT

It gives back: sigma, eps, delta

Why it computes this →

Plane Stress & Mohr's Circle

Turn a state of stress to any angle you like, and read the principal values straight off the circle.

You give: sigma_x, sigma_y_stress, tau_xy, theta_cut

It gives back: sigma_1, sigma_2, tau_max, theta_p, sigma_theta, tau_theta

Why it computes this →

Strain Rosette

Work back from three gauge readings to the full strain state, then to the stresses that caused it.

You give: eps_a, eps_b, eps_c, theta_a, theta_b, theta_c, E, nu

It gives back: eps_1, eps_2, gamma, theta_p, sigma_1, sigma_2

Choose: rectangular 0/45/90 · delta 0/60/120 · arbitrary angles
The first two use their closed forms; every other nonsingular three-angle layout uses the general three-equation inverse.

Why it computes this →

Elastic Constants

Give any two isotropic constants and get the other two, plus the plane stress and plane strain matrices.

You give: E, nu, G, given_pair

It gives back: E, nu, G, K_bulk

Choose: E and nu · E and G · G and nu
An isotropic material has two independent constants and four common names for them, and which two you were handed depends on how the material was measured: a tensile test gives E and nu, a torsion test gives G. Every pair fixes the other two exactly, so there is no approximation in the choice -- but there is no way to guess it either, and a screen that assumed one silently would ignore whichever boxes the reader actually filled in.

Why it computes this →

Yield Criteria

Compare a stress state against four different pictures of failure, and see how close each says you are.

You give: sigma_1, sigma_2, sigma_3, sigma_y, sigma_yc, criterion

It gives back: sigma_eq, FoS

Choose: maximum shear · distortion energy · maximum normal stress · Mohr-Coulomb
These disagree by up to fifteen per cent in shear-dominated states. Showing one number without naming the criterion hides that spread.

Why it computes this →

Thin-Walled Pressure Vessel

Hoop and axial stress in a pressurised cylinder or sphere, combined with any torque and end load.

You give: p, d, t, T, P, vessel_shape

It gives back: sigma_hoop, sigma_long, tau, sigma_1, sigma_2, tau_max

Choose: cylinder · sphere
The two differ by a factor of two in hoop stress; a silent default would be wrong half the time.

Why it computes this →

Beams

Beam Diagrams

Axial force, shear, moment and torque along any planar beam, with every peak and zero located exactly.

You give: L, supports_type, load_type, W, q, a, release

It gives back: diagram_N, diagram_V, diagram_M, diagram_T, M_max, x_contra

Choose: where the shear passes through zero · at a load, where the shear jumps across zero
Both happen and they are different questions. Under distributed load the shear crosses zero and the moment has a stationary point. Under point loads alone the shear jumps across zero, there is no stationary point anywhere, and the largest moment sits at the load. A search for a stationary point finds nothing on the second kind of beam, and differentiating across the jump finds the jump.

Choose: simply supported at both ends · cantilever, built in at the left
A cantilever of the same span under the same load carries four times the moment of a simply supported beam and deflects nine and a half times as far. Nothing on the screen says which one the numbers are for unless this does.

Choose: uniform over the whole span · a single point load at a
The same total load spread out and put at one place are different problems: the point load fixes the largest moment at a, the uniform load puts it where the shear crosses zero, and a is read only by one of them.

Choose: continuous member with the selected end supports · Gerber beam: fixed left, roller right, midspan internal hinge
An internal hinge forces its bending moment to zero. The released preset also supplies the fixed left end and right roller needed to keep the beam stable; inserting the same hinge into a pin-pin beam would make a mechanism rather than a solvable beam.

Why it computes this →

Bending Stress

Direct stress from bending, about one axis or two, with the neutral axis found for you.

You give: M_x, M_y, I_x, I_y, c_t, c_b, c_z

It gives back: sigma_max, sigma_min, beta_na, kappa

Choose: about a principal axis · about a non-principal axis
The second case moves the neutral axis and the point of peak stress. Defaulting to the first silently understates the stress.

Why it computes this →

Transverse Shear Stress

How shear stress varies through the depth, and how far apart the fasteners of a built-up beam can go.

You give: V, I_x, Q, t, q_allow

It gives back: tau, tau_max, q_flow, s_fast

Why it computes this →

Transformed Section

Two materials sharing one section: swap one for an equivalent area of the other and bend it as usual.

You give: E_1, E_2, b, h, A_s, d_eff, M, section_state

It gives back: n_ratio, x_na, I_x, sigma_kept, sigma_replaced

Choose: uncracked, whole section active · cracked, tension zone ignored
The two give different neutral axis depths and different stresses. Defaulting silently to the cracked model is wrong below the cracking moment.

Why it computes this →

Combined Axial + Bending

Stack a direct force onto bending, find every corner stress, and see whether any of the section lifts.

You give: P, M_x, M_y, A, Z_t, Z_b

It gives back: sigma_max, sigma_min, core, e_res

Choose: whole section in contact · partial contact, section lifting
The linear formula quietly returns a negative stress where the material cannot pull; that number looks plausible and is meaningless.

Why it computes this →

Deflection — Standard Cases

Slope and deflection for the standard span, support and load combinations, superposed as you like.

You give: L, supports_type, load_type, W, a, E, I_x, h

It gives back: delta_max, delta_pos, theta_rot, delta

Choose: simply supported at both ends · cantilever, built in at the left
A cantilever of the same span under the same load carries four times the moment of a simply supported beam and deflects nine and a half times as far. Nothing on the screen says which one the numbers are for unless this does.

Choose: uniform over the whole span · a single point load at a
The same total load spread out and put at one place are different problems: the point load fixes the largest moment at a, the uniform load puts it where the shear crosses zero, and a is read only by one of them.

Why it computes this →

Deflection — Integration

Integrate the moment twice for the whole deflected shape, with discontinuous loads handled cleanly.

You give: L, E, I_x, load_type, W, a, method, h

It gives back: delta, theta_rot, delta_max, delta_pos

Choose: double integration · singularity functions · moment-area · conjugate beam
All four give the same answer, and seeing which one is running is the point of the screen.

Choose: uniform over the whole span · a single point load at a
The same total load spread out and put at one place are different problems: the point load fixes the largest moment at a, the uniform load puts it where the shear crosses zero, and a is read only by one of them.

Why it computes this →

Energy Methods

Get the movement of one chosen point by putting a unit load there, or by differentiating the strain energy.

You give: nodes, members, loads, E, A, I_x, dof, method

It gives back: delta, theta_rot, U_energy

Choose: along x · along y
The unit load picks the point and the direction together, and the same node gives a different answer for each. A reader who does not choose deliberately reads a sideways movement as a downward one.

Choose: unit load · Castigliano
They share nothing but the solver: one sums a product of two force systems, the other differences a stored energy. For a linear elastic structure they agree to the last digit, and flipping between them on a structure the reader built is the check -- a single number would have to be taken on trust.

Why it computes this →

Trusses & Frames

Truss — Joints & Coefficients

Member forces in a statically determinate truss, by joints and by tension coefficients.

You give: nodes, members, supports, loads, method

It gives back: N_forces, zero_members, R_vec

Choose: method of joints · tension coefficients
Seeing which route produced a number is most of the teaching value; a single unlabelled answer teaches nothing.

Why it computes this →

Force Diagram

Construct reciprocal member-force vectors and a closed equilibrium polygon at every resolvable joint.

You give: nodes, members, loads

It gives back: force_diagram, N_forces

Why it computes this →

Truss Displacements

How far a chosen joint moves, from the member forces you already have.

You give: members, N_forces, A, E, L, dof

It gives back: delta, u_vec, U_energy, W_ext

Choose: along x · along y
A joint moves in two directions at once and a unit load reports only one of them. Which one is a choice the reader has to make, and a reader who does not make it deliberately will read a horizontal movement as a vertical one.

Why it computes this →

Model Canvas

Choose a structural family and set its parameters; the nodes, members, supports and loads follow from the shape.

You give: nodes, members, supports, loads

It gives back: topology_ok, n_dof

Why it computes this →

Linear Solve & Results

Assemble, restrain, solve and recover: displacements, reactions, member end forces and every diagram.

You give: nodes, members, supports, loads, E, A, I_x, release, q, theta_s

It gives back: u_vec, R_vec, diagram_N, diagram_V, diagram_M, K_g, cond

Choose: bar, two degrees of freedom per node · frame, three degrees of freedom per node
A bar model of a frame silently drops all bending; the answers differ by orders of magnitude.

Choose: perpendicular to the member · vertical
On a tilted member the two are different loads. Self weight and floor load are vertical; wind and snow on a slope act on the surface. Choosing silently would put a roof load in the wrong direction on every pitched member.

Why it computes this →

Elastic Supports & Foundation

Supports that give, and beams bedded on soil that pushes back in proportion to how far it settles.

You give: nodes, members, loads, k_spring, k_found, L, E, I_x, support_kind

It gives back: u_vec, delta, R_vec, beta_f, diagram_M, M_x, x_lift

Choose: rigid supports · supports on springs
A support that gives is not a support that does not, and the difference is not small: putting a real bearing stiffness under a continuous beam can multiply its deflection by four figures. The ground under a beam is a third thing again -- it resists every point of the member rather than one node -- and it belongs to the shape rather than to this choice, because a beam bedded on soil is a different structure and not a differently supported one.

Why it computes this →

Classical Methods

Slope-deflection and the force method, stepped out, and checked line by line against the matrix answer.

You give: nodes, members, loads, E, I_x, method, release_choice

It gives back: M_x, u_vec, R_vec, n_redundant

Choose: slope-deflection · force method
Two routes that share almost nothing: one writes each end moment from the joint rotations the solver already found, the other never forms a stiffness matrix at all and solves the released structure once per redundant. They must agree, and watching them agree is the check.

Why it computes this →

Torsion

Circular Shafts

Shear stress, twist and transmitted power in a round shaft, including stepped and doubly fixed ones.

You give: T, d, d_i, L, G, power, omega

It gives back: tau_max, phi, J, diagram_T

Why it computes this →

Non-Circular & Thin-Walled Torsion

Rectangles, open thin sections and closed cells — three very different ways of resisting twist.

You give: T, b, t, A_m, L, G, shape

It gives back: J, tau_max, phi, q_flow

Choose: solid rectangle · thin open section · closed thin-walled cell
These three differ by orders of magnitude for the same outline. This is the single largest silent error available in torsion.

Why it computes this →

Combined Bending + Torsion

A shaft that bends and twists at once: principal stresses, and the pure moment that would match them.

You give: M, T, d

It gives back: sigma_1, sigma_2, tau_max, M_e, T_e

Why it computes this →

Stability

Euler Column & Effective Length

The load at which an ideal column stops being straight, for any of the classical end conditions.

You give: E, I_x, L, supports_type, A, mode_n

It gives back: P_cr, sigma_cr, K_eff, lambda_s, mode_shape

Choose: pinned-pinned · fixed-fixed · fixed-pinned · fixed-free · fixed-fixed with sway · pinned-fixed with sway · elastically restrained
The effective length factor spans a factor of four across these, and the critical load a factor of sixteen. Two pairs share their end conditions and differ only in whether the frame can sway, which a drawing of the column does not show and the column itself does not know.

Why it computes this →

Column Strength Curve

Critical stress against slenderness, from squash load to Euler hyperbola, with the transition marked.

You give: E, sigma_y, lambda_s, sigma_r

It gives back: sigma_cr, lambda_c, P_cr

Why it computes this →

Imperfect Columns

A column that was never quite straight: how the bow grows, and how a test plot gives up the critical load.

You give: e_0, L, E, I_x, A, P, c_t, r_x

It gives back: delta, sigma_max, P_cr, amp

Why it computes this →

Eccentric Columns

A load that misses the centroid, and the load you can allow once a stress limit is set.

You give: e, c_t, r_x, L, E, A, sigma_allow

It gives back: P, delta, sigma_max, P_cr

Why it computes this →

Inelastic Buckling

Buckling once the material has left its straight line, with both classical answers and the gap between them.

You give: E, E_t, I_x, L, K_eff, A, sigma_y

It gives back: P_t, P_r, sigma_cr, E_r

Choose: tangent modulus · reduced (double) modulus
They bound the real answer from below and above. Showing one alone hides the width of the bracket.

Why it computes this →

Approximate Methods

Critical loads for columns the closed forms cannot reach, by assumed shape, by residual, or by grid.

You give: E, I_x, L, shape_fn, n_grid, method

It gives back: P_cr, bracket

Choose: Rayleigh-Ritz · Galerkin · finite differences
Each converges differently and from a different side; an unlabelled number hides which one you are trusting.

Choose: a parabola · a half sine wave
An assumed shape can only overestimate the critical load, and how far it overestimates by is the whole lesson: the parabola lands twenty-one per cent high, the half sine wave is the exact mode and lands on the answer. Which one is running has to be visible or the error looks like the method's rather than the guess's.

Why it computes this →

Buckling of the Model

The load factor at which the drawn truss or frame goes unstable, and the shape it goes unstable in.

You give: nodes, members, supports, loads, E, I_x, A, mode_n

It gives back: lambda_cr, mode_shape, K_geo, P_cr

Why it computes this →

Beam-Columns

Bending and compression together, where the axial force magnifies the deflection that bending caused.

You give: P, q, L, E, I_x, M_p

It gives back: P_cr, delta_max, M_max, amp, FoS, util

Why it computes this →

Frame Effective Length

The effective length factor for a column inside a frame, from the published closed form that stands in for reading the alignment chart.

You give: G_A, G_B, sway, E, I_x, L

It gives back: K_eff, P_cr, L_eff

Choose: braced against sway · free to sway
The two equations are different and their answers differ by a factor of two or more. Defaulting to one is the single most consequential silent choice in the whole stability family.

Why it computes this →

Torsional & Lateral Buckling

Members that fail by twisting rather than bowing, and beams that trip sideways out of their own plane.

You give: E, G, I_x, I_y, J, C_w, r_x, r_y, L, e_sc

It gives back: r_0, P_phi, M_cr, P_cr, mode_shape

Why it computes this →

Plate Buckling

Buckling of a plate panel, with the coefficient minimised over half-waves and the number shown.

You give: a_plate, b_plate, t, E, nu, edge_cond, sigma_y

It gives back: k_plate, sigma_cr, m_wave, b_eff

Choose: the half-wave count that minimises the coefficient
Two aspect ratios either side of a crossing buckle into different shapes with the same coefficient. Hiding the count hides the physics.

Choose: both edges simply supported · both edges fixed · one edge free
The coefficient spans from about 0.4 to about 7 across these; the choice matters more than any other input.

Why it computes this →

Non-linear & Walls

Second-Order Analysis

Equilibrium written on the deformed structure, traced load step by load step.

You give: nodes, members, loads, E, A, I_x, n_steps

It gives back: u_vec, diagram_M, lambda_cr, K_geo, delta

Choose: incremental trace · one-line amplification · exact beam-column formula
Three routes and they do not all agree, which is the point. The trace re-solves on the tangent stiffness of the state it has reached; the amplification divides the first-order answer by one minus the load ratio and is exact only when the structure deflects into its own buckling mode; the closed form is exact for a pinned column pushed at its middle and exists for nothing else. Watching the third confirm the first and the second miss by a tenth is worth more than any of them alone.

Why it computes this →

Plastic Collapse

Hinges forming one by one until the structure turns into a mechanism, and the load factor that does it.

You give: nodes, members, loads, M_p, E, I_x

It gives back: lambda_coll, hinge_seq, mechanism, diagram_M, lambda_closed, lambda_yield, n_hinge

Choose: the position that minimises the load factor · a hinge at mid-span
Both are mechanisms and both are upper bounds, so both are answers -- but only the first is the collapse load. On a propped cantilever the mid-span guess is three per cent high, and being high is what makes a guessed mechanism dangerous rather than merely inaccurate.

Why it computes this →

Gravity Retaining Wall

What pushes on a gravity wall, and the three ways it can let go: tipping, sliding, or crushing its base.

You give: gamma_soil, phi_soil, H_wall, B_wall, mu_base, gamma_wall, retained, q_sur

It gives back: K_a, K_p, FoS_ot, FoS_sl, p_base_max, p_base_min, e_res

Choose: drained soil · water
Water has no friction angle, so its coefficient is one where a drained soil's is a third: the same height of water pushes three times as hard, and it is the single strongest argument for putting drainage behind a wall. A screen that only ever showed soil would leave that unsaid.

Choose: resultant inside the middle third, full contact · resultant outside, base partly lifted
The linear formula quietly returns tension under a footing, which is meaningless and always non-conservative.

Why it computes this →