Source: https://guthlabs.ai/docs/instruments/multi-span-continuous-beam-solver/mechanism/

instrument mechanism / verified-with-binding-errata

# Multi-Span Continuous Beam Solver mechanism

The inspectable method record for Multi-Span Continuous Beam Solver, kept separate from implementation and qualification.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## Model scope

The honest label should additionally state constant EI for the displayed three-moment formula, simple end supports unless otherwise modeled, no support settlements or imposed deformations, and the precise load and sign conventions. The specification is not acceptable as a general 2–5 span variable-EI solver until the governing equations, reaction convention, deflection method, and boundary-condition API are defined.

- The stated three-moment equation is valid in this form only for constant EI across the adjacent spans, with no support settlements or imposed rotations. The specification accepts EI per span, so the formula is incomplete or incorrect for variable EI.

- The meanings and reference directions of x̄_n and x̄'_{n+1} are not defined. The standard equation uses the centroid distance from the left end of the first span and from the right end of the second span, respectively, for the simply supported bending-moment diagrams.

- The equation requires explicit boundary conditions, typically M_0=M_N=0 for simple end supports. Other end conditions require different equations.

- A deflection curve cannot be produced from the displayed equation alone; the solver must integrate M(x)/EI(x) piecewise and specify support displacement and rotation constraints.

- The formula assumes downward loading, a stated sagging/hogging moment sign convention, and no support settlement, temperature curvature, or other imposed deformation.

## Units and conventions

- Use one consistent force-length system throughout each solve, such as kN, m, kN/m, and kN·m, or N, m, N/m, N·m.

- EI must have force·length^2 units, such as kN·m^2 or N·m^2.

- For the displayed equation, EI is assumed constant over all adjacent spans, or the equation must be replaced by the variable-EI compatibility equation.

- For a uniformly distributed load q, the simply supported moment diagram is M_s(x)=q x(L-x)/2, its area is A=qL^3/12, and its centroid is at L/2.

- For a point load P at distance a from the left end of a span, the simply supported moment-diagram area is A=P a(L-a)/2; the centroid distances must be calculated from the triangular/trapezoidal diagram, not assumed without checking.

- Support moments are reported positive for sagging and downward loads are positive in the load input. Reactions are positive upward.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "spans": [
      {
        "L": 5,
        "load": {
          "type": "UDL",
          "q": 10,
          "units": "kN/m"
        },
        "EI": 20000000
      },
      {
        "L": 5,
        "load": {
          "type": "UDL",
          "q": 10,
          "units": "kN/m"
        },
        "EI": 20000000
      }
    ],
    "end_supports": "simple",
    "support_moment_sign": "sagging_positive",
    "length_units": "m",
    "force_units": "kN",
    "EI_units": "kN*m^2"
  },
  "expected_outputs": {
    "support_moments": {
      "M0": "0 kN*m",
      "M1": "-31.25 kN*m",
      "M2": "0 kN*m"
    },
    "span_reactions": {
      "span_1": {
        "left": "18.75 kN",
        "right": "31.25 kN"
      },
      "span_2": {
        "left": "31.25 kN",
        "right": "18.75 kN"
      }
    },
    "global_support_reactions": {
      "A": "18.75 kN",
      "B": "62.5 kN",
      "C": "18.75 kN"
    },
    "equilibrium_check": "18.75+62.5+18.75=100.0 kN"
  },
  "reference_data": {
    "method": "Clapeyron three-moment equation for equal EI and simple end supports",
    "simply_supported_moment_area_each_span": "qL^3/12=10*5^3/12=625/6 kN*m^2",
    "centroid_each_span": "L/2=2.5 m"
  },
  "working": "For each span, A=qL^3/12=10*125/12=104.1666667 kN*m^2. Therefore A*xbar/L=(104.1666667*2.5)/5=52.08333333 kN*m^2. The two-span equation is 0*5+2*M1*(5+5)+0*5=-6*(52.08333333+52.08333333)=-625. Hence 20*M1=-625 and M1=-31.25 kN*m. For span 1, W=qL=50 kN and Wa=50*2.5=125 kN*m, so R_A=(M1-M0+Wa)/L=(-31.25-0+125)/5=18.75 kN and R_B1=W-R_A=31.25 kN. For span 2, R_B2=(M2-M1+Wa)/L=(0-(-31.25)+125)/5=31.25 kN and R_C=50-31.25=18.75 kN. The global middle reaction is R_B=R_B1+R_B2=62.5 kN."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

A zero-length span produces undefined 0/0 and stiffness divisions by zero, so the solver must reject it before evaluating the three-moment equation or assembling the matrix. The convention probe also exposes a potentially serious sign-interpretation hazard, although the signed-load result itself is finite.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/multi-span-continuous-beam-solver/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/multi-span-continuous-beam-solver/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/multi-span-continuous-beam-solver/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche8/tranche8-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
