Af en toe spelen contactspanningen een rol in een ontwerp. Dan zijn de formules van Hertz nodig om het een en ander door te rekenen. Omdat programmeren een liefhebberij van mij is, leek het me een goed idee om een calculator voor Hertze-contactspanningen te maken. Gewoon voor eigen gebruik. Die calculator werd langzaamaan uitgebreider. Het bleek dat er meer mensen behoefte hadden aan een handige calculator voor Hertze-contactspanningen. Daarom besloot ik om het programma een naam te geven en aan te bieden op de website. En zo is HertzWin uitgegroeid tot een veelzijdige calculator.

Eerst nog met benaderingsformules

Het berekenen van elliptische contacten vereist het oplossen van elliptische integralen. En omdat daar geen mathematische oplossingen voor zijn, worden vaak benaderingsformules gebruikt. In eerste instantie werkte het programma HertzWin ook met benaderingsformules.

Er zijn vele benaderingen in omloop. De eerste versies van HertzWin gebruikten de benaderingen zoals voorgesteld door A. Horowitz in A contribution to the engineering design of machine elements involving contrashaped contacts (1971). Deze benaderingen zijn voor de mechanisch ontwerper in de meeste gevallen voldoende nauwkeurig.

Numeriek integreren van elliptische integralen

Op een gegeven moment stuitte ik op een publicatie van E.W. Deeg, New Algorithms for Calculating Hertzian Stresses, Deformations, and Contact Zone Parameters (2004). Daarin staat een heldere beschrijving hoe je relatief eenvoudig de elliptische integralen kunt uitwerken, inclusief een uitgewerkt voorbeeld in MathCad. Een mooie toevoeging en verbetering van HertzWin leek me.

Eerste publieke release

De eerste release die op de website beschikbaar kwam, release 1.0, bevatte twee rekenmethoden. De methode met benaderingsformules en de methode met het numeriek integreren van de elliptische integralen. De achterliggende reden om beide methoden op te nemen, was dat collega’s het MS-DOS programma ‘Hertz.exe’ gebruikten, ontwikkeld door C. Thijsse (Philips CFT 1990). HertzWin gebruikte precies dezelfde benadering die in ‘Hertz.exe’ toegepast werd.

Door beide methodes te implementeren konden beide uitkomsten vergeleken worden en vertrouwen in de exacte uitkomsten opgebouwd worden. De benaderingsformules en -methode is vanaf release 2.0 niet meer aanwezig in HertzWin. De methode met benaderingsformules had geen toegevoegde waarde meer en leidde hooguit tot verwarring. Omdat het MS-DOS programma ‘Hertz.exe’ niet meer werkte onder Windows 7 nam de populariteit van HertzWin overigens snel toe.

Implementeren van numeriek integratie

Om een eenvoudige formule in MathCad (uit het artikel van Deeg) te verwerken in HertzWin, vereist toch wel enig werk. Allereerst moet een geschikte integratiemethode gevonden worden. Er zijn er verschillende maar de Regel van Simpson is efficiënt en eenvoudig te implementeren.

HertzWin gebruikt de Regel van Simpson met een schatting van de afbreekfout. Want hoewel het programma nu claimt de exacte oplossing te presenteren, blijft er in het numerieke proces altijd een klein restfoutje over. Er moet ook aan rekensnelheid gedacht worden en daarom is voor HertzWin experimenteel bepaald tot welke nauwkeurigheid de integraalfunctie berekend wordt. De relatieve afbreekfout is gesteld op 2E-6.

Nulpunten vinden

De berekening van de afmetingen van de contactellips begint met de berekening van de verhouding tussen de radii B/A. In dat rekenproces moet het nulpunt van een functie bepaald worden. Hiervoor is de stabiele methode van regula falsi gebruikt met Hamming’s correctie voor een snellere convergentie. Deze bleek in HertzWin net iets sneller dan de Ridder’s modificatie. De afbreekfout is ook hier op 2E-6 ingesteld.

Startpunt voor de berekening van de verhouding tussen de radii B/A

Omdat de methode van regula falsi niet bijzonder snel is, is het belangrijk om te starten met een goede schatting voor de verhouding tussen de radii B/A. Dat beperkt het aantal iteraties en komt ten goede aan de totaal benodigde rekentijd. De schatting voor de startwaarde uit het artikel van Deeg is vervangen door een betere, zeer goede schatting uit Advanced Engineering Design van A. van Beek.

