Educational material — not for design use. Every number cites its source;
see provenance & disclaimers.
Chain builder
Every machine is THINGs wired together. Pick components from the catalog, connect one THING's
output port to another's input, and the planner evaluates the whole chain in dependency order —
stress, twist, stored energy, and safety factors propagating from node to node. A connection is
legal only when the SI dimension and the quantity kind both match (invariant 2),
so a torque can never be mistaken for an energy, nor an angle for a ratio. Swap a downstream
material and watch the numbers move; drive a node past its validity envelope and watch the
refusal propagate — a refused value is withheld, never forwarded as a plausible wrong
number (invariant 5).
This is the v1 builder: forward chains only, up to six nodes, single-branch configurations. For a
fixed worked example see the chaining demo (a planetary
reduction driving a torsion shaft, power conserved through the wiring).
Start from an example
Wiring a legal chain from scratch takes some knowing-what-connects-to-what. These three are
built and verified — open one to load it into the builder below, then turn its knobs and watch
the consequences travel. Every number keeps the citation trail (Where this comes from)
and the assumptions panel you see under any chain.
Spin-up time vs. shaft stress
The headline. A permanent-magnet DC motor, running at its peak-power
point (100 N·m at 150 rad/s — 15 kW), drives a ring-fixed
planetary reduction with its torque and shaft speed wired
across; the 3.5:1 ratio turns the motor's 100 N·m into
T_out = 350 N·m delivered to the load. That one torque does two jobs at
once. Wired into a driveshaft (with the carrier speed wired across too,
so the shaft carries the full 15 kW the motor put in — power survives
the wiring), it winds the shaft to τ = 27.9 MPa. Wired into a steel
flywheel, the same torque spins it up from rest to 300 rad/s in
t_spin = 0.13 s. Now crank the gear ratio up (drop the sun teeth
N_s): the flywheel spins up faster and the shaft winds tighter.
Storing energy quickly costs shaft stress — that is the trade.
A flat belt on the verge of slip (400 N tight side, 180° wrap, μ = 0.3)
transmits P = 3.15 kW. Feed that power into a shaft in its
power-in configuration: the shaft first backs out the torque it must carry,
T = P/ω = 31.5 N·m at 100 rad/s, then the shear that torque produces,
τ = 2.50 MPa. Two unrelated physics — capstan friction and the torsion
formula — chained by the one quantity both speak, power.
The same planetary delivers 350 N·m — now into a shaft built into a wall at
both ends, with the torque applied off-centre. That shaft is
statically indeterminate: equilibrium alone cannot split the torque between
the two walls. The build solves the coupled 2×2 compatibility system exactly, so the chain
shows T_A = 210 N·m on the shorter segment and T_B = 140 N·m
on the longer — a Phase-3 indeterminate solve fed by a chain. Swap the shaft's material and
the reactions do not move (the GJ cancels); only the twist does.
Pick a component above and add it to begin. Wire verified THINGs together and every number keeps its citation across the chain.
Connections are type-checked
A binding is legal iff the SI dimension 7-vector and the quantity kind both
match. Dimensions alone are not enough: an angle and a Poisson ratio are both dimensionless, and
torque shares dimensions with energy. The verdicts below come from the same
connectionLegal() the builder runs when you press Connect:
rejected — quantity kind mismatch: count → ratio (same dimensions, different meaning)
The planner also rejects any binding that would close a feedback loop — cyclic solving is out of
scope in v1 (relations are stored undirected, so a cyclic solver can be added later without
rewriting THINGs). Everything here is computed in the browser from build-time-verified functions;
the site remains a pure static site.