import type { PressFitInput, PressFitResult } from './types.js'; /** * Calculate press-fit (interference fit) parameters. * * Formulas: * - Interference: delta = d_shaft - d_hole * - Interface pressure: p = delta * E / (d * C) * where C = (d_o^2 + d^2)/(d_o^2 - d^2) + 1 * - Assembly force: F = pi * d * L * p * mu * - Holding torque: T = pi * d^2 * L * p * mu / 2 * * Model assumptions baked into the `+ 1` constant (see C-factor below): * both members are the **same material** (a single E, nu is supplied) and the * shaft is **solid** (inner radius = 0). Under these two assumptions Shigley's * general interference equation collapses so that the shaft's own compression * (p*d/E)(1 - nu) adds to the hub's expansion (p*d/E)[(d_o^2+d^2)/(d_o^2-d^2) + nu], * and the two nu terms cancel, leaving a net `+ 1`. A rigid-shaft model (hub * deforms alone) would instead keep `+ nu`; using it here — where the shaft is * the same material and therefore also yields — overstates p by ~36% for typical * steel-on-steel fits. Supporting a hollow shaft or a true dissimilar-material * pair (separate E_shaft/E_hub) would require replacing this branch, not tuning * the constant. * * A consequence of the nu cancellation: for this same-material, solid-shaft model * the interface pressure and every derived stress are **independent of Poisson's * ratio**. `input.poissonRatio` is therefore accepted (it belongs to the material * spec and the deferred dissimilar-material model will need it) but intentionally * not read here — changing it does not change the result. * * Reference: Shigley's Mechanical Engineering Design */ export declare function pressFit(input: PressFitInput): PressFitResult; //# sourceMappingURL=pressFit.d.ts.map