Stiffness Matrix Calculator

Enter the cross-sectional area, Young's modulus, and length of a 1D axial bar, spring, or truss element to get its axial stiffness and full 2×2 local stiffness matrix K = (AE/L)×[1,-1;-1,1].

Quick Facts

Element stiffness matrix
K = (AE/L) × [1 −1; −1 1]
Relates nodal forces {F1,F2} to nodal displacements {u1,u2} for a 2-node axial element: {F} = [K]{u}.
Axial stiffness
k = AE / L
A = cross-sectional area, E = Young's modulus, L = element length.
Symmetry
K12 = K21 = −k
Every linear-elastic stiffness matrix is symmetric (Maxwell-Betti reciprocal theorem).

Your Results

Calculated
Axial stiffness (k)
-
k = AE / L
Diagonal terms (K11 = K22)
-
Equal to +k
Off-diagonal terms (K12 = K21)
-
Equal to −k
Element stiffness matrix [K]
-
{F} = [K]{u}

Ready

Enter area, modulus, and length, then press Calculate.

Formula and Method for the Stiffness Matrix

In matrix structural analysis and the finite element method (FEM), the stiffness matrix K of an elastic element relates the forces applied at its nodes to the resulting nodal displacements through {F} = [K]{u}. The simplest and most fundamental case is a 2-node axial element — a bar, spring, or pin-jointed truss member — loaded only along its own axis. For that element the local stiffness matrix is a 2×2 matrix: K = (AE/L) × [1, −1; −1, 1], where A is the cross-sectional area, E is Young's modulus of the material, and L is the element's length between its two nodes.

How the calculation works

Enter the cross-sectional area, Young's modulus, and length, each with its own unit selector; the calculator converts every value to consistent SI units (m², Pa, m) before computing. It first finds the scalar axial stiffness k = AE/L, which has units of force per unit length (N/m). This single number becomes every entry of the 2×2 matrix: the diagonal terms K11 = K22 = k, and the off-diagonal terms K12 = K21 = −k. This comes directly from Hooke's law applied at each node — displacing node 1 by u1 while holding node 2 fixed stretches the element by u1, producing an internal force k·u1 that pulls node 1 back and pulls node 2 forward by the same amount, so F1 = k·u1 − k·u2 and F2 = −k·u1 + k·u2.

Assembling a global stiffness matrix

A single element rarely tells the whole story. In the direct stiffness method, each element's local 2×2 matrix is mapped into a larger global matrix using its two global node numbers, and contributions from every element sharing a node are added together (superposition). Supports and fixed degrees of freedom are then applied by removing the corresponding rows and columns (or using penalty/elimination methods) before solving [K]{u} = {F} for the unknown displacements. The same AE/L building block extends directly to plane trusses and 3D truss elements once local stiffness is transformed into global coordinates with the element's direction cosines.

Practical notes and common mistakes

  • Unit consistency: mixing E in GPa with A in mm² and L in inches without converting first is the most common source of wrong stiffness values — always reduce to one consistent unit system before trusting a hand calculation.
  • Singular unrestrained matrix: the 2×2 matrix above is singular (determinant = 0) because an unsupported element can translate rigidly with zero net force; a real structure needs boundary conditions before [K] can be inverted.
  • This is the axial (bar) matrix only: beam elements that resist bending and shear use a larger 4×4 (or 6×6 with rotation) stiffness matrix built from EI/L³ terms — a different, more elaborate formulation than the simple axial case here.
  • Stiffness vs. flexibility: the stiffness matrix maps displacements to forces; its inverse, the flexibility matrix, maps forces to displacements and is only defined once rigid-body motion has been restrained.

Frequently Asked Questions

What is a stiffness matrix?
A stiffness matrix K relates the forces applied at the nodes of an elastic element to the resulting nodal displacements: {F} = [K]{u}. For a simple 2-node axial bar, spring, or truss element it is a 2×2 matrix K = (AE/L) × [1, −1; −1, 1], where A is cross-sectional area, E is Young's modulus, and L is the element length.
Why is the off-diagonal term negative?
The off-diagonal terms (K12 = K21 = −AE/L) capture how displacing one node while holding the other fixed pulls on the fixed node in the opposite direction. Displacing node 1 by u1 with node 2 fixed stretches the element by u1, producing a restoring force −k·u1 at node 2, which is exactly the off-diagonal contribution.
How is a global stiffness matrix assembled from element matrices?
In the direct stiffness method, each element's 2×2 local matrix is placed into a larger global matrix at the rows/columns corresponding to its two node numbers, and overlapping entries from elements sharing a node are summed. Boundary conditions are then applied by removing or modifying rows/columns for fixed degrees of freedom before solving [K]{u} = {F}.
Is the stiffness matrix always symmetric?
Yes, for linear elastic structural elements the stiffness matrix is always symmetric (K12 = K21), a consequence of the Maxwell-Betti reciprocal theorem for conservative systems. It is also singular (determinant zero) for an unrestrained element, since rigid-body translation produces zero net force.