Helaas is de schatting van Van Beek niet te gebruiken voor situaties waarbij de hoofdassen van de radii niet in één lijn liggen. Voor deze situaties wordt de schatting van Roark’s Formulas for Stress and Strain van W.C. Young en R.G. Budynas gebruikt, inclusief interpolatie tussen de waarden in de tabel.

Maximale schuifspanning en constante van Poisson

Voor de maximale schuifspanning wordt vaak een benadering gegeven: 0.32*Shertz (Shertz=Hertze-contactspanning). Die maximale schuifspanning treedt op onder het oppervlak op een diepte van ongeveer 0.48*b (b=kleine contactradius). Deze diepte geldt echter alleen voor een cirkelcontact. Voor elliptisch contact kan de diepte oplopen tot ~0.8*b.

In eerste instantie is in HertzWin niet deze eenvoudige benadering gebruikt maar een curve-fit van Tabel 4.1 in Contact Mechanics van K.L Johnson (1985). Een nadeel bleef echter dat de uitkomst alleen geldig is voor een Poisson-constante van ~0.3. Een artikel van I. Green, Poisson Ratio Effects and Critical Values in Spherical and Cylindrical Hertzian Contacts zette me op het spoor om de schuifspanning uit te rekenen afhankelijk van de Poisson-constante.

In release 2.4.0 is de curve-fit van Johnson verbeterd met een eigen curve-fit die ook afhankelijk is van de Poisson-constante van het materiaal. Sinds release 2.9.0 van HertzWin is de berekening verder verbeterd. Nu wordt rond het verwachtte maximum op verschillende diepten de schuifspanning berekend en via een kwadratische fit het echte maximum en de bijbehorende diepte bepaald. De toegenomen nauwkeurigheid kost wel iets extra rekentijd.

Lijncontact

Het uitwerken van lijncontacten is gelukkig veel minder intensief. De grootte van het contactvlak is eenvoudig te bepalen evenals de andere gegevens. De afhankelijkheid van de Poisson-constante is op vergelijkbare wijze als bij puntcontacten opgelost.

Stijfheid lijncontact

Het grootste verschil tussen lijncontact en puntcontact is dat de stijfheid bij een lijncontact niet binnen de Hertz-theorie valt. De mate van indrukking is afhankelijk van de afmetingen van de cilinder. Het is wel mogelijk om de indrukking ten opzichte van een bepaald punt in het materiaal te berekenen. HertzWin gebruikt het ‘aambeeldmodel’ uit Contact Mechanics van K.L. Johnson (hoofdstuk 5.6), zoals ook wordt voor gesteld door J.J. Barber, Contact Mechanics (2018).

Von Mises en Tresca spanning

Als mechanisch ontwerper ben je geïnteresseerd in de maximaal toelaatbare belasting in je constructie. De vloeigrens mag niet overschreden worden. Bij punt- en lijncontacten wordt vaak het Tresca-criterium gebruikt. De reden hiervoor is dat de Tresca-vergelijkspanning makkelijk te bepalen is: 2x de maximale schuifspanning.

Het nadeel van het Tresca-criterium is dat het conservatief is. De maximaal toegestane belasting is aan de veilige kant. Een beter criterium is de Von Mises-vergelijkspanning, op basis van de maximale vervormingsenergie. De Von Mises-vergelijkspanning is bij punt- en lijncontacten lastiger te bepalen omdat de drie hoofdspanningen bepaald moeten worden. Als vuistregel geeft K.L. Johnson (hoofdstuk 6.1) voor de maximaal toelaatbare spanning: Shertz < 1.6*Svloei .. 1.8*Svloei.

Vanaf release 2.4.0 wordt in HertzWin ook de Von Mises-vergelijkspanning berekend. In het hoofdscherm in eerste instantie op basis van curve-fits. Maar vanaf release 2.9.0 wordt het op vergelijkbare wijze uitgerekend als de maximale schuifspanning. Eerst worden op verschillende diepten de hoofdspanningen uitgerekend en de bijbehorende Von Mises-vergelijkspanningen. Daarna wordt het maximum opgezocht.

Grafieken van spanningsverloop en van vervormingen

Voor wie in meer detail wil weten hoe de materiaalspanningen op verschillende locaties zijn, die kan in HertzWin verschillende grafieken laten tekenen. Deze functionaliteit is in HertzWin release 2.4.0 voor het eerst aanwezig. Het boek Contact Mechanics van K.L. Johnson (1985) is hier dé bron van alle gebruikte formules.

Bij de implementatie was het echter wel verwarrend (en verrassend) dat er een klein foutje in één van de formules voor de spanningen bij lijncontacten zit (formule [4.46b]). Een dubbelcheck in Shigley’s Mechanical Engineering Design, van R.G. Budynas en J.K. Nisbett bevestigde dat foutje.

Bij het openen van de grafiek duurt het enkele seconden voordat de hele grafiek getekend is. Er worden voor de spanningen langs de Z-as (onder het contactoppervlak) 61 posities berekend. En voor elke positie moeten twee elliptische integralen opgelost worden. Dat zijn veel iteraties!

Vanaf versie 3.2.0 kan HertzWin naast lijngrafieken ook contour-plots van materiaalspanningen genereren. Nu kun je de spanningen in het materiaal nog beter begrijpen. De basis voor deze berekeningen is genomen uit “Mechanics of Elastic Contacts” door A. Sackfield, D. A. Hills, D. Nowell. HertzWin gebruikt delen van de programmacode van ‘ELLIPS.FOR’, gratis beschikbaar gesteld door D. Nowell.

Oppervlakteruwheid

Het hierboven kort aangestipte MS-DOS programma ‘Hertz.exe’ (van C. Thijsse) had ook de mogelijkheid om de invloed van oppervlakteruwheid door te rekenen. De theorie van Greenwood & Tripp, die uitgaat van Gaussisch verdeelde ruwheidstoppen, wordt beschreven in Contact Mechanics van K.L. Johnson. Implementatie leek me echter nogal lastig omdat het invoer van (meestal) onbekende parameters vereist.

Bij toeval kwam ik in contact met C. Thijsse, die me, desgevraagd, de broncode van Hertz.exe ter hand wilde stellen. Daarin zag ik dat hij gebruik maakte van een eenvoudige, maar prachtige curve-fit van figuur 13.12 uit K.L. Johnson’s boek. Deze curve-fit wordt ook door HertzWin gebruikt. Zie ook de helpfunctie in het programma.

Sneller rekenen met Carlson Elliptische Integralen

Dankzij een recent artikel van J.A. Greenwood, “Hertz Theory and Carlson Elliptic Integrals” (2018), werd het relatief eenvoudig om Carlsons elliptische integralen toe te passen in HertzWin. Verificatie van de correcte toepassing van de methode was mogelijk dankzij een reeks numerieke controles in “Numerical Computation of Real or Complex Elliptic Integrals” van B.C. Carlson. Het resultaat is een dramatische versnelling van HertzWin!

Levensduur

Naast oppervlakteruwheid, zat er in het MS-DOS programma ‘Hertz.exe’ ook de mogelijkheid om een minimale hardheid van de gebruikte materialen uit te rekenen. Een gewenst aantal omwentelingen en de smeringscondities waren de benodigde invoer. Op verzoek van gebruikers is deze functionaliteit ook overgenomen in HertzWin.

Het gebruikte algoritme is afgeleid uit theorieën en gemeten waarden van verschillende auteurs. Deze komen voornamelijk uit literatuur over tandwielen. Gebruikte bronnen zijn:

G. Niemann (“Maschinenelemente“);
Dubbel (“Taschenbuch für den Maschinenbau“);
E.C. von Pritzelwitz van der Horst (Philips);
M.B. Peterson en W.O. Winer (“Wear Control Handbook”).

De resultaten zijn alleen geldig zijn voor de materialen staal en gietijzer. Helaas zijn er geen verdere details of documentatie over de achtergronden van de toegepaste algoritmen.

Microsoft Windows

De ontwikkeling van HertzWin is gestart onder Windows XP. En behalve de inhoudelijke functionaliteit, moet het programma natuurlijk ook blijven werken onder nieuwere besturingssystemen. De komst van Windows 7 had behoorlijke impact. De totale vormgeving lag overhoop en knoppen en teksten waren slecht zichtbaar.

De problemen waren redelijk goed op te lossen maar helemaal mooi werd het niet. Er moest een zogenaamd ‘manifest-bestand’ toegevoegd worden. Dan pas worden alle elementen van het programma weergegeven zoals het hoort.

Dankzij het fantastische stukje gereedschap Manifest Creator van ‘LaVolpe’ werd het maken van goed een manifest-bestand een peulenschil. De laatste update van het manifest-bestand in release 2.9.0, laat HertzWin ook onder Windows 10 er uitzien zoals bedoeld is.