Maxwell-Isotropic-Kinematic Hardening (MIKH)¶
Quick Reference¶
Use when: Thixotropic elasto-viscoplastic materials with stress overshoot, Bauschinger effect, thixotropic hysteresis
Parameters: 11 (G, \(\eta\), C, \(\gamma_{\text{dyn}}\), m, \(\sigma_{y0}\), \(\Delta\sigma_y\), \(\tau_{\text{thix}}\), \(\Gamma\), \(\eta_\infty\), \(\mu_p\))
Key equation: \(\frac{d\sigma}{dt} = G(\dot{\gamma} - \dot{\gamma}^p) - \frac{G}{\eta}\sigma\) (Maxwell viscoelasticity with plasticity)
Test modes: flow_curve, startup, relaxation, creep, oscillation, laos
Material examples: Drilling fluids, greases, waxy crude oil, thixotropic cements, structured emulsions
- class rheojax.models.ikh.mikh.MIKH[source]
Bases:
IKHBaseMaxwell-Isotropic-Kinematic Hardening (MIKH) Model.
A thixotropic elasto-viscoplastic model combining: 1. Armstrong-Frederick kinematic hardening (backstress evolution). 2. Isotropic hardening/softening via structural parameter lambda (thixotropy). 3. Maxwell viscoelastic element for proper relaxation behavior. 4. Viscous background solvent.
- Two Formulations:
Maxwell ODE (via Diffrax): For creep/relaxation protocols
Return Mapping: For startup/LAOS protocols (incremental)
- Governing Equations:
σ_total = σ + η_inf * γ̇
Stress Evolution (ODE formulation): dσ/dt = G(γ̇ - γ̇ᵖ) - (G/η)σ
Yield Surface: |σ - α| ≤ σ_y(λ) σ_y(λ) = σ_y0 + Δσ_y * λ
Structure Evolution: dλ/dt = (1-λ)/τ_thix - Γ*λ*|γ̇ᵖ|
Backstress Evolution (Armstrong-Frederick): dα = C*dγ_p - γ_dyn*|α|^(m-1)*α*|dγ_p|
- Parameters:
G – Shear modulus [Pa]
eta – Maxwell viscosity [Pa·s] (controls relaxation time τ = η/G)
C – Kinematic hardening modulus [Pa]
gamma_dyn – Dynamic recovery parameter for backstress [-]
m – AF recovery exponent [-] (typically 1.0)
sigma_y0 – Minimal (destructured) yield stress [Pa]
delta_sigma_y – Yield stress increment (structured - destructured) [Pa]
tau_thix – Thixotropic rebuilding time scale [s]
Gamma – Structural breakdown coefficient [-]
eta_inf – High-shear viscosity [Pa·s]
mu_p – Plastic viscosity for Perzyna regularization [Pa·s]
- __init__()[source]
Initialize base model.
- predict_startup(t, gamma_dot=1.0)[source]
Predict startup shear response.
- predict_relaxation(t, sigma_0=100.0)[source]
Predict stress relaxation.
- predict_creep(t, sigma_applied=50.0)[source]
Predict creep response.
- predict_laos(t, gamma_0=1.0, omega=1.0)[source]
Predict LAOS response.
- model_function(X, params, test_mode=None, **kwargs)[source]
NumPyro model function for Bayesian inference.
Accepts protocol-specific kwargs (gamma_dot, sigma_applied, sigma_0). Falls back to values cached during _fit() if not provided.
Notation Guide¶
Symbol |
Units |
Description |
|---|---|---|
\(\sigma\) |
Pa |
Deviatoric stress (elasto-plastic component) |
\(\alpha\) |
Pa |
Backstress (kinematic hardening variable) |
\(\lambda\) |
– |
Structural parameter (0 = destructured, 1 = structured) |
\(\dot{\gamma}\) |
1/s |
Total shear rate |
\(\dot{\gamma}^p\) |
1/s |
Plastic shear rate |
\(\sigma_y\) |
Pa |
Current yield stress (depends on \(\lambda\)) |
\(\xi\) |
Pa |
Relative stress (\(\xi = \sigma - \alpha\)) |
Overview¶
The MIKH (Maxwell-Isotropic-Kinematic Hardening) model is a comprehensive thixotropic elasto-viscoplastic constitutive equation developed by Dimitriou & McKinley (2014) for complex fluids like waxy crude oil. It combines:
Maxwell viscoelasticity: Stress relaxation via \(\eta\) (Maxwell viscosity)
Kinematic hardening: Backstress evolution (Armstrong-Frederick type)
Isotropic hardening: Yield stress evolution via structural parameter \(\lambda\)
Viscous background: High-shear Newtonian contribution (\(\eta_\infty\))
The model captures:
Stress overshoot in startup flow
Bauschinger effect (easier reverse flow after forward loading)
Thixotropic loops (history-dependent stress-strain curves)
Yield stress aging (rest-time dependence)
Flow curve with shear-thinning and yield stress
Theoretical Background¶
Historical Context¶
The MIKH model emerges from the synthesis of three traditionally separate fields:
Classical Plasticity: The theory of plastic deformation in metals, particularly the work of Prager and Armstrong-Frederick on kinematic hardening to capture the Bauschinger effect.
Thixotropy: The time-dependent rheology first systematically studied by Freundlich and colleagues in the 1920s-30s, formalized through structural kinetics approaches (Goodeve 1939, Moore 1959).
Yield Stress Materials: The Herschel-Bulkley framework and its extensions to time-dependent yield stress materials (de Souza Mendes & Thompson 2019).
The unification of these frameworks by Dimitriou & McKinley provides a thermodynamically consistent model capable of describing the complex behavior of materials like waxy crude oil, drilling muds, and structured colloidal suspensions.
Material Class: Thixotropic Elasto-Viscoplastic Fluids (TEvp)¶
TEvp materials exhibit several characteristic behaviors:
1. Yield Stress: Below a critical stress \(\sigma_y\), the material responds elastically (reversibly). Above \(\sigma_y\), plastic flow occurs irreversibly.
2. Thixotropy: The material’s structure—and hence its properties—depend on mechanical history. Under shear, microstructure breaks down (destructuring); at rest, it recovers (restructuring). The structural parameter \(\lambda \in [0,\, 1]\) tracks this state:
\(\lambda = 1\): Fully structured (maximum yield stress, maximum elasticity)
\(\lambda = 0\): Fully destructured (minimum yield stress)
3. Viscoelasticity: Even in the elastic regime, the material exhibits stress relaxation over time due to microstructural rearrangements.
4. Kinematic Hardening: Under cyclic loading, the material exhibits directional memory—the Bauschinger effect. This is captured through the backstress \(\alpha\), which shifts the yield surface in stress space.
Physical Interpretation of the Microstructure¶
In waxy crude oils, the microstructure consists of:
Wax crystals that form a space-spanning network below the gelation temperature
Inter-crystalline bonds (van der Waals forces, crystal interlocking) that provide mechanical integrity
Continuous oil phase that acts as the suspending medium
The structural parameter \(\lambda\) represents the fraction of intact inter-crystalline bonds. When sheared, bonds break (destructuring); at rest, thermal fluctuations allow bonds to reform (restructuring). This microscopic picture motivates the kinetic equations for the evolution of \(\lambda\).
For other TEvp materials:
Drilling fluids: The parameter \(\lambda\) represents the organization of clay platelets and polymer chains
Colloidal gels: The parameter \(\lambda\) represents the fraction of intact colloidal bonds
Greases: The parameter \(\lambda\) represents the organization of thickener fibers
Thermokinematic Memory (FIKH Framework)¶
The Fractal IKH (FIKH) framework (Geri et al. 2017) extends the MIKH model to account for temperature-dependent microstructure. This is critical for materials like waxy crude oils where thermal history determines the precipitated wax content.
Effective Volume Fraction:
The wax volume fraction depends on temperature history:
where \(\Delta T = T - T_{wax}\) is the subcooling below the wax appearance temperature. The function \(f(\Delta T)\) captures the precipitation kinetics.
Thermokinematic Memory:
The material “remembers” its thermal history through:
The precipitated wax morphology (cooling rate affects crystal size/shape)
The equilibrium connectivity \(\xi_{eq}(T)\) at each temperature
The effective volume fraction \(\phi(T)\) determining available wax content
This leads to a modified structure evolution equation:
where the equilibrium connectivity \(\xi_{eq}(T)\) replaces the constant target value of 1.
Parameter Scaling with Microstructure:
In the FIKH framework, macroscopic parameters depend on both temperature (via \(\phi\)) and structure (via \(\xi\)):
where \(\xi_c\) is the critical connectivity for jamming, \([\eta]\) is the intrinsic viscosity, and \(n, p\) are scaling exponents related to fractal dimension.
Fractal Microstructure Interpretation¶
The structure parameter \(\lambda\) can be interpreted as the normalized fractal connectivity \(\xi \in [0,\, 1]\) of the microstructural network.
Fractal Connectivity:
In a fractal network (e.g., wax crystal aggregates), the connectivity \(\xi\) represents the fraction of intact bonds relative to a fully percolated network:
The fractal nature of colloidal aggregates leads to power-law scaling of mechanical properties with connectivity:
Yield stress: \(\sigma_y \propto \xi^n\) with \(n \approx 2-3\)
Elastic modulus: \(G \propto \xi^{d_f/(d-d_f)}\) where \(d_f\) is fractal dimension
The Avalanche Effect:
The nonlinear coupling between structure (\(\xi\)) and yield stress (\(\sigma_y\)) leads to an important dynamic phenomenon—delayed yielding or the “avalanche effect”:
Under stress \(\sigma < \sigma_y(\xi_0)\), the material creeps slowly
Slow creep causes gradual structure breakdown: \(\xi \downarrow\)
As \(\xi\) decreases, \(\sigma_y(\xi)\) drops, accelerating breakdown
Eventually, catastrophic yielding occurs when \(\sigma > \sigma_y(\xi)\)
This positive feedback loop explains why thixotropic materials can appear solid for extended periods before suddenly flowing.
Relationship to Percolation:
Near the percolation threshold, the network connectivity follows:
where \(p\) is the bond occupation probability and \(p_c \approx 0.5\) for 3D networks. The critical exponent \(\beta\) depends on network topology.
Thermodynamic Consistency¶
The MIKH model can be derived within the Gurtin-Fried-Anand thermomechanical framework, ensuring:
Frame invariance: Constitutive equations are objective (independent of observer)
Second law compliance: Dissipation inequality is satisfied
Energy balance: Clear separation of stored (elastic) and dissipated energy
The key thermodynamic quantities are:
Free energy: \(\psi(\gamma^e, \alpha, \lambda)\) storing elastic energy
Dissipation: \(\mathcal{D} = \sigma \dot{\gamma}^p + X \dot{\alpha} + Y \dot{\lambda} \geq 0\)
where X and Y are thermodynamic forces conjugate to the internal variables. This framework guarantees that the model respects fundamental physics while allowing complex phenomenology.
Physical Foundations¶
Maxwell-Like Framework¶
The MIKH model uses a Maxwell-like viscoelastic element as its foundation. The Maxwell element consists of a spring (modulus G) in series with a dashpot (viscosity \(\eta\)), giving a relaxation time \(\tau = \eta / G\):
The first term represents elastic loading minus plastic flow. The second term represents viscoelastic relaxation with characteristic time \(\tau = \eta/G\).
Physical interpretation:
At short times (\(t \ll \tau\)): Elastic response dominates, \(\sigma \approx G \cdot \gamma\)
At long times (\(t \gg \tau\)): Viscous flow, \(\sigma \to 0\) under constant strain
The Maxwell element captures the liquid-like long-time behavior of structured fluids
Kinematic Hardening (Armstrong-Frederick)¶
Kinematic hardening is a plasticity concept that accounts for the Bauschinger effect: when a material is deformed plastically in one direction, subsequent yield in the opposite direction occurs at a lower stress than the initial yield stress.
The backstress \(\alpha\) represents the “center” of the yield surface in stress space. As plastic deformation accumulates, \(\alpha\) evolves according to the Armstrong-Frederick (AF) law:
Term 1 (Hardening): \(C \cdot d\gamma^p\)
The backstress increases proportionally to plastic strain increment
C is the kinematic hardening modulus [Pa]
This creates a “memory” of the plastic deformation direction
Term 2 (Dynamic Recovery): \(-\gamma_{\text{dyn}} \cdot |\alpha|^{m-1} \cdot \alpha \cdot |d\gamma^p|\)
Limits backstress saturation (prevents unbounded growth)
\(\gamma_{\text{dyn}}\) controls recovery rate
\(m\) controls nonlinearity (\(m = 1\) is linear, \(m > 1\) accelerates recovery at high \(\alpha\))
Recovery is proportional to \(|d\gamma^p|\), so it only occurs during plastic flow
Steady-state backstress: At steady plastic flow:
The ratio \(C / \gamma_{\text{dyn}}\) determines the maximum backstress magnitude.
Note
Reparameterization for \(m \neq 1\): The original Dimitriou & McKinley (2014) paper defines backstress recovery through a back-strain \(A\) with \(\sigma_{back} = C \cdot A\) and recovery function \(f(A) = (q|A|)^m \operatorname{sign}(A)\). RheoJAX works directly with the backstress \(\alpha\) and uses \(\gamma_{dyn} \cdot |\alpha|^{m-1} \cdot \alpha\). For \(m = 1\), \(\gamma_{dyn} = q\) exactly. For \(m \neq 1\), the mapping is \(\gamma_{dyn} = q^m \cdot C^{1-m}\). Both parameterizations are mathematically equivalent; fitted parameter values should be interpreted accordingly.
Isotropic Hardening (Thixotropy)¶
The yield stress evolves with a structural parameter \(\lambda \in [0,\, 1]\):
\(\sigma_{y,0}\): Minimal yield stress when fully destructured (\(\lambda = 0\))
\(\Delta\sigma_y\): Additional yield stress from structure
\(\sigma_{y,\max} = \sigma_{y,0} + \Delta\sigma_y\): Maximum yield stress when fully structured (\(\lambda = 1\))
The structure evolves according to a first-order kinetic equation:
Term 1 (Buildup): \((1 - \lambda) / \tau_{\text{thix}}\)
Structure recovers toward \(\lambda = 1\) with characteristic time \(\tau_{\text{thix}}\)
At rest (\(\dot{\gamma}^p = 0\)): \(\lambda(t) = 1 - (1 - \lambda_0) \exp(-t / \tau_{\text{thix}})\)
Physical origin: Brownian motion, thermal fluctuations allow bond reformation
Term 2 (Breakdown): \(\Gamma \cdot \lambda \cdot |\dot{\gamma}^p|\)
Structure breaks down proportionally to plastic strain rate
\(\Gamma\) is the breakdown efficiency coefficient
Physical origin: Mechanical work breaks inter-particle bonds
Steady-state structure: At constant shear rate:
Mathematical Formulation¶
Core Equations¶
Stress decomposition:
The total stress consists of the elasto-plastic contribution \(\sigma\) and a purely viscous background \(\eta_{\infty} \dot{\gamma}\). The latter represents the suspending fluid’s viscosity.
Yield condition:
The material yields when the relative stress \(|\xi| = |\sigma - \alpha|\) exceeds the current yield stress \(\sigma_y(\lambda)\). The backstress \(\alpha\) shifts the yield surface in stress space.
Plastic flow rule (Perzyna regularization):
where \(\langle \cdot \rangle\) denotes Macaulay brackets (positive part function):
The Perzyna regularization parameter \(\mu_p\) [Pa·s] controls how sharply the material transitions from elastic to plastic behavior. Small \(\mu_p\) gives rate-independent plasticity; larger \(\mu_p\) smooths the transition.
Complete System of ODEs¶
The MIKH model comprises three coupled ordinary differential equations:
With the plastic flow rate determined by:
Two Formulations¶
The MIKH model uses two numerical formulations depending on the experimental protocol:
1. Maxwell ODE Formulation (for creep/relaxation)
Suitable for stress-controlled or strain-relaxation experiments where the full viscoelastic response is needed:
# State: [sigma, alpha, lambda]
d(sigma)/dt = G(gamma_dot - gamma_dot_p) - (G/eta)*sigma
d(alpha)/dt = C*gamma_dot_p - gamma_dyn*|alpha|^(m-1)*alpha*|gamma_dot_p|
d(lambda)/dt = (1-lambda)/tau_thix - Gamma*lambda*|gamma_dot_p|
This formulation uses adaptive ODE integration (Diffrax) for accurate time-stepping of the coupled system.
2. Return Mapping Formulation (for startup/LAOS)
Suitable for strain-driven experiments with incremental time stepping:
# Given strain increment Δγ:
1. Elastic predictor: σ_trial = σ_n + G·Δγ
2. Check yield: f = |σ_trial - α_n| - σ_y(λ_n)
3. If f > 0: Radial return with AF correction
4. Update λ AFTER stress (timing-consistent)
The return mapping algorithm provides:
Exact stress update (radial return to yield surface)
Implicit treatment of the plastic corrector
Efficient JAX scan implementation for long time series
Critical timing fix: The structure parameter \(\lambda\) is updated AFTER the stress calculation, using the plastic strain rate from the current step. This ensures consistency with the physical picture where structure responds to the applied deformation.
Steady-State Analysis¶
At steady state (d/dt = 0), the flow curve follows from the equilibrium conditions.
Structure balance:
where \(k_1 = 1/\tau_{\text{thix}}\) and \(k_2 = \Gamma\).
Backstress saturation (from \(d\alpha/dt = 0\) at steady state, \(m = 1\)):
Steady-state stress (Dimitriou & McKinley 2014, Eq. 28):
Substituting the structure balance:
This produces the characteristic shear-thinning flow curve:
Low shear rate ( \(\dot{\gamma} \to 0\) ): \(\sigma \to C/\gamma_{dyn} + \sigma_{y,0} + \Delta\sigma_y\) (backstress + structured yield stress)
High shear rate ( \(\dot{\gamma} \to \infty\) ): \(\sigma \to C/\gamma_{dyn} + \sigma_{y,0} + \eta_\infty \dot{\gamma}\) (backstress + linear viscous)
Governing Equations¶
The complete MIKH system comprises three coupled ODEs (see Mathematical Formulation for details):
With plastic flow rate:
Validity and Assumptions¶
Valid for:
Thixotropic elasto-viscoplastic fluids: Waxy crude oils, drilling muds, greases, structured emulsions
Materials with Bauschinger effect: Easier reverse flow after forward loading
Yield stress evolution: Rest-time dependent yield stress
Moderate shear rates: Below onset of turbulence or flow instabilities
Assumptions:
Single structural parameter \(\lambda\): One-dimensional structure kinetics (no multi-scale structure)
Isotropic yielding: von Mises-like yield criterion (no anisotropy)
Affine deformation: No spatial gradients (homogeneous flow)
Incompressible: No density changes
Isothermal: No temperature effects
Not appropriate for:
Multi-timescale thixotropy: Use Multi-Lambda Isotropic-Kinematic Hardening (ML-IKH) instead
Shear banding: Requires spatial extension (1D or 2D)
Viscoelastic effects dominating over plasticity: Use Maxwell or Oldroyd-B models
High-frequency oscillations: Limited by quasi-static assumption
What You Can Learn¶
From fitting Modified IKH to experimental data, you can extract insights about thixotropy, kinematic hardening (Bauschinger effect), and structural evolution in elasto-viscoplastic materials.
Parameter Interpretation¶
- \(\lambda\) (Structure Parameter):
Dimensionless internal variable (\(0 \leq \lambda \leq 1\)) quantifying microstructural integrity. For graduate students: \(\lambda\) represents fraction of intact bonds/aggregates. Evolution: \(d\lambda/dt = (1 - \lambda)/\tau_{\text{thix}} - \Gamma \lambda |\dot{\gamma}^p|\). At steady state: \(\lambda_{\text{ss}} = 1/(1 + \Gamma \tau_{\text{thix}} |\dot{\gamma}|)\). Couples to yield stress via \(\sigma_y(\lambda) = \sigma_{y,0} + \Delta\sigma_y \cdot \lambda\), capturing aging-induced hardening. For practitioners: \(\lambda = 1\) (fully aged, maximum strength) vs \(\lambda = 0\) (fully broken down, minimum strength). Measure indirectly via yield stress recovery tests. Materials with long \(\tau_{\text{thix}}\) retain flow history.
- \(\alpha\) (Kinematic Backstress):
Internal stress representing directional anisotropy from flow-induced microstructure. For graduate students: Armstrong-Frederick kinematic hardening: \(d\alpha/dt = C \cdot \dot{\gamma}^p - \gamma_{\text{dyn}} |\alpha|^{m-1} \alpha |\dot{\gamma}^p|\). Produces Bauschinger effect (easier reverse yielding). At steady state: \(\alpha_{\text{ss}} = C / \gamma_{\text{dyn}}\). Ratio \((\sigma_y - 2\alpha_{\text{ss}}) / \sigma_y\) quantifies asymmetry. For practitioners: Measure via reverse flow tests. High \(C\) leads to strong directional memory, pronounced Bauschinger effect. Typical for waxy crude oils, fiber suspensions.
- \(\tau_{\text{thix}}\) (Thixotropic Rebuilding Time):
Timescale for structural recovery at rest. For graduate students: First-order kinetics for aging: \(\lambda \to 1\) with time constant \(\tau_{\text{thix}}\). Sets width of hysteresis loops in up-down flow ramps. For thermally-activated processes, \(\tau_{\text{thix}} \sim \tau_0 \exp(\Delta E_{\text{build}} / k_B T)\). For practitioners: Extract from rest-time dependent startup tests or step-strain recovery. Fast aging (\(\tau_{\text{thix}} < 10\) s) vs slow aging (\(\tau_{\text{thix}} > 100\) s). Critical for pumping restart protocols.
- \(\Gamma\) (Breakdown Coefficient):
Efficiency of shear-induced destructuring (units: inverse shear rate). For graduate students: Controls shear-thinning: \(\lambda_{\text{ss}} = 1/(1 + \Gamma \tau_{\text{thix}} |\dot{\gamma}|)\). High \(\Gamma\) means rapid breakdown, low \(\Gamma\) means persistent structure. Connects to flow curve via \(\sigma_{\text{ss}}(\dot{\gamma}) = \sigma_{y,0} + \Delta\sigma_y / (1 + \Gamma \tau_{\text{thix}} |\dot{\gamma}|) + \eta_\infty |\dot{\gamma}|\). For practitioners: Fit from flow curve curvature. \(\Gamma \tau_{\text{thix}} \sim 1\) at characteristic shear rate where structure is half-broken.
- C, \(\gamma_{\text{dyn}}\) , m (Kinematic Hardening Parameters):
Control backstress evolution and Bauschinger effect magnitude. For graduate students: \(C\) is hardening modulus, \(\gamma_{\text{dyn}}\) is dynamic recovery rate, \(m\) is recovery exponent (\(m = 1\) linear, \(m > 1\) nonlinear). Armstrong-Frederick model with \(m = 1\) widely used. Steady \(\alpha_{\text{ss}} = C / \gamma_{\text{dyn}}\) independent of \(m\). For practitioners: Identify from cyclic loading or reverse flow tests. \(C / \gamma_{\text{dyn}}\) sets saturation backstress (typ. 10-50% of \(\sigma_y\)).
Material Classification¶
Parameter Range |
Material Behavior |
Typical Materials |
Processing Implications |
|---|---|---|---|
\(\tau_{\text{thix}} < 10\) s, \(\Gamma \tau_{\text{thix}} < 1\) |
Fast aging, weak shear-thinning |
Soft gels, cosmetics, paints |
Rapid recovery, moderate thixotropy |
\(\tau_{\text{thix}} = 10\text{--}100\) s, \(\Gamma \tau_{\text{thix}} = 1\text{--}10\) |
Moderate aging, strong shear-thinning |
Drilling muds, greases, emulsions |
Pronounced thixotropy, history-dependent |
\(\tau_{\text{thix}} > 100\) s, \(\Gamma \tau_{\text{thix}} > 10\) |
Slow aging, extreme shear-thinning |
Waxy crude oils, cement pastes |
Long memory, pumping challenges |
\(C / \gamma_{\text{dyn}} < 0.1 \sigma_y\) |
Weak Bauschinger effect |
Isotropic gels, simple colloids |
Symmetric yielding |
\(C / \gamma_{\text{dyn}} > 0.3 \sigma_y\) |
Strong Bauschinger effect |
Waxy crude oils, fiber suspensions |
Directional flow history, asymmetric yielding |
Connection to SAOS: \(G \approx G'\) (storage modulus) at high frequency
5. Stress Overshoot Magnitude
Overshoot ratio: \((\sigma_{\max} - \sigma_{\text{ss}}) / \sigma_{\text{ss}}\)
Controlled by interplay of \(G\), \(C\), and \(\lambda_0\) (initial structure)
Physical signature: Thixotropic materials show overshoot; purely viscoplastic do not
6. Yield Stress Aging
Time dependence: \(\sigma_y(t_{\text{rest}}) = \sigma_{y,0} + \Delta\sigma_y \cdot (1 - \exp(-t_{\text{rest}} / \tau_{\text{thix}}))\)
Aging rate: \(1 / \tau_{\text{thix}}\)
Maximum recoverable yield stress: \(\sigma_{y,0} + \Delta\sigma_y\)
Dimensionless Groups¶
The model behavior can be characterized by several dimensionless numbers:
Weissenberg Number (Wi):
Ratio of shear rate to structure buildup rate. \(\text{Wi} \gg 1\) means structure breaks down faster than it recovers (destructured regime).
Deborah Number (De):
Ratio of relaxation time to experimental time scale. \(\text{De} \gg 1\) means elastic response dominates; \(\text{De} \ll 1\) means viscous response dominates.
Bingham Number (Bi):
Ratio of yield stress to viscous stress. \(\text{Bi} \gg 1\) means yield-dominated; \(\text{Bi} \ll 1\) means viscous-dominated.
Structure Number (Sn):
Relative efficiency of breakdown versus buildup. \(\text{Sn} \gg 1\) means structure breaks down efficiently under shear.
Industrial Applications¶
The MIKH model was developed for and validated against industrial thixotropic materials. This section provides application-specific guidance with typical parameter ranges from field studies and laboratory characterization.
Waxy Crude Oil Pipeline Operations¶
The MIKH model was originally developed for waxy crude oils (Dimitriou & McKinley 2014), making it the reference model for pipeline flow assurance applications.
Pipeline Restart After Shutdown:
When a pipeline shuts down, wax precipitates and forms a gel network. Key parameter ranges from field applications:
\(\tau_{\text{thix}}\) = 100–10,000 s: Long aging times for gelled pipelines
\(\sigma_{y,0} + \Delta\sigma_y\) = 50–500 Pa: Gel strength depends on cooling rate and rest time
\(\Gamma \cdot \tau_{\text{thix}}\) > 10: Extreme shear-thinning for pipeline restart
Engineering implications:
Restart pressure scales with \(\sigma_y(t_{\text{rest}})\) where \(t_{\text{rest}}\) can span hours to days
Monitor thermokinematic memory (FIKH framework) for temperature-cycled systems
Stress overshoot during restart indicates incomplete gel breakdown
Cold Flow Assurance:
For subsea pipelines below wax appearance temperature (WAT):
Continuous low-shear flow prevents complete gelation
Target operating shear rate: \(\dot{\gamma} > 1/(\Gamma \cdot \tau_{\text{thix}})\) to maintain destructured state
Thermal cycling protocols require FIKH framework with temperature-dependent \(\phi\)
Drilling Fluids and Muds¶
Water-based drilling fluids exhibit pronounced IKH behavior due to clay platelet aggregation and polymer interactions.
Typical parameter ranges:
\(\tau_{\text{thix}}\) = 1–100 s: Faster recovery than crude oils due to smaller particles
\(\sigma_{y,0}\) = 5–15 Pa: API barite suspension requirements for cutting transport
\(C/\gamma_{\text{dyn}} \approx 0.1\text{--}0.3\,\sigma_y\): Moderate Bauschinger effect from clay orientation
Borehole Stability:
Gel strength must exceed cutting particle buoyancy: \(\sigma_y > \Delta\rho \cdot g \cdot d_{\text{particle}}\)
Thixotropic recovery prevents fluid loss into formation during connections
API 6rpm/300rpm readings map to MIKH parameters via flow curve fitting
Pump Circulation Restart:
After pipe connections or trips:
Initial startup pressure \(\propto \sigma_y(t_{\text{connection}})\) where \(t_{\text{connection}} \sim 30\text{--}300\) s
Stress overshoot magnitude indicates gel breakdown efficiency
Design pumping rate to achieve \(\dot{\gamma} > 1/(\Gamma \cdot \tau_{\text{thix}})\) throughout annulus
Greases and Lubricants¶
Grease consistency (NLGI grades) correlates with MIKH parameters through the yield stress and thixotropic timescales.
NLGI Grade Correlation:
NLGI Grade |
Application |
\(\sigma_y\) (Pa) |
\(\tau_thix\) (s) |
|---|---|---|---|
000-00 |
Centralized systems |
50-150 |
1-10 |
0-1 |
Enclosed gears |
100-300 |
5-30 |
2 |
General purpose |
200-500 |
10-100 |
3-6 |
High-consistency |
400-2000 |
50-500 |
Bearing Startup Applications:
Stress overshoot magnitude indicates grease breakdown risk under initial loading
Kinematic hardening (C parameter) critical for reversing loads in oscillating bearings
Channeling behavior: permanent structure breakdown when \(\dot{\gamma}\) peak > critical value
Kinematic Hardening in Reversing Loads:
The Bauschinger effect (controlled by \(C / \gamma_{\text{dyn}}\) ratio) is particularly important for greases in oscillating applications:
# Reverse flow simulation for oscillating bearing
model = MIKH()
model.parameters.set_value("C", 100.0) # Kinematic hardening
model.parameters.set_value("gamma_dyn", 5.0) # Recovery rate
# Backstress saturation: α_max = C/γ_dyn = 20 Pa
# Simulate LAOS to observe Bauschinger effect
sigma_laos = model.predict_laos(t, gamma_0=0.5, omega=1.0)
Thixotropic Cements and Pastes¶
Cementitious materials exhibit structure evolution from early hydration and particle flocculation.
Pumping and Placement:
\(\tau_{\text{thix}}\) = 10–1000 s: Depending on formulation and admixtures
Structure recovery must match placement window for self-leveling vs. vertical stability
High \(\Gamma\) values enable rapid breakdown for pumping, but may compromise build-up
Self-Leveling vs. Non-Sag Behavior:
Application |
Parameter Requirement |
Physical Interpretation |
|---|---|---|
Self-leveling floors |
Low \(\tau_{\text{thix}}\), high \(\Gamma\) |
Fast breakdown, moderate recovery |
Vertical surfaces |
High \(\tau_{\text{thix}}\), moderate \(\Gamma\) |
Slow breakdown, strong recovery |
3D printing |
Very high \(\sigma_{y,0} + \Delta\sigma_y\) |
Immediate yield on deposition |
Yield Stress Aging for Formwork Removal:
The time-dependent yield stress evolution determines safe formwork removal:
For critical structural applications, \(\tau_{\text{thix}}\) must be characterized at the curing temperature to predict strength development.
Parameters¶
Parameter |
Symbol |
Units |
Description |
|---|---|---|---|
|
G |
Pa |
Elastic shear modulus. Controls initial stiffness and stress overshoot amplitude. Typical range: \(10^2 - 10^6\) Pa for structured fluids. |
|
\(\eta\) |
Pa·s |
Maxwell viscosity. Relaxation time \(\tau = \eta / G\). Large values = elastic solid. Setting \(\eta \to \infty\) recovers rate-independent plasticity. |
|
C |
Pa |
Kinematic hardening modulus. Controls backstress buildup rate. Larger C = stronger Bauschinger effect. |
|
\(\gamma_{\text{dyn}}\) |
– |
Dynamic recovery parameter. Limits backstress saturation. Saturation: \(\alpha_{\max} = C / \gamma_{\text{dyn}}\). |
|
\(m\) |
– |
AF exponent (typically 1.0). Controls nonlinearity of recovery. \(m = 1\): linear AF; \(m > 1\): accelerated recovery at high \(\alpha\). |
|
\(\sigma_{y0}\) |
Pa |
Minimal yield stress (fully destructured state, \(\lambda = 0\)). This is the “static” yield stress after prolonged shearing. |
|
\(\Delta\sigma_y\) |
Pa |
Structural yield stress contribution. \(\sigma_{y,\max} = \sigma_{y0} + \Delta\sigma_y\) when \(\lambda = 1\). Controls strength of aging effect. |
|
\(\tau_{\text{thix}}\) |
s |
Thixotropic rebuilding time. Time for structure recovery at rest. Typical: \(10^{-1}\) – \(10^4\) s depending on material. |
|
\(\Gamma\) |
– |
Breakdown coefficient. Efficiency of shear-induced destructuring. Higher \(\Gamma\) = faster breakdown under shear. |
|
\(\eta_{\infty}\) |
Pa·s |
High-shear viscosity (solvent contribution). Dominates at high shear rates where structure is destroyed. |
|
\(\mu_p\) |
Pa·s |
Plastic viscosity (Perzyna regularization parameter). Small \(\mu_p\) = sharp yield; large \(\mu_p\) = smoothed transition. |
Fitting Guidance¶
Initialization Strategy¶
Flow curve first: Fit \(\sigma_{y0}\), \(\Delta\sigma_y\), \(\tau_{\text{thix}}\), \(\Gamma\), \(\eta_\infty\) from steady-state data
Startup second: Fix flow curve params, fit \(G\), \(C\), \(\gamma_{\text{dyn}}\) from transient
Relaxation/creep: Fine-tune \(\eta\) (Maxwell viscosity)
Protocol Selection¶
Protocol |
Best for |
|---|---|
|
Steady-state parameters (\(\sigma_{y0}\), \(\Delta\sigma_y\), \(\eta_\infty\)) |
|
Elasticity (\(G\)) and hardening (\(C\), \(\gamma_{\text{dyn}}\)) |
|
Maxwell viscosity (\(\eta\)) |
|
Combined viscoelastic-plastic response |
|
Full nonlinear characterization |
Troubleshooting¶
Issue |
Solution |
|---|---|
Poor flow curve fit |
Check \(\sigma_{y0}\) initialization; ensure \(\dot{\gamma}\) range spans structure transition |
No stress overshoot |
Increase \(G\) or decrease \(\Gamma\) (maintain structure during startup) |
Overshoot too sharp |
Increase \(\mu_p\) (plastic viscosity regularization) |
No Bauschinger effect |
Increase \(C\) (hardening) or decrease \(\gamma_{\text{dyn}}\) (less recovery) |
Stress doesn’t relax |
Decrease \(\eta\) (Maxwell viscosity); check \(\tau = \eta / G\) vs experiment time |
Parameter Estimation Methods¶
The MIKH model’s 11 parameters span different experimental timescales and phenomena. Advanced estimation methods improve identifiability and uncertainty quantification beyond basic curve fitting.
Sequential Fitting Strategy¶
A sequential approach exploits the separation of timescales in the MIKH model to improve parameter identifiability:
Stage 1: Flow Curve (Steady State)
From flow curve data \(\sigma(\dot{\gamma})\), fit the steady-state parameters:
\(\sigma_{y,0}\), \(\Delta\sigma_y\) (yield stress bounds)
\(\eta_\infty\) (high-shear viscosity)
\(\Gamma \cdot \tau_{\text{thix}}\) product (controls shear-thinning curvature)
from rheojax.models import MIKH
model = MIKH()
# Fix elastic/hardening params, fit thixotropic
model.parameters.freeze(['G', 'C', 'gamma_dyn', 'eta', 'mu_p'])
model.fit(gamma_dot, sigma_ss, test_mode='flow_curve')
# Extract fitted values
sigma_y0_fit = model.parameters.get_value('sigma_y0')
delta_sigma_y_fit = model.parameters.get_value('delta_sigma_y')
Stage 2: Startup Transients
From startup stress overshoot \(\sigma(t; \dot{\gamma}_0)\), fit:
\(G\) (controls initial slope and overshoot magnitude)
\(C\), \(\gamma_{\text{dyn}}\) (kinematic hardening, Bauschinger effect)
\(\tau_{\text{thix}}\) (recovery timescale, now separated from \(\Gamma\))
# Unfreeze elastic/hardening parameters
model.parameters.unfreeze(['G', 'C', 'gamma_dyn'])
# Fit startup data with flow curve params fixed
model.fit(t_startup, sigma_startup, test_mode='startup')
Stage 3: Relaxation/Creep
From stress relaxation \(\sigma(t)|_{\gamma=\text{const}}\), fit:
\(\eta\) (Maxwell viscosity, determines \(\tau_{\text{relax}} = \eta / G\))
\(\mu_p\) (Perzyna regularization, yield transition sharpness)
model.parameters.unfreeze(['eta', 'mu_p'])
model.fit(t_relax, sigma_relax, test_mode='relaxation')
Multi-Start Global Optimization¶
For datasets spanning wide parameter ranges or with multiple local minima, use multi-start optimization:
# Multi-start with parallel execution
model.fit(
X, y,
use_multi_start=True,
n_starts=5, # Number of random initializations
parallel=True # ThreadPoolExecutor for 3-5x speedup
)
When to use multi-start:
Flow curves spanning >3 decades of shear rate
Combined protocol fitting (flow + startup + relaxation)
Initial fits show residual structure (systematic over/under-prediction)
Materials with unusual parameter combinations (e.g., very high \(\tau_{\text{thix}}\))
Global optimization for multi-modal problems:
from rheojax.utils.optimization import nlsq_optimize_global
# Global search for challenging parameter landscapes
result = nlsq_optimize_global(
objective_fn,
initial_params,
bounds=param_bounds
)
Bayesian Inference with MCMC¶
For uncertainty quantification, use NumPyro NUTS with NLSQ warm-start:
# Stage 1: Point estimate (fast, provides good initialization)
model.fit(X, y, test_mode='startup')
# Stage 2: Bayesian inference (4 chains for reliable R-hat)
result = model.fit_bayesian(
X, y,
num_warmup=1000,
num_samples=2000,
num_chains=4, # Production: 4 chains for R-hat diagnostics
seed=42 # Reproducibility
)
# Check convergence diagnostics
print(f"R-hat: {result.r_hat}") # Target: <1.01
print(f"ESS: {result.ess}") # Target: >400
Prior Selection Guidance:
The choice of priors significantly affects Bayesian inference for the MIKH model:
Parameter |
Recommended Prior |
Rationale |
|---|---|---|
\(\tau_{\text{thix}}\) |
LogNormal(\(\mu = \log(10)\), \(\sigma = 1\)) |
Spans 1–100 s; positive, heavy-tailed |
\(\Gamma\) |
HalfNormal(\(\sigma = 10\)) |
Positive breakdown coefficient |
\(\sigma_{y,0}\), \(\Delta\sigma_y\) |
TruncatedNormal or Uniform |
Material-dependent bounds |
\(G\) |
LogNormal(\(\mu = \log(1000)\), \(\sigma = 1\)) |
Typical modulus range for soft materials |
\(C / \gamma_{\text{dyn}}\) ratio |
LogNormal(\(\mu = \log(10)\), \(\sigma = 0.5\)) |
Backstress saturation constraint |
Regularization for Ill-Conditioned Problems¶
When parameters are correlated (common for \(G\)-\(C\), \(\tau_{\text{thix}}\)-\(\Gamma\) pairs), use:
1. Tikhonov Regularization:
Add penalty \(\lambda \|\theta\|^2\) to objective function to stabilize optimization:
from rheojax.utils.optimization import nlsq_curve_fit
result = nlsq_curve_fit(
model_fn, x, y, params,
regularization='tikhonov',
lambda_reg=1e-4 # Regularization strength
)
2. Bounds Tightening:
Physically constrain parameter ranges based on material knowledge:
# Constrain based on material class
model.parameters.set_bounds('tau_thix', (1.0, 1000.0)) # Drilling fluid
model.parameters.set_bounds('sigma_y0', (5.0, 50.0)) # API spec range
3. Combined Protocol Fitting:
Fitting multiple test modes simultaneously reduces parameter correlation by providing orthogonal constraints:
# Combined protocol fitting (pseudo-code pattern)
# Concatenate datasets with appropriate weighting
X_combined = combine_protocols(flow_data, startup_data)
weights = [1.0, 2.0] # Emphasize transient data
model.fit(X_combined, y_combined, weights=weights)
Sensitivity Analysis¶
Identify which parameters most influence predictions to guide experimental design:
Local Sensitivity (Jacobian-based):
import jax
import jax.numpy as jnp
def compute_sensitivity(model, X, param_names):
"""Compute local parameter sensitivities."""
def prediction_fn(param_values):
for name, val in zip(param_names, param_values):
model.parameters.set_value(name, val)
return model.predict(X)
# Get current parameter values
param_values = jnp.array([
model.parameters.get_value(name) for name in param_names
])
# Compute Jacobian: ∂σ/∂θ
jacobian = jax.jacobian(prediction_fn)(param_values)
return jacobian
Sensitivity interpretation:
High sensitivity: Parameter strongly influences predictions (well-constrained by data)
Low sensitivity: Parameter weakly influences predictions (may be poorly identifiable)
Correlated sensitivities: Parameters are coupled (consider reparameterization)
Practical recommendations:
Compute sensitivities at the fitted parameter values
Focus experimental design on regimes where target parameters have high sensitivity
For \(\tau_{\text{thix}}\): use startup/recovery data at \(t \sim \tau_{\text{thix}}\)
For \(G\): use early-time startup data (\(t \ll \tau_{\text{thix}}\))
For \(\Gamma\): use flow curve data near \(\dot{\gamma} \sim 1/(\Gamma \cdot \tau_{\text{thix}})\)
Usage¶
The MIKH model is available via:
from rheojax.models import MIKH
Common workflows:
Flow curve fitting: Determine \(\sigma_{y0}\), \(\Delta\sigma_y\), \(\eta_\infty\) from steady-state data
Startup fitting: Extract \(G\), \(C\), \(\gamma_{\text{dyn}}\) from transient stress overshoot
Creep/relaxation: Constrain \(\eta\) (Maxwell viscosity) and \(\mu_p\) (plastic viscosity)
Bayesian inference: Quantify uncertainty in thixotropic timescales
Integration with Pipeline:
from rheojax.pipeline import Pipeline
# Fluent API for complete workflow
(Pipeline()
.load('startup_data.csv', x_col='time', y_col='stress')
.fit_nlsq('mikh', test_mode='startup')
.fit_bayesian(num_samples=2000)
.plot_trace()
.save('mikh_results.hdf5'))
Usage Examples¶
Basic Usage¶
import numpy as np
from rheojax.models import MIKH
# Initialize model
model = MIKH()
# Set parameters
model.parameters.set_value("G", 1000.0)
model.parameters.set_value("sigma_y0", 20.0)
model.parameters.set_value("eta_inf", 0.1)
Flow Curve¶
# Predict steady-state flow curve
gamma_dot = np.logspace(-2, 2, 50)
sigma = model.predict_flow_curve(gamma_dot)
Startup Shear¶
# Predict startup response
t = np.linspace(0, 10, 200)
sigma_startup = model.predict_startup(t, gamma_dot=1.0)
Stress Relaxation¶
# Predict relaxation from initial stress
t = np.linspace(0, 100, 200)
sigma_relax = model.predict_relaxation(t, sigma_0=100.0)
Creep¶
# Predict creep under constant stress
t = np.linspace(0, 100, 200)
strain = model.predict_creep(t, sigma_applied=50.0)
LAOS¶
# Large amplitude oscillatory shear
t = np.linspace(0, 20, 500)
sigma_laos = model.predict_laos(t, gamma_0=1.0, omega=1.0)
Fitting¶
# Fit to experimental data
model.fit(gamma_dot, sigma_data, test_mode='flow_curve')
# Bayesian inference with NLSQ warm-start
result = model.fit_bayesian(
X_data, sigma_data,
num_warmup=1000, num_samples=2000,
test_mode='startup'
)
Relation to Other Models¶
Model |
Relationship to MIKH |
|---|---|
Herschel-Bulkley |
MIKH reduces to HB at steady state without kinematic hardening (\(C = 0\)) and with power-law \(\eta_\infty\) |
Saramito EVP |
Similar framework but without kinematic hardening; uses Oldroyd-B instead of Maxwell for viscoelasticity |
de Souza Mendes TEvp |
Different structure kinetics formulation; uses viscosity-based approach rather than yield stress |
Multi-mode extension with N parallel structural elements |
References¶
See Also¶
Multi-Lambda Isotropic-Kinematic Hardening (ML-IKH) — Multi-mode extension for distributed thixotropic timescales
/models/dmt/dmt_local — Alternative thixotropic formulation (de Souza Mendes-Thompson)
/models/fluidity/saramito — Fluidity-Saramito EVP models with thixotropy
Section 3: Advanced Topics (Weeks 7-12) — Advanced thixotropic modeling workflows