Crack Propagation Simulator: Paris Law Fatigue Crack Growth

simulator intermediate ~10 min
Loading simulation...
~125,000 cycles remaining before critical crack length

A 1 mm crack in a component with ΔS=200 MPa and Kc=80 MPa√m has a critical crack length of about 51 mm. Using Paris law with C=3×10⁻¹² and m=3, approximately 125,000 cycles remain before fracture.

Formula

da/dN = C × (ΔK)^m (Paris law)
ΔK = ΔS × √(π × a) (stress intensity range, center crack)
a_c = (1/π) × (Kc / ΔS)² (critical crack length)

From Crack to Catastrophe

Every structural component contains flaws — microscopic voids, inclusions, surface scratches, or manufacturing defects. Under cyclic loading, these flaws grow incrementally, cycle by cycle, until they reach a critical size and the component fractures suddenly. The Paris-Erdogan law, published in 1963, provided the first quantitative framework for predicting this crack growth, revolutionizing structural integrity assessment and enabling the damage tolerance philosophy used in aerospace, nuclear, and offshore engineering.

The Paris Law

The Paris law states that crack growth rate da/dN is proportional to the stress intensity factor range ΔK raised to the power m: da/dN = C(ΔK)^m. The constants C and m are material properties determined experimentally. For steels, m typically ranges from 2.5 to 4, and for aluminum alloys from 3 to 4. The elegance of this power law is that it captures the essential physics: the crack tip stress field (characterized by ΔK) drives the damage accumulation at the crack front.

Crack Growth Acceleration

A critical feature of fatigue crack growth is its self-accelerating nature. As the crack lengthens, ΔK increases (since ΔK ∝ √a), which increases the growth rate, which makes the crack grow faster, which further increases ΔK. This positive feedback loop means that a crack spends most of its life at small sizes where growth is slow — then accelerates rapidly near the end. This is why inspection intervals must be carefully calculated and why missing an inspection can be catastrophic.

Damage Tolerance Design

Modern aerospace and nuclear structures are designed using damage tolerance principles. Engineers assume that cracks of a detectable size exist from day one and calculate how many loading cycles are required for them to grow to critical size. Inspection intervals are set at half this predicted life, providing a safety margin. This approach, mandated by aviation authorities after several catastrophic failures in the 1970s, has dramatically improved structural safety by replacing the older safe-life philosophy.

FAQ

What is the Paris law?

The Paris-Erdogan law (1963) relates fatigue crack growth rate to the stress intensity factor range: da/dN = C × (ΔK)^m, where da/dN is crack growth per cycle, ΔK is the stress intensity factor range, and C and m are material constants. It describes the stable (Region II) crack growth regime on a log-log plot.

What is the stress intensity factor?

The stress intensity factor K = σ × √(πa) × Y characterizes the stress field at a crack tip, where σ is applied stress, a is crack length, and Y is a geometry factor. ΔK (the range during cyclic loading) drives fatigue crack growth. When K reaches the fracture toughness Kc, unstable fracture occurs.

What are the three regions of crack growth?

Region I (near threshold ΔK_th) shows very slow, threshold-controlled growth. Region II (Paris regime) shows stable power-law growth described by da/dN = C(ΔK)^m. Region III shows accelerating growth as K_max approaches Kc, leading to rapid, unstable fracture.

How is Paris law used in damage tolerance design?

Damage tolerance assumes cracks exist and predicts when they will reach critical size. Engineers integrate the Paris law from initial (detectable) crack size to critical size to determine inspection intervals. Aircraft structures use this approach extensively — components are inspected before cracks can grow to dangerous lengths.

Sources

Embed

<iframe src="https://homo-deus.com/lab/materials-fatigue/crack-propagation/embed" width="100%" height="400" frameborder="0"></iframe>
View source on GitHub