Sequence of Physical Processes (SPP) Models

This section documents the Sequence of Physical Processes (SPP) framework for analyzing large amplitude oscillatory shear (LAOS) data.

Quick Reference

Model

Purpose

Use Case

SPP Decomposer (Sequence of Physical Processes)

LAOS analysis

Decompose stress into elastic, viscous, plastic contributions

SPP Yield Stress Model

Yield detection

Extract yield stress from LAOS data via SPP framework

Overview

The Sequence of Physical Processes (SPP) framework, developed by Rogers and coworkers, provides a physically-motivated approach to analyzing nonlinear viscoelastic behavior under large amplitude oscillatory shear (LAOS). Unlike Fourier-based methods that decompose stress into harmonics, SPP tracks how material response evolves through sequences of distinct physical processes within each oscillation cycle.

Key advantages:

  • Physical interpretation: Direct connection to material physics (elasticity, viscosity, yielding)

  • Time-resolved: Tracks instantaneous behavior within cycles

  • Yield stress extraction: Robust method for obtaining yield stress from LAOS

  • Cycle-averaged properties: Meaningful averages for elastic and viscous moduli

Physical processes captured:

  • Elastic storage: Recoverable deformation (strain-driven)

  • Viscous dissipation: Rate-dependent flow (strain-rate-driven)

  • Plastic yielding: Irreversible deformation beyond yield

  • Cage dynamics: Structure breakdown and reformation

SPP Framework

The SPP method analyzes stress response \(\sigma(t)\) to sinusoidal strain \(\gamma(t) = \gamma_0 \sin(\omega t)\) by tracking instantaneous moduli:

Instantaneous elastic modulus:

