Strain-Rate Frequency Superposition (SRFS)

Overview

The Strain-Rate Frequency Superposition (SRFS) transform is a data analysis technique for soft glassy materials that extends time-temperature superposition (TTS) principles to strain-rate-dependent rheology. It enables construction of master curves from nonlinear rheological data measured at different strain rates.

SRFS is particularly useful for:

  • Soft glassy materials: Concentrated emulsions, pastes, colloidal gels

  • Yield stress fluids: Materials with strain-rate-dependent microstructure

  • Thixotropic systems: Materials where structure evolves with deformation history

The transform is closely related to the SGR model’s prediction that for power-law materials, \(G'(\omega, \dot{\gamma})\) and \(G''(\omega, \dot{\gamma})\) can be collapsed onto master curves by appropriate rescaling.

Theory

For soft glassy materials described by the SGR model, linear viscoelastic moduli at different strain amplitudes (or strain rates in flow) can be superposed via:

\[ \begin{align}\begin{aligned}G'(\omega, \dot{\gamma}) = b(\dot{\gamma}) \, G'_{\text{master}}(a(\dot{\gamma}) \cdot \omega)\\G''(\omega, \dot{\gamma}) = b(\dot{\gamma}) \, G''_{\text{master}}(a(\dot{\gamma}) \cdot \omega)\end{aligned}\end{align} \]
where:
  • \(a(\dot{\gamma})\) is the horizontal shift factor (time/frequency rescaling)

  • \(b(\dot{\gamma})\) is the vertical shift factor (modulus rescaling)

For ideal SGR materials:
  • \(a(\dot{\gamma}) \sim \dot{\gamma}^{-1/(x-1)}\)

  • \(b(\dot{\gamma}) \sim \dot{\gamma}^{-1}\)

The shift factors reveal information about the underlying microstructural dynamics:

  • Horizontal shift: Related to acceleration of relaxation by flow

  • Vertical shift: Related to flow-induced softening of the elastic network

Extended Features

Shear Banding Detection

The SRFS transform includes tools to detect and characterize shear banding—the spatial coexistence of regions with different local shear rates:

from rheojax.transforms import SRFS
from rheojax.models import SGRConventional

srfs = SRFS()
model = SGRConventional(x=0.8, G0=100.0, tau0=0.01)

# Detect shear banding from flow curve
gamma_dot_range = (1e-3, 1e2)
is_banding, critical_rates = srfs.detect_shear_banding(
    model, gamma_dot_range
)

if is_banding:
    print(f"Shear banding detected between {critical_rates}")

    # Compute band coexistence via lever rule
    low_band, high_band, fraction = srfs.compute_shear_band_coexistence(
        model,
        applied_rate=1.0  # Global shear rate
    )
    print(f"Low band: {low_band:.3f} 1/s ({fraction:.1%})")
    print(f"High band: {high_band:.3f} 1/s ({1-fraction:.1%})")
Physical interpretation:

Shear banding occurs when the constitutive curve \(\sigma(\dot{\gamma})\) is non-monotonic. The material splits into coexisting bands at different local shear rates, connected by a stress plateau (the “banding stress”).

Thixotropy Kinetics

For thixotropic soft glasses, the SRFS transform includes structural kinetics:

from rheojax.transforms import SRFS
import numpy as np

srfs = SRFS()

# Define structural evolution parameters
thixo_params = {
    'tau_buildup': 100.0,    # Structure recovery time (s)
    'k_destruction': 0.1,    # Destruction rate coefficient
    'alpha': 1.0,            # Strain rate exponent
    'beta': 1.0              # Structure exponent
}

# Compute structure parameter evolution under step shear
t = np.linspace(0, 100, 500)
gamma_dot = np.where(t < 50, 10.0, 0.0)  # Shear then rest

lambda_t = srfs.evolve_thixotropy_lambda(
    t, gamma_dot,
    lambda_0=1.0,  # Initial fully structured
    **thixo_params
)

# lambda_t shows breakdown during shear, recovery during rest

The structural parameter \(\lambda \in [0, 1]\) evolves according to:

\[\frac{d\lambda}{dt} = \frac{1 - \lambda}{\tau_b} - k_d |\dot{\gamma}|^\alpha \lambda^\beta\]

where the first term describes recovery (buildup) and the second describes shear-induced breakdown (destruction).

Parameters

SRFS Transform Parameters

Parameter

Type

Description

reference_rate

float

Reference strain rate for master curve construction

method

str

Shift factor estimation method (‘auto’, ‘power_law’, ‘empirical’)

vertical_shift

bool

Whether to apply vertical (modulus) shifting

Usage

Master Curve Construction

from rheojax.transforms import SRFS
import numpy as np

# Multi-rate oscillatory data
rates = [0.01, 0.1, 1.0, 10.0]  # strain rates
omega = np.logspace(-2, 2, 50)
G_star_data = {rate: measure_modulus(omega, rate) for rate in rates}

# Create master curve
srfs = SRFS(reference_rate=1.0)
master_curve, shift_factors = srfs.transform(omega, G_star_data)

# shift_factors contains a_gamma_dot and b_gamma_dot for each rate
print("Horizontal shifts:", shift_factors['a'])
print("Vertical shifts:", shift_factors['b'])

Extracting x from Shift Factors

import numpy as np
from scipy.stats import linregress

# If a(gamma_dot) ~ gamma_dot^(-1/(x-1)), then
# log(a) = -1/(x-1) * log(gamma_dot)

log_rates = np.log10(rates)
log_a = np.log10(shift_factors['a'])

slope, intercept, r_value, _, _ = linregress(log_rates, log_a)

x_estimated = 1 - 1/slope
print(f"Estimated x = {x_estimated:.3f} (R² = {r_value**2:.4f})")

Integration with SGR Model

from rheojax.transforms import SRFS
from rheojax.models import SGRConventional

# Fit SGR model to master curve
srfs = SRFS(reference_rate=1.0)
master_omega, master_G = srfs.transform(omega, G_star_data)

model = SGRConventional()
model.fit(master_omega, master_G, test_mode='oscillation')

# Use x from SGR to validate shift factor scaling
x_fitted = model.parameters.get_value('x')
expected_slope = -1 / (x_fitted - 1)

print(f"Expected shift slope: {expected_slope:.3f}")
print(f"Measured shift slope: {slope:.3f}")

See also

API References

  • Module: rheojax.transforms

  • Class: rheojax.transforms.SRFS

References

Original SRFS Method:

  • Wyss, H. M., Miyazaki, K., Mattsson, J., Hu, Z., Reichman, D. R., & Weitz, D. A. “Strain-Rate Frequency Superposition: A Rheological Probe of Structural Relaxation in Soft Materials.” Phys. Rev. Lett. 98, 238303 (2007). DOI: 10.1103/PhysRevLett.98.238303

Extensions and Validation:

  • Kalelkar, C., Lele, A., & Kamble, S. “Strain-rate frequency superposition in large-amplitude oscillatory shear.” Phys. Rev. E 81, 031401 (2010). DOI: 10.1103/PhysRevE.81.031401 PDF

  • Erwin, B. M., Rogers, S. A., Cloitre, M., & Vlassopoulos, D. “Examining the validity of strain-rate frequency superposition when measuring the linear viscoelastic properties of soft materials.” J. Rheol. 54, 187–195 (2010). DOI: 10.1122/1.3301247 PDF

  • Kowalczyk, A., Hochstein, B., Stähle, P., & Willenbacher, N. “Characterization of complex fluids at very low frequency: Experimental verification of the strain rate-frequency superposition (SRFS) method.” Appl. Rheol. 20, 52340 (2010). DOI: 10.3933/ApplRheol-20-52340 PDF

  • Hess, A. & Aksel, N. “Yielding and structural relaxation in soft materials: Evaluation of strain-rate frequency superposition data by the stress decomposition method.” Phys. Rev. E 84, 051502 (2011). DOI: 10.1103/PhysRevE.84.051502 PDF

  • Li, J., Cheng, X., Zhang, Y., & Sun, W. “A revisit of strain-rate frequency superposition of dense colloidal suspensions under oscillatory shears.” J. Cent. South Univ. 23, 1873–1882 (2016). DOI: 10.1007/s11771-016-3242-6 PDF

Underlying Theory (SGR Model):

  • Sollich, P. “Rheological constitutive equation for a model of soft glassy materials.” Phys. Rev. E 58, 738 (1998). DOI: 10.1103/PhysRevE.58.738

  • Fielding, S. M., Sollich, P., & Cates, M. E. “Aging and rheology in soft materials.” J. Rheol. 44, 323 (2000). DOI: 10.1122/1.551088