Back to Projects

Contact Mechanics & Seal Theory

Persson & Yang Leak Rate Simulator

An independent recreation of Persson & Yang's (2008) contact mechanics and seal leak-rate theory, built entirely from primary academic literature. No coursework, no guidance, just the paper and related textbooks. The underlying physics spans fractal surface statistics, contact mechanics, and percolation theory. Graduate-level material, self-taught from scratch and implemented in full in MATLAB and Python.

Built entirely on personal time. The model uses a fractal surface power spectral density (PSD) and a percolation threshold criterion. When the real contact area drops below ~40% of nominal, a connected gap path forms across the seal and leakage begins. Applied here to a rubber seal squeezed against a rough substrate, with results scaled to the full seal contact length.

Context Independent personal project Β· Self-taught from primary literature Β· Built outside of work
Status Complete
Tools MATLAB Β· Python Β· Streamlit Β· Persson contact theory Β· Hertz contact mechanics
Key outputs λc (critical resolution), uc (critical channel height), Q̇ (flow rate)
Seal model Rubber (E = 10 MPa) Β· Hertz contact
B.N.J. Persson & C. Yang, Theory of the leak-rate of seals, J. Phys.: Condens. Matter 20, 315011 (2008)
DOI  β†— Click to view the original paper on IOP Publishing

Surface Resolution Animation

Fig. 14 β€” Persson & Yang (2008)

As the zoom parameter ΞΆ steps from 1 to its Nyquist limit, progressively finer roughness wavelengths are resolved. At each frame Persson's theory predicts the real contact area fraction A/Aβ‚€. The percolation threshold β€” where A/Aβ‚€ β‰ˆ 0.4 β€” marks the first frame at which a connected gap path spans the seal width. Black = contact  |  White = gap.

Binary contact map β€” ΞΆ sweeps from 1 to Nyquist limit. Black = contact, white = gap. Click to watch full-size.

Binary contact map  Β·  ΞΆ = 1 β†’ Nyquist  Β·  Persson & Yang (2008)  Β·  click to enlarge

Side-by-side view β€” filtered surface mesh (left) and binary contact map (right) at each zoom level ΞΆ. Click to watch full-size.

Filtered surface mesh (left) & binary contact map (right)  Β·  click to enlarge

Theory Predictions β€” Figs. 6–11

Reproduced from Persson & Yang (2008)

Critical constriction wavelength λc, gap thickness uc, and leak rate Q̇ versus squeezing pressure at the percolation onset (A/A₀ = 40%), for two independent sweeps. Click any plot to enlarge.

Varying roughness Οƒ  (H = 0.8)
Fig 6 β€” critical wavelength vs pressure, Οƒ sweep Fig. 6 β€” Critical wavelength Ξ»c vs squeezing pressure. Higher roughness Οƒ shifts the percolation onset to shorter wavelengths at a given pressure β€” the seal must be loaded harder to close off the dominant gap channels.
Fig 7 β€” critical gap thickness vs pressure, Οƒ sweep Fig. 7 β€” Critical gap thickness uc vs pressure. Rougher surfaces allow a larger mean opening before the contact area drops to the percolation threshold β€” more roughness means more gap volume at onset.
Fig 8 — leak rate vs pressure, σ sweep Fig. 8 — Leak rate Q̇ vs squeezing pressure. The pressure dependence reflects the uc³ term in the Poiseuille flow equation — a 10× change in gap thickness means 1000× change in flow rate.
Varying Hurst exponent H  (Οƒ = 2 ΞΌm)
Fig 9 β€” critical wavelength vs pressure, H sweep Fig. 9 β€” Ξ»c vs pressure, varying Hurst exponent H. H controls the fractal dimension of the roughness spectrum β€” higher H (smoother long-range structure) shifts the critical wavelength curve downward.
Fig 10 β€” critical gap thickness vs pressure, H sweep Fig. 10 β€” uc vs pressure. The Hurst exponent governs how energy is distributed across length scales in the PSD β€” lower H means more fine-scale roughness and a larger gap at onset.
Fig 11 — leak rate vs pressure, H sweep Fig. 11 — Q̇ vs pressure. Surfaces with lower H (rougher fine-scale structure) produce higher leak rates at the same macroscopic squeezing pressure — and the spread across curves widens dramatically at low pressures.

Applied Example: Rubber Seal on a Rough Substrate

Surface roughness Β· squeezing force Β· pressure difference

The theory was applied to a rubber seal (E = 10 MPa) squeezed against a rough substrate. Each surface roughness level n adds a fixed increment to the RMS roughness Οƒ at the Hertz contact patch, reducing the contact area fraction and opening a percolation path.

Geometry note: The Persson simulation models one roughness period at the Hertz contact half-width (2a β‰ˆ 150 ΞΌm). All leak rates are scaled to represent the complete seal contact length.
All three parameter sweeps combined — surface roughness, squeezing force, pressure difference All three parameter sweeps on a common Q̇ (m³/s) axis. Left: surface roughness. Center: squeezing force. Right: fluid pressure difference. Full seal contact length scaling applied throughout.
Scenario dashboard β€” baseline roughness through worst case Scenario dashboard β€” seven operating conditions from baseline roughness (sealed, no percolation path) through the worst case (roughness level 3 + low squeezing force + high Ξ”P). Green zone: contact area above percolation threshold. Red zone: connected gap, active leakage.
Leak rate vs surface roughness level Surface roughness sweep (squeezing force = 13 N, ΔP = 35 kPa). At baseline roughness (n = 0) the seal holds — one roughness level is enough to open a percolation path. Each additional level raises σ and dramatically increases Q̇.
Leak rate vs squeezing force β€” roughness levels 1–3 Squeezing force sweep (Ξ”P = 35 kPa, roughness levels 1–3). Higher squeezing force increases Hertz contact pressure and closes the gap β€” a practical mitigation for rougher surfaces. Nominal load at 13 N marked.
Leak rate vs fluid pressure difference β€” roughness levels 1–3 Pressure sweep (squeezing force = 13 N, roughness levels 1–3). Leak rate scales linearly with Ξ”P (Poiseuille regime). Nominal 35 kPa marked β€” note how high roughness at high pressure approaches the dashboard's worst-case scenarios.

Interactive Leak-Rate Calculator

Live simulation β€” self-hosted

Adjust squeezing force, fluid pressure difference, and surface roughness — the Persson solver runs in real time and updates Q̇ in m³/s and mL/min. Built with Python + Streamlit, served directly from this server.

Open interactive tool  β†— Opens the live Streamlit app in a new tab

Numerical Results

mΒ³/s  Β·  mL/min

Full tabulated output for all three sweeps and the scenario dashboard, in SI units.

Loading…