\[G'_t = \frac{d\sigma}{d\gamma}\bigg|_t\]

Instantaneous viscous modulus:

\[G''_t = \frac{d\sigma}{d\dot{\gamma}}\bigg|_t \cdot \omega\]

Cole-Cole representation:

Plotting \(G'_t\) vs \(G''_t\) traces a trajectory revealing the sequence of physical processes during oscillation.

Perfect elastic solid: Point at \((G', 0)\) Perfect viscous liquid: Point at \((0, G'')\) Yielding material: Trajectory shows transitions between regimes

When to Use SPP Analysis

Scenario

SPP Recommended?

Alternative

Linear viscoelastic (SAOS)

No (overkill)

Standard \(G'\), \(G''\)

LAOS with mild nonlinearity

Yes

Fourier analysis (FT rheology)

LAOS with yielding

✓✓ Best choice

Bowditch-Lissajous

Yield stress determination

✓✓ Best choice

Stress sweep (less precise)

Thixotropic materials

Yes

Three-interval test

Physical mechanism identification

✓✓ Best choice

Constitutive modeling

Key Concepts

Cycle-Averaged Moduli:

SPP provides physically meaningful averages over the oscillation cycle:

\[\langle G' \rangle = \frac{1}{T}\oint G'_t \, dt\]
\[\langle G'' \rangle = \frac{1}{T}\oint G''_t \, dt\]

Yield Stress from SPP:

The yield stress is identified from the stress at which the Cole-Cole trajectory shows a characteristic feature:

  • Type I yield: Abrupt transition from elastic to plastic branch

  • Type II yield: Gradual softening with continuous trajectory

  • Yield point: Maximum in \(G'_t\) or inflection in trajectory

Intercycle vs Intracycle:

  • Intercycle: Comparison across different strain amplitudes \(\gamma_0\)

  • Intracycle: Evolution within a single oscillation period

Quick Start

SPP Decomposition:

from rheojax.transforms import SPPDecomposer
import numpy as np

# Create decomposer
spp = SPPDecomposer()

# Load LAOS data (time, strain, stress)
t = np.linspace(0, 2*np.pi/omega, 1000)
gamma = gamma_0 * np.sin(omega * t)
stress = experimental_stress_data  # Your measured stress

# Decompose into physical contributions
result = spp.decompose(t, gamma, stress)

# Access instantaneous moduli
Gp_t = result.Gp_instantaneous  # G'(t)
Gpp_t = result.Gpp_instantaneous  # G''(t)

# Cycle-averaged values
Gp_avg = result.Gp_average
Gpp_avg = result.Gpp_average

Yield Stress Extraction:

from rheojax.models import SPPYieldStress

# Create yield stress analyzer
yield_analyzer = SPPYieldStress()

# Process multiple strain amplitudes
gamma_0_values = np.logspace(-1, 1, 20)  # 0.1 to 10 strain units
results = []
for gamma_0 in gamma_0_values:
    result = yield_analyzer.analyze(t, gamma, stress, gamma_0=gamma_0)
    results.append(result)

# Extract yield stress
sigma_y = yield_analyzer.extract_yield_stress(results)
print(f"Yield stress: {sigma_y:.1f} Pa")

Cole-Cole Visualization:

import matplotlib.pyplot as plt

# Plot Cole-Cole trajectory
plt.figure(figsize=(8, 6))
plt.plot(Gp_t, Gpp_t, 'b-', lw=2)
plt.xlabel("$G'_t$ (Pa)")
plt.ylabel("$G''_t$ (Pa)")
plt.title("SPP Cole-Cole Trajectory")
plt.axhline(0, color='k', lw=0.5)
plt.axvline(0, color='k', lw=0.5)
plt.show()

Model Documentation

SPP vs. Ewoldt (FTC) Frameworks

The RheoJAX SPP module implements two complementary LAOS analysis frameworks that serve different purposes:

SPP (Rogers)spp_fourier_analysis():

  • Provides continuous, time-resolved moduli \(G'_t(t)\), \(G''_t(t)\) at every instant within the oscillation cycle via the Frenet-Serret frame.

  • Naturally captures the displacement stress \(\sigma_d(t)\) — a third function beyond elastic and viscous that tracks microstructural rearrangement.

  • More sensitive to yielding — detects the onset of plasticity at lower strain amplitudes than intercycle measures.

  • Requires higher-order derivatives (up to third), making it more noise-sensitive. Use Fourier-based analytical derivatives (default) for best results.

Ewoldt/Cho (FTC)lissajous_metrics():

  • Provides discrete intercycle measures: \(G'_L\) (large strain), \(G'_M\) (minimum strain), \(\eta'_L\), \(\eta'_M\), and the stiffening/thickening ratios \(S\) and \(T\).

  • Based on Chebyshev decomposition of the Lissajous-Bowditch curves.

  • More robust to noise — requires only first-order information.

  • Gives summary snapshots rather than the full intracycle time evolution.

Note

In the linear viscoelastic regime (SAOS), both frameworks reduce to the same result: SPP gives constant \(G'_t = G'\) and \(G''_t = G''\) throughout the cycle, while the Ewoldt measures give \(G'_L = G'_M = G'\). The frameworks diverge only in the nonlinear (LAOS) regime, where the intracycle resolution of SPP reveals the sequence of physical processes — elasticity, yielding, flow, and cage reformation — that intercycle averages cannot resolve.

See Also

References

  1. Rogers, S.A. (2012). “A sequence of physical processes determined and quantified in LAOS: An instantaneous local 2D/3D approach.” J. Rheol., 56, 1129–1151. DOI: 10.1122/1.4726083 PDF

  2. Rogers, S.A. & Lettinga, M.P. (2012). “A sequence of physical processes determined and quantified in large-amplitude oscillatory shear (LAOS): Application to theoretical nonlinear models.” J. Rheol., 56, 1–25. DOI: 10.1122/1.3662962 PDF

  3. Donley, G.J., de Bruyn, J.R., McKinley, G.H., & Rogers, S.A. (2019). “Time-resolved dynamics of the yielding transition in soft materials.” J. Non-Newtonian Fluid Mech., 264, 117–134. DOI: 10.1016/j.jnnfm.2018.10.003

  4. Donley, G.J., Singh, P.K., Shetty, A., & Rogers, S.A. (2020). “Elucidating the G’’overshoot in soft materials with a yield transition via a time-resolved experimental strain decomposition.” PNAS, 117, 21945–21952. DOI: 10.1073/pnas.2003869117

  5. Lee, C.-W., Rogers, S.A., & McKinley, G.H. (2024). “SPP+ extensions for improved yield stress characterization.” J. Rheol., 68, 271–287.

  6. Hyun, K. et al. (2011). “A review of nonlinear oscillatory shear tests: Analysis and application of large amplitude oscillatory shear (LAOS).” Prog. Polym. Sci., 36, 1697–1753. DOI: 10.1016/j.progpolymsci.2011.02.002

  7. Ewoldt, R.H., Hosoi, A.E., & McKinley, G.H. (2008). “New measures for characterizing nonlinear viscoelasticity in large amplitude oscillatory shear.” J. Rheol., 52, 1427–1458. DOI: 10.1122/1.2970095