Elasto-Plastic Models (EPM)¶
This section documents the Elasto-Plastic Model (EPM) family for modeling spatially-resolved plasticity in amorphous solids.
Quick Reference¶
Model |
Import |
Use Case |
|---|---|---|
LatticeEPM |
|
Scalar stress (\(\sigma_{xy}\)), fast avalanche dynamics |
TensorialEPM |
|
Full tensor, normal stresses (\(N_1\), \(N_2\)), anisotropic yielding |
Overview¶
Elasto-Plastic Models (EPMs) provide a mesoscopic lattice-based framework for modeling the rheology of amorphous solids—glasses, gels, pastes, and dense suspensions. Unlike mean-field approaches (SGR, Hébraud-Lequeux), EPMs explicitly resolve:
Spatial heterogeneity via a discrete lattice of mesoscopic blocks
Plastic avalanches from stress redistribution cascades
Non-local stress redistribution via the Eshelby propagator (quadrupolar symmetry)
Shear banding from localized yielding
The implementation leverages JAX for FFT-accelerated simulations on GPU/TPU, achieving O(L^2 log L) complexity for stress redistribution instead of O(L^4) direct summation.
Documentation Highlights:
Boxed equations for all key mathematical relations
Protocol-specific governing equations with boundary conditions
Complete JAX implementation utilities for custom simulations
Physical foundations connecting EPM to SGR, fluidity, and STZ models
Model Hierarchy¶
EPM Family
│
├── LatticeEPM (Scalar)
│ └── Tracks σ_xy only
│ └── O(L^2 log L) FFT acceleration
│ └── 6 parameters: μ, σ_c_mean, σ_c_std, τ_pl, L, dt
│
└── TensorialEPM (Full Tensor)
│
├── von Mises (isotropic)
│ └── Tracks [σ_xx, σ_yy, σ_xy] + σ_zz
│ └── N_1, N_2 predictions
│ └── 9 parameters
│
└── Hill (anisotropic)
└── Directional yield resistance
└── Fiber suspensions, liquid crystals
└── Additional: hill_H, hill_N
When to Use Which Model¶
Feature / Use Case |
LatticeEPM (Scalar) |
TensorialEPM |
|---|---|---|
Flow curve fitting |
✓ Fast (3-5x faster) |
✓ Use if \(N_1\) data available |
Yield stress determination |
✓ Sufficient |
✓ More accurate for anisotropic |
Stress overshoot |
✓ Qualitative |
✓ Quantitative |
Normal stress differences |
✗ Cannot capture |
✓ \(N_1\), \(N_2\) predictions |
Shear banding analysis |
~ Qualitative (\(\sigma_{xy}\) gradients) |
✓ Quantitative (\(N_1\) gradients) |
Anisotropic materials |
✗ |
✓ Hill criterion |
Rod climbing / die swell |
✗ |
✓ Required |
Computational cost |
1× (baseline) |
3-5× slower |
Memory usage |
1× |
3× (tensor storage) |
Decision Guide:
Start with LatticeEPM for exploratory analysis and flow curve fitting
Use TensorialEPM when normal stress data is available, material is anisotropic, or analyzing flow instabilities (edge fracture, shear banding)
Supported Protocols¶
Both EPM variants support standard rheological protocols. See Elasto-Plastic Models (EPM) for complete mathematical details with boxed governing equations.
Protocol |
Description |
Key Observable |
Math Details |
|---|---|---|---|
|
Constant shear rate, steady state |
\(\sigma(\dot{\gamma})\), yield stress \(\sigma_y\) |
|
|
Step shear rate from rest |
Stress overshoot, peak strain |
|
|
Step strain, stress decay |
G(t), relaxation spectrum |
|
|
Constant stress (PID controlled) |
\(\gamma(t)\), viscosity bifurcation |
|
|
Sinusoidal shear (SAOS/LAOS) |
\(G'\), \(G''\), Lissajous figures |
Tip
The Elasto-Plastic Models (EPM) documentation now includes a complete JAX Implementation Utilities section with production-ready code for EPM simulations, including time-stepping kernels, creep controllers, and avalanche relaxation.
Physical Context¶
EPMs operate at the mesoscopic length scale \(\xi\) (correlation length of plastic events, typically 10-100 particle diameters). At this scale:
Material is coarse-grained into discrete blocks with local stress \(\sigma_{ij}\)
Plastic yielding is localized and stochastic (quenched disorder)
Stress redistribution follows long-range Eshelby coupling (quadrupolar, \(\sim 1/r^2\))
Avalanches emerge from cascading plastic events
Ideal materials:
Metallic glasses
Dense colloidal gels
Pastes and foams
Granular suspensions
Emulsions near jamming
Athermal limit: EPMs assume yielding is purely stress-driven (\(T \to 0\)). For thermal activation, consider SGR models instead.
Key Parameters¶
Parameter |
Symbol |
Typical Range |
Physical Meaning |
|---|---|---|---|
Shear modulus |
\(\mu\) |
10-10,000 Pa |
Elastic stiffness of matrix |
Mean yield stress |
\(\sigma_{c,\text{mean}}\) |
0.5-2× \(\sigma_y\) |
Local threshold for plastic events |
Disorder strength |
\(\sigma_{c,\text{std}}\) |
0.1-0.5× \(\sigma_{c,\text{mean}}\) |
Heterogeneity; controls avalanche statistics |
Plastic time |
\(\tau_{pl}\) |
0.01-10 s |
Relaxation after yielding |
Lattice size |
L |
8-128 |
Fitting: 8-16, Production: 32-128 |
Time step |
dt |
0.001-0.05 |
Must resolve \(\tau_{pl}\) (dt < \(\tau_{pl}\)/10) |
TensorialEPM additional parameters:
Parameter |
Symbol |
Typical Range |
Physical Meaning |
|---|---|---|---|
Poisson ratio |
\(\nu\) |
0.40-0.49 |
Plane strain coupling; \(N_1\) magnitude |
Normal relax. time |
\(\tau_{pl,normal}\) |
0.1-10× \(\tau_{pl,shear}\) |
Can differ for anisotropic materials |
\(N_1\) weight |
\(w_{N_1}\) |
0.1-10 |
Prioritize \(N_1\) in combined fitting |
Hill H |
H |
0.5-2.0 |
Normal stress anisotropy |
Hill N |
N |
1.5-5.0 |
Shear amplification (\(H=1, N=3\) recovers von Mises) |
Quick Start¶
LatticeEPM (fast fitting):
from rheojax.models import LatticeEPM
import numpy as np
# Small lattice for parameter estimation
model = LatticeEPM(L=16, dt=0.01)
# Fit to flow curve
gamma_dot = np.logspace(-2, 1, 20)
stress = np.array([...]) # experimental data
model.fit(gamma_dot, stress, test_mode='flow_curve')
# Bayesian inference with 4 chains
result = model.fit_bayesian(
gamma_dot, stress,
test_mode='flow_curve',
num_warmup=500,
num_samples=1000,
num_chains=4,
seed=42
)
TensorialEPM (normal stresses):
from rheojax.models import TensorialEPM
import numpy as np
# Initialize with normal stress weight
model = TensorialEPM(L=32, dt=0.01, w_N1=2.0)
# Fit to shear data
model.fit(gamma_dot, stress_exp, test_mode='flow_curve')
# Get N₁ predictions
result = model.predict(gamma_dot, test_mode='flow_curve')
N1 = result.metadata["N1"]
Model Documentation¶
References¶
Picard, G., Ajdari, A., Lequeux, F., and Bocquet, L. (2004). “Elastic consequences of a single plastic event: A step towards the microscopic modeling of the flow of yield stress fluids.” European Physical Journal E, 15, 371-381. https://doi.org/10.1140/epje/i2004-10054-8
Nicolas, A., Ferrero, E. E., Martens, K., and Barrat, J.-L. (2018). “Deformation and flow of amorphous solids: Insights from elastoplastic models.” Reviews of Modern Physics, 90, 045006. https://doi.org/10.1103/RevModPhys.90.045006
Eshelby, J. D. (1957). “The determination of the elastic field of an ellipsoidal inclusion, and related problems.” Proceedings of the Royal Society A, 241, 376-396. https://doi.org/10.1098/rspa.1957.0133
Lin, J., Lerner, E., Rosso, A., and Wyart, M. (2014). “Scaling description of the yielding transition in soft amorphous solids at zero temperature.” PNAS, 111, 14382-14387. https://doi.org/10.1073/pnas.1406391111
Budrikis, Z., Castellanos, D. F., Sandfeld, S., Zaiser, M., and Zapperi, S. (2017). “Universal features of amorphous plasticity.” Nature Communications, 8, 15928. https://doi.org/10.1038/ncomms15928
See Also¶
SGR Conventional (Soft Glassy Rheology) — Handbook — Mean-field SGR for thermal activation
Hébraud–Lequeux (HL) Model — Handbook — Mean-field limit (no spatial resolution)
Fluidity Local (Homogeneous Fluidity Model) — Handbook — Scalar fluidity approach
Shear Transformation Zone (STZ) — Shear Transformation Zones