Source code for gearbox.standards._hertz

"""Hertzian contact quantities shared by the ISO 6336 and AGMA 2101 implementations."""

from __future__ import annotations

from math import pi, sqrt

from gearbox.models import Material


[docs] def elasticity_coefficient(pinion: Material, wheel: Material) -> float: """Elasticity coefficient ``Z_E`` (ISO 6336-2) = ``C_p`` (AGMA 2001) in sqrt(MPa). ``sqrt(1 / (pi * ((1 - nu1^2) / E1 + (1 - nu2^2) / E2)))``. """ return sqrt( 1 / ( pi * ( (1 - pinion.poissons_ratio**2) / pinion.elastic_modulus + (1 - wheel.poissons_ratio**2) / wheel.elastic_modulus ) ) )