slippy.contact.solve_hertz_point

slippy.contact.solve_hertz_point(*, r_rel=None, e1=None, e2=None, v1=None, v2=None, load=None, max_pressure=None, max_shear_stress=None, contact_radius=None, max_von_mises=None, total_displacement=None, max_tensile_stress=None)[source]

Finds the remaining hertz parameter for a spherical 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. For a ball on the flat r_rel is the radius of the ball.

  • 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_radius (float, optional) – The radius of the contact patch

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

  • total_displacement (float, optional) – The displacement of the bodies towards each other

  • max_tensile_stress (float, optional) – The maximum tensile stress in the first body, swap the materials to cahnge the body

Returns

HertzPointSolution – The system with all of the possible inputs defined

Return type

namedtuple

Notes

This function will only work for spherical contacts such as a ball on flat, a ball on ball or crossed cylinders. It also uses approximate formulas based on a poissions ratio of 0.3 for stress calculations, 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 radius of ball required to give a specific contact pressure:

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

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

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