Fluidity Nonlocal (Coussot-Ovarlez Cooperative Model) — Handbook¶
Quick Reference¶
Use when: Shear banding, wall slip, non-homogeneous flows in yield-stress fluids
Parameters: 10 (\(G\), \(\tau_y\), \(K\), \(n_{\text{flow}}\), \(f_{\text{eq}}\), \(f_\infty\), \(\theta\), \(a\), \(n_{\text{rejuv}}\), \(\xi\)); gap_width is a constructor arg
Key equation: \(\partial_t f = (f_{\rm loc}(\sigma) - f)/\theta + \xi^2 \nabla^2 f\)
Test modes: Rotation, startup, creep, oscillation (with spatial profiles)
Material examples: Concentrated emulsions, Carbopol gels, colloidal pastes, suspensions in microchannels
Notation Guide¶
Symbol |
Meaning |
|---|---|
\(f(y, t)\) |
Fluidity field (spatially varying) |
\(\xi\) |
Cooperativity length (microstructure size) |
\(\theta\) |
Structural reorganization time |
\(f_{\rm loc}(\sigma)\) |
Local fluidity function (from HB law) |
\(\Sigma(t)\) |
Uniform shear stress (momentum balance) |
\(\dot{\gamma}(y, t)\) |
Local shear rate profile |
\(\bar{\dot{\gamma}}\) |
Gap-averaged shear rate |
\(H\) |
Gap width |
\(\tau_y\) |
Yield stress |
Overview¶
The Nonlocal Fluidity Model extends local constitutive laws for yield-stress fluids to account for spatial heterogeneity. The key insight from Goyon, Colin, and Bocquet [1] [2] is that local plastic rearrangements induce flow in neighboring regions over a characteristic cooperativity length \(\xi\). This leads to a diffusive coupling between adjacent material elements.
The model resolves fundamental paradoxes in local rheology:
Shear banding: Smooth transitions between yielded and unyielded regions
Wall slip: Enhanced fluidity near boundaries
Confinement effects: Gap-width dependence of flow curves
Finite shear rate in “unyielded” zones: Due to fluidity diffusion
Historical Context¶
The nonlocal fluidity framework emerged from experiments on concentrated emulsions in microfluidic geometries (Goyon et al., 2008) and was formalized theoretically by Bocquet, Colin, and Ajdari (2009). Key contributions:
Goyon et al. (2008) [1]: Measured velocity profiles in confined emulsions, found finite shear rates in nominally unyielded regions
Bocquet et al. (2009) [2]: Developed kinetic theory linking cooperativity to plastic rearrangements
Coussot, Ovarlez et al. (2009-2012) [3] [4]: Extended to wide-gap Couette, thixotropy, and transient flows
- The model has been validated extensively for:
Dense emulsions (droplet diameter \(d\) → \(\xi \sim 3-5d\))
Carbopol microgels
Colloidal suspensions near jamming
Physical Foundations¶
Cooperativity in Soft Glasses¶
In soft glassy materials, plastic deformation occurs through local rearrangements of mesoscopic “elements” (droplets, particles, bubbles). Unlike in crystalline solids, these rearrangements are cooperative: a yielding event in one region induces stress perturbations that can trigger rearrangements in neighbors.
The cooperativity length \(\xi\) characterizes this coupling:
- For example:
Emulsions with 10 \(\mu\text{m}\) droplets: \(\xi \sim 30\text{--}100~\mu\text{m}\)
Colloidal glasses with 1 \(\mu\text{m}\) particles: \(\xi \sim 3\text{--}10~\mu\text{m}\)
When the flow geometry (gap \(H\)) is comparable to \(\xi\), strong confinement effects emerge.
Stress Homogeneity in Planar Shear¶
In low Reynolds number flows (creeping limit), momentum balance requires:
For simple shear in a planar geometry (gap direction \(y\)):
The stress is spatially uniform, even when the material is heterogeneous. Spatial heterogeneity arises only in the shear rate:
This decoupling is central to the model: the fluidity field \(f(y, t)\) carries all spatial information.
Local Fluidity Function¶
The local fluidity \(f_{\rm loc}(\sigma)\) represents what the fluidity would be at stress \(\sigma\) in a homogeneous, infinitely large sample. It is typically derived from the Herschel-Bulkley law:
For a Bingham fluid (\(n = 1\)):
where \(\Theta\) is the Heaviside function, \(\tau_y\) is the yield stress, and \(\eta_{\rm bg}\) is the background (plastic) viscosity.
Tip
Key Physical Intuition
Think of \(\xi\) as the “communication range” of the microstructure:
Small \(\xi\) (or large gap \(H/\xi \gg 1\)): Flow approaches the local (bulk) behavior
Large \(\xi\) (or narrow gap \(H/\xi \sim 1\)): Strong nonlocal effects, homogenization
Mathematical Formulation¶
Governing PDE¶
The nonlocal fluidity model consists of a reaction-diffusion equation for \(f(y, t)\):
- where:
\(\theta\) is the structural reorganization time (analogous to \(\tau_{\rm age}\))
\(\xi^2\) plays the role of a fluidity diffusivity \(D_f = \xi^2/\theta\)
Strain Rate Field¶
Given the fluidity profile \(f(y, t)\) and uniform stress \(\Sigma(t)\):
Global Constraints¶
Rate-controlled (imposed global shear rate \(\bar{\dot{\gamma}}\)):
The gap-averaged shear rate must match the imposed value:
where \(\bar{f}(t) = \frac{1}{H} \int_0^H f(y, t) \, dy\). Thus:
Stress-controlled (imposed stress \(\Sigma_0\)):
The stress is given directly; the shear rate follows from \(\dot{\gamma} = f \Sigma_0\).
Boundary Conditions¶
Neumann (no-flux):
Physical meaning: No fluidity transport across walls. Used for idealized smooth boundaries.
Dirichlet (wall fluidity):
Physical meaning: Enhanced fluidity at walls due to boundary slip or wall roughness effects. Captures apparent slip in concentrated systems.
Mixed conditions are possible (e.g., Dirichlet at one wall, Neumann at the other).
Steady-State BVP¶
At steady state (\(\partial_t f = 0\)), the PDE becomes an elliptic boundary value problem:
with appropriate BCs. The stress \(\Sigma\) is determined self-consistently from the rate constraint.
Solution form (for Neumann BCs and constant \(f_{\rm loc}\)):
The fluidity profile interpolates between \(f_{\rm loc}\) in the bulk and \(f_w\) at walls, with boundary layer thickness \(\sim \xi\).
Protocol-Specific Equations¶
Rotation (Steady-State Flow Curve)¶
Protocol: Constant imposed global shear rate \(\bar{\dot{\gamma}}\). Wait for steady state.
Equations:
with boundary conditions (e.g., Neumann or Dirichlet).
Constraint:
- Behavior:
For \(H/\xi \gg 1\): Approaches local (bulk) flow curve
For \(H/\xi \sim 1\): Enhanced apparent fluidity, reduced apparent yield stress
Apparent slip: At low \(\bar{\dot{\gamma}}\), fluidity near walls exceeds bulk, creating velocity jumps
No sharp yielding: Smooth transition from solid-like to flowing
Shear Banding¶
When does banding occur?
If the underlying local constitutive curve \(\sigma_{\rm loc}(\dot{\gamma})\) is non-monotonic (e.g., negative slope region), the system can exhibit coexisting bands with different local shear rates.
- The nonlocal term regularizes the interface:
Interface width \(\sim \xi\)
Unique stress plateau selected by diffusion
No discontinuity in velocity (smooth bands)
Detection:
from rheojax.models import FluidityNonlocal
model = FluidityNonlocal(N_y=64, gap_width=1e-3)
is_banding, band_profile = model.detect_shear_banding(gamma_dot=0.1)
if is_banding:
print("Shear banding detected!")
print(f"Low-shear band: y < {band_profile['interface_position']:.2f}")
Start-Up Shear¶
Protocol: Apply constant \(\bar{\dot{\gamma}} = \dot{\gamma}_0\) at \(t = 0\) from rest.
PDE:
with \(\Sigma(t)\) determined from the rate constraint at each time step.
Initial condition: \(f(y, 0) = f_{\rm eq}\) (uniform, solid-like)
- Behavior:
Fluidity nucleates at walls (if \(f_w > f_{\rm eq}\)) or in bulk (from thermal fluctuations)
Diffuses inward from boundaries
Stress overshoot if \(\theta\) is large
Approach to steady heterogeneous profile
Stress Relaxation¶
Protocol: Step strain \(\gamma_0\) at \(t = 0\), then \(\bar{\dot{\gamma}} = 0\).
PDE for \(t > 0\):
- Behavior:
Fluidity decays (aging)
Non-exponential relaxation due to diffusion smoothing
Stress decay: \(\Sigma(t) \sim \exp\left(-\int_0^t \bar{f}(s) \, ds\right)\)
Note
Nonlocal fluidity models are primarily designed for driven shear flows. For pure relaxation, the homogeneous (local) model is often sufficient unless spatial pre-history (e.g., banded initial state) is important.
Creep¶
Protocol: Constant stress \(\Sigma_0\) applied at \(t = 0\).
PDE:
Strain rate:
- Behavior:
- Bifurcation:
\(\Sigma_0 < \tau_y\): \(f \to 0\) everywhere (arrest)
\(\Sigma_0 > \tau_y\): \(f \to f_{\rm loc}(\Sigma_0)\) (flow)
Delayed fluidization near \(\tau_y\): Long induction time as fluidity diffuses from walls
Spatial heterogeneity: Walls may yield while center remains solid-like
Oscillatory Shear (SAOS and LAOS)¶
Protocol:
Full time-space PDE must be integrated numerically.
- SAOS (Small Amplitude):
Fluidity oscillates slightly around mean \(\bar{f}\)
Linear moduli \(G^*(\omega)\) with diffusive corrections
Plateau \(G'\), loss \(G'' \sim \sqrt{\omega}\) at low frequency (diffusion signature)
- LAOS (Large Amplitude):
Strong intracycle \(f(y, t)\) variations
Intracycle banding: Center may remain solid while walls yield during part of cycle
At high amplitudes: Cooperativity homogenizes flow
Higher harmonics in stress response
Timescale Hierarchy and Regime Classification¶
The transient behavior of the nonlocal fluidity model is governed by the competition between two characteristic timescales:
Characteristic Timescales:
Thixotropic time \(\theta\) (reorganization time):
Timescale for local fluidity to relax toward \(f_{\rm loc}(\sigma)\)
Governs how fast the microstructure responds to stress changes
Typical values: \(\theta \sim 0.1-100\) s
Diffusion time \(t_{\rm diff} = H^2/\xi^2\):
Timescale for fluidity gradients to homogenize across the gap
Derived from the diffusivity \(D_f = \xi^2/\theta\) acting over distance \(H\)
Note: The intrinsic diffusion time is \(H^2/(D_f) = \theta \cdot (H/\xi)^2\)
Observation timescale \(t_{\rm obs}\):
Protocol-dependent: startup time, oscillation period \(2\pi/\omega\), creep duration
Determines which physical processes are observable
Dimensionless Control Parameter:
The ratio of diffusion to thixotropic timescales controls the spatial character:
More precisely, the relevant ratio for a given observation time is:
Regime Classification:
Regime |
Condition |
Physical Behavior |
|---|---|---|
Thixotropy-dominated |
\(\theta \ll H^2/\xi^2\) |
Local relaxation faster than diffusion. Fluidity responds locally; spatial gradients build up and persist. Approaches local model behavior. |
Diffusion-dominated |
\(\theta \gg H^2/\xi^2\) |
Diffusion faster than local relaxation. Fluidity homogenizes rapidly; quasi-uniform \(f(y) \approx \bar{f}\) across gap. |
Coupled dynamics |
\(\theta \sim H^2/\xi^2\) |
Full PDE dynamics required. Complex spatiotemporal patterns during transients. Shear bands form and evolve. |
Practical Implications:
For a typical experiment with \(\xi = 50~\mu\text{m}\) and \(H = 1\) mm:
If \(\theta = 1\) s: Diffusion time \(\sim 400\) s → thixotropy dominates on short timescales
If \(\theta = 100\) s: Diffusion time \(\sim 400\) s → coupled regime
If \(\theta = 1000\) s: Still thixotropy-dominated but approaching coupled behavior
Protocol-Specific Considerations:
Startup at \(t \ll \theta\): Fluidity evolves locally; spatial gradients from initial conditions persist. Wall nucleation of yielding visible.
Startup at \(t \gg H^2/\xi^2\): Fluidity has homogenized; flow approaches local model prediction with enhanced apparent fluidity.
Oscillatory at \(\omega \gg \xi^2/H^2\): Fluidity cannot follow oscillations; frozen heterogeneous profile from previous history.
Oscillatory at \(\omega \ll 1/\theta\): Fluidity tracks stress quasi-statically; approaches local equilibrium each cycle.
Numerical Implementation¶
Spatial Discretization¶
The 1D PDE is discretized using finite volumes (FVM) or finite differences (FDM) with \(N_y\) grid points:
Laplacian with Neumann BCs:
def laplacian_neumann(f, dy):
f_left = jnp.concatenate([f[0:1], f[:-1]])
f_right = jnp.concatenate([f[1:], f[-1:]])
return (f_left - 2*f + f_right) / (dy**2)
Resolution requirement: \(\Delta y < \xi / 3\) to resolve boundary layers.
Time Integration¶
The PDE is integrated using jax.lax.scan for efficiency:
@jax.jit
def step_nonlocal(f, dt, Sigma, params, dy):
f_target = f_loc_bingham(Sigma, params)
reaction = (f_target - f) / params.theta
diffusion = params.xi**2 * laplacian_neumann(f, dy)
f_new = f + dt * (reaction + diffusion)
return f_new
Stability: For explicit Euler, \(\Delta t < \Delta y^2 / (2 \xi^2)\).
Self-Consistent Rate Control¶
For rate-controlled protocols, \(\Sigma(t)\) must be updated at each step:
def update_stress(f, gdot_bar, G):
f_bar = jnp.mean(f)
return G * gdot_bar / jnp.maximum(f_bar, 1e-12)
Governing Equations¶
Core PDE System¶
The Nonlocal Fluidity Model is governed by a reaction-diffusion partial differential equation coupled to the momentum balance:
Fluidity Evolution PDE:
Momentum Balance (Stress Uniformity):
Constitutive Relation:
Boundary Conditions (Neumann no-flux):
Global Constraint (rate-controlled):
These equations couple spatial diffusion (\(\xi^2 \nabla^2 f\)) with local relaxation dynamics, producing spatial heterogeneity in flow even under uniform stress.
What You Can Learn¶
From fitting Nonlocal Fluidity to experimental data, you can extract insights about cooperativity, confinement effects, shear banding, and spatial heterogeneity in yield-stress fluids.
Parameter Interpretation¶
- \(\xi\) (Cooperativity Length):
Characteristic length scale over which plastic rearrangements induce cooperative flow in neighboring regions. For graduate students: \(\xi \sim 3\)-10 × d_particle (colloidal cage size, droplet diameter). Governs fluidity diffusion via \(\partial f/\partial t = \ldots + \xi^2 \nabla^2 f\). Dimensionless confinement ratio \(H/\xi\) controls bulk (\(H/\xi \gg 10\)) vs nonlocal (\(H/\xi \sim 1\)-10) regimes. Shear band interface width \(\sim \xi\). Relates to correlation length of yielding events. For practitioners: Measure from gap-dependent flow curves: \(\sigma_{y,\text{app}}(H) = \sigma_{y,\text{bulk}} \cdot [1 - c(\xi/H)]\). Typical values: emulsions (10 \(\mu\text{m}\) droplets) \(\xi \sim 30\text{--}50\) \(\mu\text{m}\), colloidal glasses \(\xi \sim 1\text{--}10\) \(\mu\text{m}\). Critical for microfluidic design (\(H < 10\xi\) shows strong confinement).
- \(\theta\) (Reorganization Time):
Timescale for local structural equilibration, analogous to \(\tau_{age}\) in local model. For graduate students: Competes with diffusive timescale \(t_{\text{diff}} \sim H^2/\xi^2\). Ratio \(\theta/t_{\text{diff}}\) determines if spatial gradients persist (\(\theta \gg t_{\text{diff}}\)) or homogenize (\(\theta \ll t_{\text{diff}}\)) during transients. Fluidity diffusivity \(D_f = \xi^2/\theta\). For practitioners: Extract from startup dynamics. Typical: \(\theta = 0.1\text{--}100\) s. Fast relaxation (\(\theta < 1\) s) = rapidly homogenizing flows, slow relaxation (\(\theta > 10\) s) = persistent heterogeneity.
- H (Gap Width):
Geometric parameter controlling confinement effects via dimensionless ratio H/\(\xi\). For graduate students: Key control parameter. \(H/\xi \gg 10\) recovers bulk/local behavior. \(H/\xi \sim 1\text{--}10\) exhibits enhanced apparent fluidity, reduced yield stress. \(H/\xi < 1\) = fully cooperative homogenized flow. Universal confinement scaling: \(\sigma_{y,\text{app}}/\sigma_{y,\text{bulk}} \sim f(H/\xi)\). For practitioners: Perform gap-dependent measurements to extract \(\xi\). For processing, \(H > 10\xi\) ensures bulk-like behavior. Narrower gaps (microfluidics, thin films) require nonlocal modeling.
- f_w (Wall Fluidity, Dirichlet BC):
Enhanced fluidity at walls due to boundary slip or roughness effects. For graduate students: Boundary condition: f(y=0,H) = f_w. Physical origin: wall-particle interactions, reduced coordination at boundaries. Creates fluidity boundary layers with thickness \(\sim \xi\). Controls apparent slip velocity \(v_{\text{slip}} \sim \xi \cdot f_w \cdot \sigma\). For practitioners: Fit from velocity profiles or apparent slip measurements. f_w = 0 (no-flux Neumann BC) vs f_w > 0 (slip). Roughness or surfactants modify f_w.
Material Classification¶
Parameter Range |
Material Behavior |
Typical Materials |
Processing Implications |
|---|---|---|---|
H/\(\xi\) > 10 |
Bulk regime (local model sufficient) |
Concentrated emulsions in wide gaps |
Standard rheometry applicable |
H/\(\xi\) = 1-10 |
Nonlocal regime (strong confinement) |
Colloidal pastes in microchannels, thin films |
Gap-dependent yield stress, apparent slip |
H/\(\xi\) < 1 |
Fully cooperative (homogenized) |
Nanofluidics, ultra-thin coatings |
No true yielding, enhanced flow |
\(\xi\) = 10-100 \(\mu\text{m}\) |
Mesoscale cooperativity |
Emulsions, foams, microgels |
Moderate confinement sensitivity |
\(\xi\) < 1 \(\mu\text{m}\) |
Microscale cooperativity |
Dense colloidal glasses, molecular gels |
Weak confinement (bulk-like at macro scale) |
Confinement Effects and \(\xi\) Extraction¶
When the gap width \(H\) becomes comparable to the cooperativity length \(\xi\), strong confinement effects emerge that modify both the apparent yield stress and the overall flow behavior. These effects provide a direct route to measuring \(\xi\) experimentally.
Confinement Scaling Laws:
The apparent yield stress depends on the confinement ratio \(H/\xi\):
where the scaling function \(g(x)\) captures the crossover:
\(H/\xi \gg 1\) (bulk limit): \(g \to 1\), recovers intrinsic yield stress
\(H/\xi \sim 1\) (strong confinement): \(g < 1\), reduced apparent yield
\(H/\xi \ll 1\) (fully cooperative): Flow approaches plug-like (no true yielding)
A practical approximation for intermediate confinement:
where \(c \approx 1-2\) is a geometry-dependent constant.
Flow Curve Modification:
The full flow curve is modified in confinement. At fixed global shear rate \(\bar{\dot{\gamma}}\), the measured stress \(\Sigma\) deviates from bulk predictions when \(H \lesssim 10\xi\):
where the gap-averaged fluidity \(\bar{f}(H)\) exceeds the local (bulk) value due to enhanced fluidity at walls and boundary layers of thickness \(\sim \xi\).
Experimental Protocol for \(\xi\) Extraction:
Multi-gap measurements: Acquire steady-state flow curves at 3-5 gap widths spanning \(H = 0.1-10\) mm (or \(H/\xi \approx 1-100\))
Extract apparent yield stress: For each gap, fit the low-shear plateau or use extrapolation (e.g., from \(\sigma(\dot{\gamma} \to 0)\))
Plot \(\sigma_{y,\text{app}}\) vs. \(1/H\):
import numpy as np from scipy.optimize import curve_fit # Data: gap widths (m) and apparent yield stresses (Pa) H_values = np.array([0.1e-3, 0.3e-3, 0.5e-3, 1e-3, 5e-3]) sigma_y_app = np.array([45, 52, 58, 63, 68]) # Fit: σ_y,app = σ_y,bulk * (1 - c*ξ/H) def confinement_model(H, sigma_bulk, c_xi): return sigma_bulk * (1 - c_xi / H) popt, _ = curve_fit(confinement_model, H_values, sigma_y_app, p0=[70, 50e-6], bounds=([0, 0], [200, 1e-3])) sigma_y_bulk, c_times_xi = popt xi_estimate = c_times_xi / 1.5 # Assuming c ≈ 1.5 for Couette print(f"Bulk yield stress: {sigma_y_bulk:.1f} Pa") print(f"Cooperativity length: {xi_estimate*1e6:.1f} μm")
Validate: Compare extracted \(\xi\) with particle/droplet size (expect \(\xi \approx 3-10 \times d\))
Typical \(\xi\) Values by Material:
Material |
Particle/Droplet Size |
Expected \(\xi\) |
\(\xi\)/d Ratio |
|---|---|---|---|
Concentrated emulsions |
1-20 \(\mu\text{m}\) |
5-100 \(\mu\text{m}\) |
3-5 |
Colloidal glasses |
0.1-1 \(\mu\text{m}\) |
0.5-5 \(\mu\text{m}\) |
3-10 |
Microgels (Carbopol) |
1-10 \(\mu\text{m}\) |
5-50 \(\mu\text{m}\) |
3-8 |
Foams |
50-500 \(\mu\text{m}\) |
200-2000 \(\mu\text{m}\) |
3-5 |
Geometric Considerations:
The scaling function \(g(H/\xi)\) and constant \(c\) depend on geometry:
Planar channel (parallel plates): Stress is exactly uniform; \(c \approx 1-2\)
Cylindrical Couette: Curvature introduces stress gradient \(\sigma \propto 1/r^2\). For narrow gaps (\((R_o - R_i)/R_i \ll 1\)), planar approximation is valid. For wide gaps, explicit curvature corrections are needed.
Curvature threshold: Curvature matters when \((R_o - R_i)/R_i > 0.1\)
Note
When using Couette geometry with significant curvature, the stress varies across the gap by \(\Delta\sigma/\sigma \approx 2(R_o - R_i)/R_i\). For accurate \(\xi\) extraction, either use narrow-gap approximation or full 2D modeling.
Parameters¶
Name |
Symbol |
Units |
Bounds |
Notes |
|---|---|---|---|---|
|
\(G\) |
Pa |
\(G > 0\) |
Elastic modulus |
|
\(\tau_y\) |
Pa |
\(\tau_y \geq 0\) |
Yield stress |
|
\(K\) |
Pa·sn |
\(K > 0\) |
Flow consistency (Herschel-Bulkley K parameter) |
|
\(n_{\rm flow}\) |
— |
\(0.1 \leq n \leq 2\) |
Flow exponent (Herschel-Bulkley n parameter) |
|
\(f_{\rm eq}\) |
1/(Pa·s) |
\(f_{\rm eq} \geq 0\) |
Equilibrium fluidity at rest |
|
\(f_\infty\) |
1/(Pa·s) |
\(f_\infty > 0\) |
Infinite-shear fluidity (rejuvenation limit) |
|
\(\theta\) |
s |
\(\theta > 0\) |
Structural reorganization time (aging timescale) |
|
\(a\) |
— |
\(a \geq 0\) |
Rejuvenation amplitude |
|
\(n_{\rm rejuv}\) |
— |
\(0 \leq n \leq 2\) |
Rejuvenation exponent |
|
\(\xi\) |
m |
\(\xi > 0\) |
Cooperativity length; typically 3-10x particle size |
Note
The gap width H is a constructor argument (gap_width), not a fittable
parameter. Pass it when creating the model: FluidityNonlocal(N_y=64, gap_width=1e-3).
Parameter Interpretation¶
- xi (Cooperativity Length):
Physical meaning: Range of cooperative rearrangements
Estimation: \(\xi \approx 3-5d\) where \(d\) is particle/droplet diameter
- Typical values:
Emulsions (10 \(\mu\text{m}\) droplets): \(\xi \sim 30\text{--}50~\mu\text{m}\)
Colloidal glasses: \(\xi \sim 1\text{--}10~\mu\text{m}\)
Measurement: From confinement experiments (flow curve vs. gap width)
- theta (Reorganization Time):
Physical meaning: Timescale for local structural equilibration
Relation to aging: \(\theta \sim \tau_{\rm age}\) in kinetic models
Typical values: \(0.1 - 100\) s
- H (Gap Width) and Confinement Ratio:
Key dimensionless group: \(H / \xi\)
\(H/\xi \gg 10\): Bulk behavior
\(H/\xi \sim 1-10\): Strong nonlocal effects
\(H/\xi < 1\): Fully cooperative (homogenized)
Validity and Assumptions¶
Model Assumptions¶
1D planar shear: Gap direction \(y\) only (Couette approximation)
Stress homogeneity: Momentum balance → uniform \(\sigma(y) = \Sigma\)
Constant cooperativity: \(\xi\) is stress-independent (simplification)
Isotropic diffusion: Same cooperativity in all directions
Quasistatic deformation: Inertia neglected
Data Requirements¶
Flow curves at multiple gaps: \(\sigma(\bar{\dot{\gamma}})\) for \(H = H_1, H_2, \ldots\)
Velocity profiles (if available): From NMR, PIV, or ultrasound velocimetry
Transient data: Start-up curves, creep tests
Limitations¶
- Constant \(\xi\) assumption:
In reality, \(\xi\) may be stress-dependent [5]: \(\xi(\sigma) \sim (|\sigma| - \tau_y)^{-\nu}\) near the yield point.
- 2D/3D geometries:
The model extends naturally, but computational cost increases. For Couette cells with curvature, stress is not strictly uniform.
- Temperature effects:
Thermal fluctuations may modify \(\xi\) and \(\theta\). Temperature-dependent parameters are not included.
- Thixotropy:
For strongly thixotropic systems, couple to a structural parameter \(\lambda\) (as in the local model).
Fitting Guidance¶
Parameter Initialization¶
Method 1: From confinement experiments
Step 1: Measure flow curves \(\sigma(\bar{\dot{\gamma}})\) at gaps \(H_1, H_2, \ldots\)
Step 2: Plot apparent yield stress \(\sigma_y^{\rm app}(H)\) vs. \(H\)
- Step 3: Fit to confinement scaling:
\(\sigma_y^{\rm app}(H) = \sigma_y^{\rm bulk} \cdot [1 - c(\xi/H)]\)
Step 4: Extract \(\xi\) from the fitting constant \(c\)
Method 2: From velocity profiles
Step 1: Measure \(v(y)\) in wide-gap Couette or channel flow
Step 2: Compute shear rate \(\dot{\gamma}(y) = dv/dy\)
Step 3: Invert local constitutive law to get \(f(y)\) at known stress
Step 4: Fit exponential decay of \(f(y)\) from walls → \(\xi\)
Optimization Strategy¶
Two-stage fitting:
Bulk parameters first: Fit \(\tau_y, \eta_{\rm bg}\) from wide-gap data
Nonlocal parameters second: Fit \(\xi, \theta, f_w\) from narrow-gap or transient data
Bayesian approach recommended for \(\xi\) due to strong correlations with other parameters.
Troubleshooting¶
Problem |
Diagnostic |
Solution |
|---|---|---|
Fitted \(\xi\) too large |
Comparable to gap \(H\) |
Include wider gap data |
Poor transient fits |
Wrong \(\theta\) or BCs |
Try Dirichlet BCs with fitted \(f_w\) |
Flow curve mismatch at low \(\dot{\gamma}\) |
BC effects dominant |
Increase \(N_y\) resolution; check \(f_w\) |
Numerical instability |
CFL violation |
Reduce \(\Delta t\); use implicit solver |
No gap dependence observed |
\(H/\xi \gg 10\) |
Material is in bulk limit; use local model |
Usage¶
Basic Example¶
import numpy as np
from rheojax.models import FluidityNonlocal
# Create model with geometry
model = FluidityNonlocal(N_y=64, gap_width=1e-3)
# Set physical parameters
model.parameters.set_value("xi", 50e-6) # 50 micron cooperativity length
model.parameters.set_value("theta", 10.0) # 10 s reorganization time
model.parameters.set_value("tau_y", 50.0) # 50 Pa yield stress
model.parameters.set_value("K", 10.0) # Consistency index
# Compute flow curve
gamma_dot = np.logspace(-3, 2, 50)
sigma = model.predict(gamma_dot, test_mode='steady_shear')
# Get velocity profile at specific shear rate
f_profile, y_grid = model.get_fluidity_profile(gamma_dot=1.0)
Gap-Dependence Study¶
from rheojax.models import FluidityNonlocal
import numpy as np
# Multiple gap widths
gaps = [0.1e-3, 0.5e-3, 1e-3, 5e-3] # 0.1 to 5 mm
gamma_dot = np.logspace(-3, 2, 50)
flow_curves = {}
for H in gaps:
model = FluidityNonlocal(N_y=64, gap_width=H)
model.parameters.set_value("xi", 50e-6)
model.parameters.set_value("theta", 10.0)
model.parameters.set_value("tau_y", 50.0)
model.parameters.set_value("K", 10.0)
sigma = model.predict(gamma_dot, test_mode='steady_shear')
flow_curves[H] = sigma
print(f"Gap {H*1e3:.1f} mm: apparent yield stress = {sigma.min():.1f} Pa")
Transient Start-Up with Profiles¶
from rheojax.models import FluidityNonlocal
import numpy as np
import matplotlib.pyplot as plt
model = FluidityNonlocal(N_y=64, gap_width=1e-3)
# Start-up at constant shear rate
t = np.linspace(0, 100, 1000)
gamma_dot_0 = 1.0
# Simulate startup shear
gamma, sigma, fluidity = model.simulate_startup(t, gamma_dot_0)
# Plot stress evolution
plt.figure(figsize=(10, 6))
plt.subplot(2, 1, 1)
plt.plot(t, sigma)
plt.xlabel('Time (s)')
plt.ylabel('Stress (Pa)')
plt.title('Startup Stress')
# Plot fluidity evolution at different positions
plt.subplot(2, 1, 2)
y_indices = [0, 25, 50, 75, 99] # 5 positions across gap
for idx in y_indices:
y_mm = idx * gap_width / 99 * 1e3 # Convert to mm
plt.plot(t, fluidity[:, idx], label=f'y = {y_mm:.2f} mm')
plt.xlabel('Time (s)')
plt.ylabel('Fluidity (1/s)')
plt.legend()
plt.tight_layout()
Shear Banding Analysis¶
from rheojax.models import FluidityNonlocal
model = FluidityNonlocal(N_y=64, gap_width=1e-3)
# Detect banding at multiple shear rates
for gdot in [0.01, 0.1, 1.0, 10.0]:
is_banding, profile = model.detect_shear_banding(gamma_dot=gdot)
if is_banding:
print(f"Shear banding at γ̇ = {gdot}: interface at y = {profile['interface']:.3f}")
else:
print(f"Homogeneous flow at γ̇ = {gdot}")
See Also¶
Fluidity Local (Homogeneous Fluidity Model) — Handbook — Homogeneous fluidity model (no spatial effects)
SGR Conventional (Soft Glassy Rheology) — Handbook — Soft Glassy Rheology with aging dynamics
Hébraud–Lequeux (HL) Model — Handbook — Hébraud-Lequeux diffusion-based model
Herschel-Bulkley Model — Underlying local constitutive law
API References¶
Module:
rheojax.modelsClass:
rheojax.models.FluidityNonlocal
References¶
Further Reading¶
Picard, G., Ajdari, A., Lequeux, F., & Bocquet, L. “Elastic consequences of a single plastic event.” European Physical Journal E, 15(4), 371-381 (2004).
Jop, P., Mansard, V., Chaudhuri, P., Bocquet, L., & Colin, A. “Microscale rheology of a soft glassy material close to yielding.” Physical Review Letters, 108, 148301 (2012).
Nicolas, A., Ferrero, E. E., Martens, K., & Barrat, J.-L. “Deformation and flow of amorphous solids: Insights from elastoplastic models.” Reviews of Modern Physics, 90, 045006 (2018).
Benzi, R., Divoux, T., Barentin, C., Manneville, S., Aime, S., Cipelletti, L., Rosti, M. E., & Toschi, F. “Unified theoretical and experimental view on transient shear banding.” Physical Review Letters, 123, 248001 (2019).
Fielding, S. M. “Triggers and signatures of shear banding in steady and time-dependent flows.” Journal of Rheology, 60(5), 821-834 (2016).