slippy.contact.solve_hertz_line

slippy.contact.solve_hertz_line(*, r_rel: Optional[float] = None, e1: Optional[float] = None, e2: Optional[float] = None, v1: Optional[float] = None, v2: Optional[float] = None, load: Optional[float] = None, max_pressure: Optional[float] = None, max_shear_stress: Optional[float] = None, max_von_mises: Optional[float] = None, contact_width: Optional[float] = None, _system: Optional[dict] = None) slippy.contact.hertz.HertzLineSolution[source]

Finds remaining hertz parameter for a line contact

Parameters
  • r_rel (float, optional) – The relative radii of the contact defined as 1/(1/r1+1/r2) where r1,2 are the radii of the bodies, assuming that the axes are parallel (line contact). For a cylinder on the flat r_rel is the radius of the cylinder.

  • e1 (float, optional) – The Young’s moduli of the bodies, if neither is set they will be assumed to be equal

  • e2 (float, optional) – The Young’s moduli of the bodies, if neither is set they will be assumed to be equal

  • v1 (float, optional) – The Poisson’s ratios for the bodies, if neither is set the are assumed to be equal

  • v2 (float, optional) – The Poisson’s ratios for the bodies, if neither is set the are assumed to be equal

  • load (float, optional) – The load per unit length for the contact

  • max_pressure (float, optional) – The maximum pressure in the contact region

  • max_shear_stress (float, optional) – The maximum shear stress in the first body, swap the materials to change the body

  • contact_width (float, optional) – The contact half width

  • max_von_mises (float, optional) – The maximum von mises stress in the first body, swap the materials to change body

Returns

The system with all of the possible inputs defined

Return type

NamedTuple

Notes

This function will only work for line contacts such as aligned cylinders in contact or a cylinder on a plane It also uses approximate formulas based on a Poisson’s ratio of 0.3 for stress results, if more accurate results are required hertz_full should be used.

The independent parameters are: r_rel, e1, e2, v1, v2 and load. The dependent parameters are: max_pressure, max_shear_stress, contact_width and max_von_mises

For this function to run either: All of the independent parameters are set, or All but one of the independent parameters are set and exactly one of the dependent parameters or All of the independent parameters are set apart from both e’s or both v’s, in this case they are assumed to be equal

Regardless of which combination has been set the resulting output will contain all of the possible input parameters

References

Johnson, K. (1985). Contact Mechanics. Cambridge: Cambridge University Press. doi:10.1017/CBO9781139171731

Examples

Finding the load required to give a specific contact pressure:

>>> result = solve_hertz_line(r_rel=0.01, e1=200e9, e2=200e9, v1=0.3, v2=0.3, max_pressure=1e9, load=None)
>>> result.load

Finding the stiffness of material required to give a specific contact width:

>>> result = solve_hertz_line(r_rel=0.05, e1=None, e2=None, v1=0.3, v2=0.3, load=1000, contact_width=1e-8)
>>> result.e1