Chaining: gearbox → output shaft
Every machine is THINGs wired together. Here a ring-fixed planetary reduction drives a solid shaft: the gearset's torque delivered to the load and carrier speed are bound to the shaft's torque and speed inputs. Turn the sun torque up, or trade tooth counts, and watch the consequences propagate into a different THING's stress, twist, and safety factor — then swap the shaft's material, which the gearbox upstream rightly never notices.
Two numbers worth watching: the gearbox multiplies torque by 1 + N_r/N_s (3.5× at the default teeth) while dividing speed by the same factor — so the shaft's transmitted power P = Tω equals the input power T_s·ω_s exactly (ideal, lossless relations on both sides). Conservation laws survive the wiring; that is the point of verified chaining.
Planetary (Epicyclic) Gearset Ring fixed — sun in, carrier out (reduction)
- Ring teeth
- Carrier speed
- Ring torque
- N·m
- Carrier torque
- N·m
- Torque delivered to the load
- N·m
T_out Ttype-checked
omega_c omegatype-checked
Shaft in Torsion (Solid, Circular) Torque in — stress, twist, power, margin out
- Polar second moment of area
- m⁴
- Max shear stress (surface)
- Angle of twist
- Transmitted power
- Safety factor (shear yield)
- Shaft mass
- kg
Connections are type-checked
A binding is legal iff the SI dimension 7-vector and the quantity kind both
match (invariant 2). Dimensions alone are not enough: an angle and a Poisson ratio are both
dimensionless, and torque shares dimensions with energy. The verdicts below are produced by the
same connectionLegal() the demo's planner runs — including the two rejections:
| From port | To port | Engine verdict |
|---|---|---|
| planetary T_out — torque, N·m | shaft T — torque, N·m | legal |
| planetary ω_c — angular velocity, rad/s | shaft ω — angular velocity, rad/s | legal |
| planetary ω_c — angular velocity, rad/s | shaft T — torque, N·m | rejected — dimension mismatch: [0,0,-1,0,0,0,0] → [2,1,-2,0,0,0,0] |
| four-bar θ₄ — angle, dimensionless | column K — ratio, dimensionless | rejected — quantity kind mismatch: angle → 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 (the relations are stored undirected, so a cyclic solver can be added later without rewriting THINGs; see the about page for scope). This page is the one chaining demo v1 ships; a full drag-and-wire UI is future work.