gearbox.optimization#
Profile shift (addendum modification) optimisation of a gear pair.
The helpers keep the sum of the profile shift coefficients constant (i.e. the working centre
distance of the pair) and only distribute it between pinion and wheel. The input
Transmission is never modified.
A distribution x1 + x2 = const is feasible when
neither gear is undercut (
x_i >= Gear.minimum_profile_shift_coefficient),the (transverse) tip land of both gears is at least
minimum_tip_land * mandthe transverse contact ratio is at least
minimum_contact_ratio.
- DEFAULT_MINIMUM_TIP_LAND = 0.2#
Smallest tip land, in modules.
- DEFAULT_MINIMUM_CONTACT_RATIO = 1.2#
Smallest transverse contact ratio.
- class ProfileShifts[source]#
Bases:
NamedTupleProfile shift coefficients of the pinion and of the wheel.
- static __new__(_cls, pinion, wheel)#
Create new instance of ProfileShifts(pinion, wheel)
- feasible_pinion_profile_shift_range(transmission, minimum_tip_land=DEFAULT_MINIMUM_TIP_LAND, minimum_contact_ratio=DEFAULT_MINIMUM_CONTACT_RATIO)[source]#
Range of pinion profile shifts
x1that satisfy every geometric constraint.- Parameters:
transmission (Transmission) – Gear pair; only the sum of its profile shifts is used.
minimum_tip_land (float) – Smallest tip land of either gear, in units of the module.
minimum_contact_ratio (float) – Smallest transverse contact ratio.
- Returns:
(x1_min, x1_max). If the feasible set is made of several intervals, the widest one.- Raises:
ValueError – If no distribution of the profile shift sum is feasible, or the wheel is an internal gear (the geometric limits used here are those of external gears).
- Return type:
- maximum_profile_shifts(transmission, minimum_tip_land=DEFAULT_MINIMUM_TIP_LAND, minimum_contact_ratio=DEFAULT_MINIMUM_CONTACT_RATIO)[source]#
Distribution with the largest pinion profile shift allowed by the geometry.
A larger pinion shift thickens the pinion tooth root, which lowers its bending stress.
- Raises:
ValueError – If no distribution is feasible.
- Return type:
- minimum_contact_stress_profile_shifts(transmission, standard=Standard.ISO, minimum_tip_land=DEFAULT_MINIMUM_TIP_LAND, minimum_contact_ratio=DEFAULT_MINIMUM_CONTACT_RATIO)[source]#
Profile shift distribution that minimises the contact stress.
The stress is sampled over the feasible range (
feasible_pinion_profile_shift_range()) and the best sample is refined by bounded Brent minimisation, so the result does not depend on the stress being monotonic or unimodal over the whole range.- Parameters:
transmission (Transmission) – Gear pair to optimise.
standard (Standard | str) – Standard that evaluates the contact stress (
"ISO"or"AGMA"). For ISO, the larger of the pinion and wheel stresses governs.minimum_tip_land (float) – Smallest tip land of either gear, in units of the module.
minimum_contact_ratio (float) – Smallest transverse contact ratio.
- Returns:
The optimum
ProfileShifts.- Raises:
ValueError – If no distribution is feasible.
- Return type: