WOBBLbracket.py

Where does a crack at the pin hole go, and do 99% of brackets last 100,000 cycles?

Crack growth report
2026-10-15 19:47
FAILS

A 1.27 mm through crack at the edge of the 8 mm hole at (91.7, -3.6, 2.5) fails after about 86,219 cycles in a typical part. One part in ten fails by 55,144 cycles and one in a hundred by 37,968. 68% of parts fail before the 100000 cycle target (allowed 1%).

nominal life
86,219 cycles
B10
55,144 cycles
B1
37,968 cycles
fail before target
68%
inspect every
43,110 cycles

Confidence medium

  • crack path: 10 solved cracks from 0.865 to 9.17 mm, ended by a step that could not be meshed or solved (gmsh could not mesh the part with the crack in it (_build took longer than 180 s). Past 9.17 mm K is carried on as the square root of size to the far side of the wall at 10.3 mm, and 0.388% of the nominal life rests on that estimate

Simulation

The crack path, colored by the cycle count when the front passed
The crack path, colored by the cycle count when the front passed
Crack size against cycles for the nominal part
Crack size against cycles for the nominal part
How lives spread over many parts
How lives spread over many parts

Checks

statuscheckresult
passSIF mesh convergencelargest K at the starting crack 7.17 -> 7.17 MPa sqrt(m) with front elements of 0.0926 and 0.0618 mm, last change 0.1%
passhand calculationthe edge crack weight function (Glinka and Shen) over the uncracked stress along the crack gives 7.77 MPa sqrt(m) for the 0.865 mm starting crack; the finite element K is 7.17 (-7.7%)
passforce balancereactions balance the loads to 4.9e-05% (forces) and 7.1e-06% (moments)
passintegration stepnominal life 86,212 cycles with 200 steps in crack size and 86,219 with 400, 0.0086% apart
passMonte Carlo samplesB1 37,968 cycles from 20,000 parts, 90% sampling band 37,177 to 38,480 (within 1.7%), and 37,596 from the first half of the parts (0.98% off)
warncrack path10 solved cracks from 0.865 to 9.17 mm, ended by a step that could not be meshed or solved (gmsh could not mesh the part with the crack in it (_build took longer than 180 s). Past 9.17 mm K is carried on as the square root of size to the far side of the wall at 10.3 mm, and 0.388% of the nominal life rests on that estimate

How to fix it

Lower the stress at the crack's origin by 20%
Growth goes as the stress range to the power 3.7, so lowering the stress where the crack starts by 20% (a larger radius, a thicker section or a smaller load) brings B1 to the 100000 cycle target.
Use Mild steel (ASTM A36)
With Mild steel (ASTM A36)'s crack growth constants on the same path, B1 is 1.46e+06 cycles against 38,058 now. Its stiffness does not change K under the same loads, but check its strength and weight with a strength study.
Use Stainless steel 304 (annealed)
With Stainless steel 304 (annealed)'s crack growth constants on the same path, B1 is 1.04e+06 cycles against 38,058 now. Its stiffness does not change K under the same loads, but check its strength and weight with a strength study.
Inspect every 43,110 cycles
Damage tolerance practice: the first inspection at half the nominal life from the starting crack (43,110 cycles), then every half of the life from a 1.27 mm crack, the size an inspection is taken to find reliably, to failure (86,219 cycles).

Assumptions

  1. Aluminum 7075-T6: NASGRO growth with C 1.16e-07 mm/cycle and n 3.7, threshold 1.8 MPa sqrt(m) at R = 0, toughness 29 MPa sqrt(m). Source: Paris fit and K_Ic from Dowling, Mechanical Behavior of Materials, 4th ed. (2013), Table 11.2 (Walker C0 and m); threshold 1.8 MPa sqrt(m), the IIW lower bound for aluminium at R = 0 (Hobbacher 2016).
  2. Loads cycle as constant amplitude between 0.1 and 1 of the load (R = 0.1), with the loads given as the peak.
  3. The crack plane at the start is normal to the largest principal stress at the origin, 190 MPa before the crack.
  4. The path starts from a crack 0.68 times the size given, the smallest tenth of the starting flaws sampled; smaller cracks follow the uncracked stress through the edge crack weight function, matched to the first solved K.
  5. K for growth combines the three modes by energy, sqrt(K_I^2 + K_II^2 + K_III^2 / (1 - nu)), and the turn uses K_I and K_II only (maximum tangential stress).
  6. Failure is K_max reaching the toughness or the average stress over the remaining ligament reaching the flow stress, 538 MPa, the mean of yield and tensile strength. Bending in the ligament is not counted, so net section yield is approximate.
  7. Parts scatter as lognormal: starting flaw 0.3, growth coefficient 0.25, load 0.05, toughness 0.07 (standard deviations of the logarithm). One part's failure cycle cannot be predicted; the percentiles describe many parts.
  8. The Monte Carlo keeps the solved path's shape and changes only how fast a part's crack travels along it.
  9. Linear elastic fracture mechanics: crack tip plasticity, crack face contact and environment are not modeled.