TNT Multi-Species (Multiple Bond Types) — Handbook

Quick Reference

Use When

The TNT Multi-Species model is appropriate for network materials containing multiple distinct bond types with different relaxation timescales:

  • Dual-crosslinked hydrogels (physical + chemical crosslinks)

  • Interpenetrating polymer networks (IPNs)

  • Heterogeneous biological networks (fibrin + collagen, actin + intermediate filaments)

  • Multi-strength supramolecular assemblies (hydrogen bonds + hydrophobic interactions)

  • Hierarchical networks with discrete energy barriers

  • Reversible networks with multiple association strengths

Key diagnostic: Multiple distinct relaxation peaks in \(G''(\omega)\) or multi-modal relaxation spectrum.

Parameters

The model requires \(2N + 1\) parameters for \(N\) bond species:

Symbol

Typical Value

Units

Description

\(G_i\)

\(10^2\) to \(10^5\)

Pa

Modulus contribution from species \(i\)

\(\tau_{b,i}\)

\(10^{-3}\) to \(10^3\)

s

Bond lifetime of species \(i\)

\(\eta_s\)

0.0 to \(10^{-2}\)

Pa·s

Solvent viscosity (background)

\(N\)

2 to 5

dimensionless

Number of bond species (constructor argument)

Total parameters: \(2N + 1\) (e.g., 5 for \(N=2\), 11 for \(N=5\))

Key Equation

Each bond species evolves independently:

\[\frac{d\mathbf{S}_i}{dt} = \boldsymbol{\kappa} \cdot \mathbf{S}_i + \mathbf{S}_i \cdot \boldsymbol{\kappa}^T - \frac{1}{\tau_{b,i}} (\mathbf{S}_i - \mathbf{I})\]

Total stress is the superposition of all species contributions:

\[\boldsymbol{\sigma} = \sum_{i=1}^{N} G_i (\mathbf{S}_i - \mathbf{I}) + 2\eta_s \mathbf{D}\]

where \(\mathbf{S}_i\) is the conformation tensor for species \(i\), \(\boldsymbol{\kappa}\) is the velocity gradient tensor, and \(\mathbf{D}\) is the rate-of-strain tensor.

Supported Test Modes

All six rheological protocols are supported:

  1. FLOW_CURVE: Steady shear viscosity \(\eta(\dot{\gamma})\)

  2. OSCILLATION: SAOS moduli \(G'(\omega)\), \(G''(\omega)\)

  3. STARTUP: Stress growth \(\sigma^+(t, \dot{\gamma})\)

  4. CREEP: Strain response \(\gamma(t, \sigma_0)\)

  5. RELAXATION: Stress relaxation \(G(t)\) (analytical)

  6. LAOS: Large amplitude oscillatory shear

Material Examples

Dual-Crosslinked Hydrogels:
  • Fast species: hydrogen bonds (\(\tau_{b,1} \sim 0.01\) s)

  • Slow species: covalent crosslinks (\(\tau_{b,2} \sim 100\) s)

  • Example: Alginate-polyacrylamide (Sun et al. 2012)

Biological Networks:
  • Species 1: Fibrin (\(\tau_{b,1} \sim 0.1\) s)

  • Species 2: Collagen (\(\tau_{b,2} \sim 10\) s)

  • Interpenetrating structure in blood clots

Supramolecular Networks:
  • Fast species: H-bonds (\(\tau_{b,1} \sim 0.001\) s)

  • Medium: Hydrophobic (\(\tau_{b,2} \sim 1\) s)

  • Slow: Ionic (\(\tau_{b,3} \sim 100\) s)

Key Characteristics

  • Multi-modal relaxation: Discrete peaks at \(\omega_i = 1/\tau_{b,i}\)

  • Broad relaxation spectrum: From discrete bond types, not distribution

  • Superposition principle: Total response = sum of Maxwell modes

  • Physical interpretation: Each mode corresponds to a specific bond type

  • Network equivalence: Mathematically equivalent to Generalized Maxwell, but with network interpretation

Notation Guide

Primary Variables

Symbol

Definition

\(\mathbf{S}_i\)

Conformation tensor for species \(i\) (dimensionless, 3x3 symmetric)

\(S_{xx,i}, S_{yy,i}, S_{zz,i}\)

Normal components of conformation tensor for species \(i\)

\(S_{xy,i}\)

Shear component of conformation tensor for species \(i\)

\(\boldsymbol{\sigma}\)

Total Cauchy stress tensor (Pa, 3x3 symmetric)

\(\boldsymbol{\kappa}\)

Velocity gradient tensor (1/s, 3x3)

Parameters and Constants

Symbol

Definition

\(N\)

Number of distinct bond species (integer \(\geq 2\))

\(G_i\)

Elastic modulus contribution from species \(i\) (Pa)

\(\tau_{b,i}\)

Bond lifetime for species \(i\) (s)

\(\eta_s\)

Solvent viscosity (Pa·s)

\(\mathbf{I}\)

Identity tensor (3x3)

\(\mathbf{D}\)

Rate-of-strain tensor: \(\mathbf{D} = (\boldsymbol{\kappa} + \boldsymbol{\kappa}^T)/2\)

Derived Quantities

Symbol

Definition

\(G_{\text{total}}\)

Total plateau modulus: \(G_{\text{total}} = \sum_{i=1}^{N} G_i\)

\(\lambda_i\)

Relaxation time: \(\lambda_i = \tau_{b,i}\) (equivalent for single-mode TNT)

\(\eta_i\)

Viscosity contribution: \(\eta_i = G_i \tau_{b,i}\)

\(\eta_0\)

Zero-shear viscosity: \(\eta_0 = \sum_{i=1}^{N} G_i \tau_{b,i} + \eta_s\)

\(\omega_i\)

Characteristic frequency: \(\omega_i = 1/\tau_{b,i}\)

Protocol-Specific Variables

Symbol

Definition

\(\dot{\gamma}\)

Shear rate (1/s, for flow curve and startup)

\(\omega\)

Angular frequency (rad/s, for oscillation)

\(\gamma_0\)

Strain amplitude (dimensionless, for LAOS)

\(\sigma_0\)

Applied stress (Pa, for creep)

\(G'(\omega)\)

Storage modulus (Pa, oscillation)

\(G''(\omega)\)

Loss modulus (Pa, oscillation)

\(G(t)\)

Relaxation modulus (Pa, relaxation)

Overview

Conceptual Foundation

The TNT Multi-Species model extends the single-mode Tanaka-Edwards transient network theory to materials with multiple distinct bond types. Unlike the Generalized Maxwell model (which uses empirical mode decomposition), this model assigns a physical interpretation to each mode: a chemically distinct bond population with its own modulus \(G_i\) and lifetime \(\tau_{b,i}\).

Physical picture:

  • Each bond type (species) forms an independent transient network

  • Species do not interconvert or couple during deformation

  • Each species has its own energy barrier for bond breakage, yielding distinct \(\tau_{b,i}\)

  • Total stress is the additive superposition of species contributions

  • Mathematically equivalent to multi-mode Maxwell, but with network interpretation

Relationship to Other Models

Generalized Maxwell:
  • Identical mathematics for linear response (SAOS, relaxation)

  • Different interpretation: TNT assigns physical meaning to each mode

  • Nonlinear regime: TNT includes conformation evolution; GMM is linear only

Single-Mode Tanaka-Edwards:
  • Special case: \(N=1\) reduces to base TNT

  • Extension: Multi-species adds independent bond populations

Sticky Rouse:
  • Different physics: Sticky Rouse has distributed lifetimes (Rouse modes)

  • Multi-species: Discrete lifetimes from distinct bond types

Loop-Bridge Model:
  • Coupling: Loop-Bridge has inter-species conversion (loop to bridge)

  • Multi-species: No coupling, independent evolution

Physical Foundations

Multiple Bond Types

Real network materials often contain chemically distinct bond types:

Hydrogen Bonds:
  • Typical \(E_a \sim 10\) to 30 kJ/mol

  • Lifetime \(\tau_b \sim 10^{-3}\) to \(10^{-1}\) s at room temperature

  • Common in protein gels, synthetic polymers with H-bonding groups

Hydrophobic Interactions:
  • Typical \(E_a \sim 20\) to 50 kJ/mol

  • Lifetime \(\tau_b \sim 0.1\) to 10 s

  • Entropy-driven, temperature-sensitive

Ionic Bonds:
  • Typical \(E_a \sim 30\) to 80 kJ/mol

  • Lifetime \(\tau_b \sim 1\) to \(10^3\) s

  • Strong dependence on ionic strength

Covalent Crosslinks:
  • Typical \(E_a > 150\) kJ/mol

  • Lifetime \(\tau_b \to \infty\) (permanent on experimental timescales)

  • Provides long-time elasticity

Each bond type has a different energy landscape, yielding different Arrhenius factor:

\[\tau_{b,i} = \tau_0 \exp\left(\frac{E_{a,i}}{k_B T}\right)\]

Independent Evolution

The model assumes no coupling between species:

  • No conversion: Bonds of type 1 do not convert to type 2

  • No cooperative breaking: Breaking of one species does not affect others

  • Independent kinetics: Each species obeys its own relaxation equation

  • Additive stress: Total stress = sum of species contributions (linear superposition)

This is valid when:

  1. Bond types are chemically distinct (different functional groups)

  2. Timescale separation is sufficient (\(\tau_{b,i}/\tau_{b,j} > 10\))

  3. No synergistic effects (e.g., one bond type does not stabilize another)

  4. Mean-field applies per species (high bond density within each type)

Stress Additivity

Total stress is the sum of contributions from each species:

\[\boldsymbol{\sigma}_{\text{total}} = \sum_{i=1}^{N} \boldsymbol{\sigma}_i + \boldsymbol{\sigma}_{\text{solvent}}\]

where:

\[ \begin{align}\begin{aligned}\boldsymbol{\sigma}_i = G_i (\mathbf{S}_i - \mathbf{I})\\\boldsymbol{\sigma}_{\text{solvent}} = 2\eta_s \mathbf{D}\end{aligned}\end{align} \]

Physical interpretation:

  • \(G_i\) is the modulus from species \(i\) alone (proportional to number density of type-\(i\) bonds)

  • \(\mathbf{S}_i - \mathbf{I}\) is the extra stress from deformation of species \(i\) network

  • No cross-terms between species (independence assumption)

Governing Equations

Per-Species Evolution

Each species evolves according to the Tanaka-Edwards equation independently:

\[\frac{d\mathbf{S}_i}{dt} = \boldsymbol{\kappa} \cdot \mathbf{S}_i + \mathbf{S}_i \cdot \boldsymbol{\kappa}^T - \frac{1}{\tau_{b,i}} (\mathbf{S}_i - \mathbf{I})\]

where:

  • \(\mathbf{S}_i\): Conformation tensor for species \(i\) (3x3 symmetric)

  • \(\boldsymbol{\kappa} = \nabla \mathbf{v}\): Velocity gradient tensor

  • \(\tau_{b,i}\): Bond lifetime for species \(i\)

  • \(\mathbf{I}\): Identity tensor (equilibrium conformation)

Component form (simple shear \(\dot{\gamma}\)):

\[ \begin{align}\begin{aligned}\frac{dS_{xx,i}}{dt} &= 2\dot{\gamma} S_{xy,i} - \frac{1}{\tau_{b,i}}(S_{xx,i} - 1)\\\frac{dS_{yy,i}}{dt} &= -\frac{1}{\tau_{b,i}}(S_{yy,i} - 1)\\\frac{dS_{zz,i}}{dt} &= -\frac{1}{\tau_{b,i}}(S_{zz,i} - 1)\\\frac{dS_{xy,i}}{dt} &= \dot{\gamma} S_{yy,i} - \frac{1}{\tau_{b,i}} S_{xy,i}\end{aligned}\end{align} \]

Total Stress

The total stress tensor is:

\[\boldsymbol{\sigma} = \sum_{i=1}^{N} G_i (\mathbf{S}_i - \mathbf{I}) + 2\eta_s \mathbf{D}\]

For simple shear (measuring \(\sigma_{xy}\)):

\[\sigma(t) = \sum_{i=1}^{N} G_i S_{xy,i}(t) + \eta_s \dot{\gamma}(t)\]

State Vector Representation

For numerical integration, the state is represented as a 4N-dimensional vector:

\[\mathbf{y}(t) = [S_{xx,1}, S_{yy,1}, S_{zz,1}, S_{xy,1}, \ldots, S_{xx,N}, S_{yy,N}, S_{zz,N}, S_{xy,N}]^T\]

This enables efficient vectorization via JAX vmap over species index.

Analytical Solutions: SAOS

For small-amplitude oscillatory shear \(\gamma(t) = \gamma_0 \sin(\omega t)\), the complex modulus is:

\[G^*(\omega) = \sum_{i=1}^{N} \frac{G_i (\omega \tau_{b,i})^2 + i G_i \omega \tau_{b,i}}{1 + (\omega \tau_{b,i})^2} + i\omega\eta_s\]

Storage modulus:

\[G'(\omega) = \sum_{i=1}^{N} \frac{G_i (\omega \tau_{b,i})^2}{1 + (\omega \tau_{b,i})^2}\]

Loss modulus:

\[G''(\omega) = \sum_{i=1}^{N} \frac{G_i \omega \tau_{b,i}}{1 + (\omega \tau_{b,i})^2} + \omega\eta_s\]

Key features:

  • Each species contributes a Maxwell peak at \(\omega_i = 1/\tau_{b,i}\)

  • \(G'(\omega)\) transitions from \(G_{\text{total}}\) (high \(\omega\)) to 0 (low \(\omega\)) through plateaus

  • \(G''(\omega)\) shows \(N\) distinct peaks if \(\tau_{b,i}\) are well-separated

Analytical Solutions: Relaxation

For step strain \(\gamma(t) = \gamma_0 H(t)\) (Heaviside function), the relaxation modulus is:

\[G(t) = \sum_{i=1}^{N} G_i \exp\left(-\frac{t}{\tau_{b,i}}\right)\]

Multi-exponential decay with \(N\) discrete relaxation times.

Analytical Solutions: Flow Curve

For steady simple shear at rate \(\dot{\gamma}\), the steady-state shear stress is:

\[\sigma_{\infty}(\dot{\gamma}) = \sum_{i=1}^{N} \frac{G_i \tau_{b,i} \dot{\gamma}}{1 + (\tau_{b,i} \dot{\gamma})^2} + \eta_s \dot{\gamma}\]

Viscosity:

\[\eta(\dot{\gamma}) = \sum_{i=1}^{N} \frac{G_i \tau_{b,i}}{1 + (\tau_{b,i} \dot{\gamma})^2} + \eta_s\]

Limiting behavior:

  • Zero-shear viscosity: \(\eta_0 = \sum_{i=1}^{N} G_i \tau_{b,i} + \eta_s\)

  • High-shear viscosity: \(\eta_{\infty} = \eta_s\) (all networks relax)

  • Shear thinning: Each species contributes thinning at \(\dot{\gamma}_i \sim 1/\tau_{b,i}\)

Parameter Table

Comprehensive Parameter List

Parameter

Symbol

Typical Range

Units

Description

Species moduli

\(G_i\)

\(10^2\) to \(10^5\)

Pa

Modulus contribution from species \(i\) (\(N\) values)

Species lifetimes

\(\tau_{b,i}\)

\(10^{-3}\) to \(10^3\)

s

Bond lifetime for species \(i\) (\(N\) values)

Solvent viscosity

\(\eta_s\)

0.0 to \(10^{-2}\)

Pa·s

Background Newtonian viscosity (1 value)

Number of species

\(N\)

2 to 5

dimensionless

Number of bond types (constructor argument)

Total parameters: \(2N + 1\)

Parameter Interpretation

Number of Species (N)

Physical meaning:

  • \(N\) = number of chemically distinct bond types

  • Each species represents a different molecular interaction or crosslink

Common cases:

N = 1:
  • Reduces to single-mode Tanaka-Edwards

  • Single bond type (homogeneous network)

N = 2:
  • Most common for dual-crosslinked materials

  • Example: Fast physical + slow chemical crosslinks

N = 3:
  • Triple network or three interaction types

N >= 4:
  • High parameter count (>= 9 parameters)

  • Risk of overfitting without sufficient data

Species Moduli (G_i)

Physical meaning:

  • \(G_i\) is proportional to the number density of type-\(i\) bonds

  • Reflects the strength of species \(i\) contribution to total elasticity

Relative contributions:

\[f_i = \frac{G_i}{\sum_{j=1}^{N} G_j}\]

where \(f_i\) is the fraction of total modulus from species \(i\).

Species Lifetimes (tau_b_i)

Physical meaning:

  • \(\tau_{b,i}\) is the average time before a type-\(i\) bond breaks

  • Inversely related to bond breakage rate: \(k_{\text{break},i} = 1/\tau_{b,i}\)

Timescale separation:

  • Distinct peaks in \(G''(\omega)\) require \(\tau_{b,i}/\tau_{b,j} > 10\)

  • If \(\tau_{b,i}/\tau_{b,j} < 3\), species \(i\) and \(j\) may be indistinguishable

Validity and Assumptions

Core Assumptions

  1. Independent species: - No conversion between bond types - No cooperative breaking or stabilization - Each species evolves according to its own kinetics

  2. Mean-field per species: - High bond density within each type - No spatial correlations between species - Uniform distribution of each bond type

  3. Gaussian chains: - All species obey Gaussian network statistics - Valid for small to moderate deformations - Breaks down for chain stretching (strain > 100 percent)

  4. Constant breakage rate: - \(1/\tau_{b,i}\) independent of stress (affine network) - No stress-assisted bond breaking (unlike Sticky Rouse)

  5. Affine deformation: - Chains deform with the bulk medium - No chain slippage or retraction

Regimes

Frequency Regimes (SAOS)

High frequency (\(\omega \gg 1/\tau_{b,\text{min}}\)):
  • All species are elastic (no relaxation)

  • \(G'(\omega) \approx \sum_{i=1}^{N} G_i = G_{\text{total}}\)

  • \(G''(\omega) \approx \omega \eta_s\) (if \(\eta_s > 0\))

Intermediate frequency (\(1/\tau_{b,i} < \omega < 1/\tau_{b,i-1}\)):
  • Slowest \(i\) species have relaxed, faster species still elastic

  • \(G'(\omega) \approx \sum_{j=i}^{N} G_j\) (partial sum)

  • \(G''(\omega)\) shows local minimum between peaks

Low frequency (\(\omega \ll 1/\tau_{b,\text{max}}\)):
  • All species have relaxed (if all bonds are transient)

  • \(G'(\omega) \sim \omega^2\), \(G''(\omega) \sim \omega\) (terminal regime)

  • \(\eta_0 = \sum_{i=1}^{N} G_i \tau_{b,i} + \eta_s\)

What You Can Learn

Structural Information

Number of bond types:
  • \(N\) determined from number of distinct peaks in \(G''(\omega)\)

  • Requires wide frequency range (3+ decades)

Bond population fractions:
  • \(f_i = G_i / G_{\text{total}}\) quantifies relative importance

  • Dominant species (\(f_i > 0.5\)) controls long-time behavior

Lifetime hierarchy:
  • Order of \(\tau_{b,i}\) reveals fastest to slowest bond types

  • Lifetime ratios \(\tau_{b,i}/\tau_{b,j}\) indicate timescale separation

Experimental Design

Essential Measurements

1. Wide-frequency SAOS (critical):
  • Range: At least 3 decades to resolve \(N=2\) modes, 4+ decades for \(N=3\)

  • Example: 0.01 to 100 rad/s for \(\tau_{b,1} = 0.1\) s, \(\tau_{b,2} = 10\) s

  • Why: Each mode needs approximately 1 decade around \(\omega_i = 1/\tau_{b,i}\) to be resolved

2. Stress relaxation (recommended):
  • Protocol: Step strain \(\gamma_0 = 1\) percent to 10 percent (linear regime)

  • Duration: \(t_{\max} > 10 \tau_{b,\text{max}}\) to capture slowest decay

  • Why: Direct measurement of \(G(t) = \sum_i G_i \exp(-t/\tau_{b,i})\)

3. Flow curve (optional but valuable):
  • Range: \(\dot{\gamma}\) from \(0.01/\tau_{b,\text{max}}\) to \(10/\tau_{b,\text{min}}\)

  • Why: Validates nonlinear predictions, reveals shear thinning transitions

Computational Implementation

Efficient Multi-Mode Computation

Key strategy: Use JAX vmap to vectorize over species dimension.

State vector structure:

State is a 4N-dimensional flattened array: [S_xx_0, S_yy_0, S_zz_0, S_xy_0, S_xx_1, …, S_xy_N-1]

Vectorized ODE:

Each species evolves independently via the TNT equation. JAX vmap applies the single-species evolution to all species in parallel.

Benefits:

  • Parallel computation of all species (GPU-friendly)

  • Code reuse from single-mode TNT

  • Memory efficient (no loops)

Fitting Guidance

Model Selection (Determining N)

Strategy:

  1. Start with :math:`N=2` (most common, 5 parameters)

  2. Fit to wide-frequency SAOS data

  3. Increase :math:`N` if: - Residuals show systematic structure (e.g., extra peaks) - BIC or AIC significantly decreases - Visual inspection suggests additional modes

Bayesian Information Criterion (BIC):

\[\text{BIC} = n \ln\left(\frac{\text{RSS}}{n}\right) + k \ln(n)\]

where \(n\) = number of data points, \(k = 2N+1\) = number of parameters, RSS = residual sum of squares.

Decision rule:

  • If delta BIC = BIC(N+1) - BIC(N) < -10: Strong evidence for \(N+1\)

  • If -10 < delta BIC < -2: Weak evidence for \(N+1\)

  • If delta BIC > -2: No evidence, keep \(N\)

Practical limit: \(N \leq 5\) (11 parameters) for most datasets.

Primary Data Source

SAOS is best for parameter estimation:

  • Analytical solution (fast, no ODE integration)

  • Directly reveals \(N\) distinct peaks in \(G''(\omega)\)

  • Linear regime (simple interpretation)

Recommended workflow:

  1. Fit SAOS first to get initial \(G_i\), \(\tau_{b,i}\), \(\eta_s\)

  2. Validate with relaxation (if available) to confirm \(\tau_{b,i}\)

  3. Test predictions on flow curve, startup (nonlinear validation)

Usage Examples

Basic Fitting (N=2)

from rheojax.models.tnt import TNTMultiSpecies
from rheojax.core import RheoData
import numpy as np

# Experimental data
omega = np.logspace(-2, 2, 50)
G_star = measure_saos(omega)

# Create model with 2 species (dual-crosslinked)
model = TNTMultiSpecies(n_species=2)

# Fit to SAOS data
rheo_data = RheoData(x=omega, y=G_star, test_mode='oscillation')
result = model.fit(rheo_data)

# Inspect fitted parameters
params = model.get_parameters()
print(f"G_1 = {params['G_1'].value:.1f} Pa")
print(f"tau_b_1 = {params['tau_b_1'].value:.3f} s")

Model Selection (N=2 vs N=3)

# Fit with N=2
model_2 = TNTMultiSpecies(n_species=2)
result_2 = model_2.fit(rheo_data)
rss_2 = result_2.residual_sum_of_squares
k_2 = 5
bic_2 = len(omega) * np.log(rss_2 / len(omega)) + k_2 * np.log(len(omega))

# Fit with N=3
model_3 = TNTMultiSpecies(n_species=3)
result_3 = model_3.fit(rheo_data)
rss_3 = result_3.residual_sum_of_squares
k_3 = 7
bic_3 = len(omega) * np.log(rss_3 / len(omega)) + k_3 * np.log(len(omega))

# Compare
if bic_3 - bic_2 < -10:
    print("Strong evidence for N=3")
else:
    print("N=2 is sufficient")

Permanent + Transient Dual Network

The multi-species model naturally accommodates networks with both permanent (chemical) and transient (physical) crosslinks. This is the most common application of the multi-species framework, representing materials such as dual-crosslinked hydrogels, hybrid organogels, and biological tissues with both covalent and non-covalent bonds.

Total Stress Decomposition

The total stress separates into a non-relaxing permanent contribution and transient species contributions:

\[\boldsymbol{\sigma}(t) = G_{\text{chem}} \left(\mathbf{B} - \mathbf{I}\right) + \sum_{i=1}^{N_{\text{phys}}} G_i \left(\mathbf{S}_i(t) - \mathbf{I}\right) + 2\eta_s \mathbf{D}\]

where \(G_{\text{chem}}\) is the modulus of the permanent (chemical) network and \(\mathbf{B}\) is the left Cauchy-Green deformation tensor. The permanent species has \(\tau_{b} \to \infty\) (no breakage), contributing a non-relaxing elastic plateau.

Stress Relaxation With Permanent Bonds

Under step strain, the relaxation modulus approaches a non-zero equilibrium:

\[G(t) = G_{\text{chem}} + \sum_{i=1}^{N_{\text{phys}}} G_i \exp\left(-\frac{t}{\tau_{b,i}}\right) \quad \xrightarrow{t \to \infty} \quad G_{\text{chem}}\]

The stress never fully relaxes to zero. This is the fundamental difference from purely physical (transient) networks: the permanent bonds provide a long-time elastic restoring force, so that:

\[\sigma(t) = G_{\text{chem}} \cdot \gamma_0 + \sum_{i=1}^{N_{\text{phys}}} G_i \exp\left(-\frac{t}{\tau_{b,i}}\right) \cdot \gamma_0 \quad \xrightarrow{t \to \infty} \quad G_{\text{chem}} \cdot \gamma_0\]

Mathematically, a “permanent” species simply means \(\tau_{b,i} \gg t_{\text{exp}}\), where \(t_{\text{exp}}\) is the experimental timescale. In practice, any species with \(\tau_{b,i}\) exceeding the longest measurement time by a factor of \(\sim 100\) is effectively permanent.

Creep Saturation

Unlike purely transient networks which flow indefinitely under constant stress, dual networks with permanent bonds exhibit creep saturation: the strain reaches a finite asymptote rather than growing without bound.

Strain Saturation

Under constant applied stress \(\sigma_0\), the strain saturates at:

\[\gamma_{\infty} = \frac{\sigma_0}{G_{\text{chem}}}\]

No steady-state flow occurs because the permanent network acts as a spring in parallel with the transient species, providing an equilibrium restoring force that eventually balances the applied stress.

Creep Compliance

The creep compliance for a dual network takes the form:

\[J(t) = \frac{1}{G_{\text{chem}}} - \sum_{i=1}^{N_{\text{phys}}} \frac{G_i}{G_{\text{chem}}\left(G_{\text{chem}} + \sum_j G_j\right)} \exp\left(-\frac{t}{\tau_i^*}\right)\]

where \(\tau_i^*\) are the retardation times (related to but distinct from the relaxation times \(\tau_{b,i}\)).

Physical insight: The strain asymptote directly gives the permanent network modulus:

\[G_{\text{chem}} = \frac{\sigma_0}{\gamma_{\infty}}\]

This provides a model-independent route to measuring the permanent network contribution from a single creep experiment.

“Double-Yielding” in LAOS

When bond species have well-separated lifetimes, large amplitude oscillatory shear (LAOS) reveals sequential yielding — a phenomenon where different bond populations break at different strain amplitudes.

Sequential Yielding Mechanism

The progression with increasing strain amplitude \(\gamma_0\) is:

Small \(\gamma_0\) (linear regime):

All species remain elastic. The Lissajous figure is a linear ellipse with stiffness reflecting \(G_{\text{total}} = \sum_i G_i\).

Intermediate \(\gamma_0\) (first yielding):

Weak bonds (short \(\tau_{b}\)) break and reform within a cycle. The first yielding event occurs when \(\gamma_0 \dot{\gamma}_{\max} \sim 1/\tau_{b,\text{weak}}\). The Lissajous figure begins to distort, showing the onset of nonlinearity.

Large \(\gamma_0\) (second yielding):

Strong bonds (long \(\tau_{b}\)) also break, leading to a second yielding event. The material becomes fully fluidized, and the Lissajous figure shows a characteristic butterfly or rectangular shape.

LAOS Signatures

The Lissajous figure shows two distinct stiffness changes as the strain amplitude increases, corresponding to the progressive loss of each bond population.

This “double-yielding” signature is also visible in the intensity ratio \(I_{3/1}\) (third harmonic normalized by fundamental) plotted against \(\gamma_0\): for \(N=2\) species, \(I_{3/1}(\gamma_0)\) shows two peaks, one per bond type. Each peak corresponds to the onset of nonlinear response from a specific bond population. More generally, \(N\) well-separated species produce \(N\) peaks in \(I_{3/1}(\gamma_0)\).

Progressive Loss Under Flow

The flow curve of a multi-species network shows staged shear thinning: each bond species yields at a different critical shear rate, producing a characteristic stepped viscosity profile.

Staged Shear Thinning

The critical shear rate for each species is:

\[\dot{\gamma}_{c,i} \approx \frac{1}{\tau_{b,i}}\]

The flow curve exhibits distinct regimes as the shear rate increases:

Low rates (\(\dot{\gamma} \ll 1/\tau_{b,\max}\)):

All bond species are intact. The full network modulus \(G_{\text{total}} = \sum_i G_i\) is active, and the material exhibits Newtonian behavior with zero-shear viscosity \(\eta_0 = \sum_i G_i \tau_{b,i} + \eta_s\).

Intermediate rates (\(1/\tau_{b,i+1} < \dot{\gamma} < 1/\tau_{b,i}\)):

Species \(i\) (and all weaker species) have yielded. The effective modulus is reduced to \(G_{\text{eff}} = \sum_{j>i} G_j\), and the viscosity contribution from species \(i\) is lost.

High rates (\(\dot{\gamma} \gg 1/\tau_{b,\min}\)):

All transient species have yielded. Only the solvent viscosity remains: \(\sigma \to \eta_s \cdot \dot{\gamma}\).

Staircase Flow Curve

On a log-log plot, the viscosity \(\eta(\dot{\gamma})\) shows a staircase pattern with \(N\) steps, each corresponding to the loss of one bond type. The height of each step is proportional to \(G_i \tau_{b,i}\), and the transition between steps occurs at \(\dot{\gamma} \approx 1/\tau_{b,i}\).

This staircase structure is a direct fingerprint of the discrete multi-species nature and distinguishes it from continuous spectrum models (e.g., KWW stretched exponential) which produce smooth power-law thinning.

Failure Mode: Bond Hierarchy

Failure Mode

Mechanism: Under increasing deformation, bond types fail sequentially from weakest (shortest \(\tau_{b}\)) to strongest (longest \(\tau_{b}\)). This progressive failure cascade determines the material’s nonlinear response.

Signature: Multi-step yielding in flow curves and LAOS, visible as multiple inflection points in \(\eta(\dot{\gamma})\) and multiple peaks in \(I_{3/1}(\gamma_0)\).

Physical origin: Each bond species has a characteristic force scale; exceeding it causes that species to dynamically break faster than it can reform. The critical rate for species \(i\) is \(\dot{\gamma}_{c,i} \approx 1/\tau_{b,i}\).

Implication: The material’s response depends on which bonds have “survived” at a given rate — the effective constitutive law changes character as bonds are progressively lost. At low rates the material behaves as a full \(N\)-species network; at high rates only the strongest (or permanent) species remain.

Design insight: By tuning the ratio \(G_{\text{strong}}/G_{\text{weak}}\) and \(\tau_{\text{strong}}/\tau_{\text{weak}}\), one can engineer materials with prescribed yielding sequences. This is important for self-healing materials (where weak bonds sacrifice first to protect the network), drug delivery gels (where sequential release requires staged degradation), and impact-absorbing materials (where energy dissipation is maximized by progressive bond failure).

See Also

TNT Shared Reference:

TNT Base Model:

Closely Related TNT Variants:

Complementary Extensions:

External Comparisons:

API Reference

class rheojax.models.tnt.TNTMultiSpecies(n_species=2)[source]

Bases: TNTBase

Multi-species Transient Network Theory model.

Implements a network with N independent bond populations, each with its own modulus G_i and lifetime τ_b_i. The total stress is a superposition of N Maxwell modes.

This is equivalent to a generalized Maxwell model where each mode represents a distinct physical crosslink species rather than a mathematical decomposition.

Parameters:

n_species (int) – Number of distinct bond species (N ≥ 1)

parameters

Model parameters: [G_0, tau_b_0, G_1, tau_b_1, …, G_{N-1}, tau_b_{N-1}, eta_s]

Type:

ParameterSet

fitted_

Whether the model has been fitted

Type:

bool

_n_species

Number of species

Type:

int

Notes

The state vector has 4*N components:

[S_xx_0, S_yy_0, S_zz_0, S_xy_0, …, S_xy_{N-1}]

Each species evolves independently via the upper-convected derivative with constant breakage/creation rates.

See also

TNTSingleMode

Single-mode TNT with variant breakage rates

GeneralizedMaxwell

Mathematical multi-mode decomposition

__init__(n_species=2)[source]

Initialize multi-species TNT model.

Parameters:

n_species (int) – Number of distinct bond species (must be ≥ 1)

initialize_from_creep(t, strain, sigma_applied=1.0)[source]

Initialize parameters from creep data for numerical stability.

For multi-species, sets eta_s to prevent infinite initial shear rate.

Parameters:
  • t (ndarray) – Time array (s)

  • strain (ndarray) – Strain array

  • sigma_applied (float) – Applied constant stress (Pa)

Return type:

None

initialize_from_relaxation(t, modulus)[source]

Initialize parameters from stress relaxation data.

Parameters:
  • t (ndarray) – Time array (s)

  • modulus (ndarray) – Relaxation modulus G(t) (Pa)

Return type:

None

property n_species: int

Get number of bond species N.

property eta_s: float

Get solvent viscosity η_s (Pa·s).

property G_total: float

Get total modulus G_total = Σ G_i (Pa).

property eta_0: float

Get zero-shear viscosity η₀ = Σ G_i·τ_b_i + η_s (Pa·s).

get_equilibrium_conformation_multimode()[source]

Return equilibrium conformation for all N modes.

Returns:

Equilibrium state [1, 1, 1, 0, …, 1, 1, 1, 0] with shape (4N,)

Return type:

Array

model_function(X, params, test_mode=None, **kwargs)[source]

NumPyro/BayesianMixin model function.

Routes to appropriate prediction based on test_mode. This is the stateless function used for both NLSQ optimization and Bayesian inference.

Parameters:
  • X (array-like) – Independent variable

  • params (array-like) – Parameter values: [G_0, tau_b_0, G_1, tau_b_1, …, G_{N-1}, tau_b_{N-1}, eta_s] Total length: 2*N + 1

  • test_mode (str, optional) – Override stored test mode

Returns:

Predicted response

Return type:

jnp.ndarray

predict_flow_curve(gamma_dot, return_components=False)[source]

Predict steady shear stress and viscosity.

Analytical superposition: σ = Σ G_i·τ_b_i·γ̇ / (1 + (τ_b_i·γ̇)²) + η_s·γ̇

Parameters:
  • gamma_dot (ndarray) – Shear rate array (1/s)

  • return_components (bool) – If True, return (sigma, eta, N1)

Returns:

Shear stress σ (Pa), or (σ, η, N₁) if return_components=True

Return type:

ndarray | tuple[ndarray, ndarray, ndarray]

predict_saos(omega, return_components=True)[source]

Predict SAOS storage and loss moduli.

Analytical superposition:

G’(ω) = Σ G_i·(ωτ_i)² / (1 + (ωτ_i)²) G’’(ω) = Σ G_i·(ωτ_i) / (1 + (ωτ_i)²) + η_s·ω

Parameters:
  • omega (ndarray) – Angular frequency array (rad/s)

  • return_components (bool) – If True, return (G’, G’’)

Returns:

(G’, G’’) if return_components=True, else |G*|

Return type:

tuple[ndarray, ndarray] | ndarray

predict_normal_stresses(gamma_dot)[source]

Predict first and second normal stress differences.

For multi-mode UCM (conformation tensor):

N₁ = Σ 2·G_i·(τ_b_i·γ̇)² N₂ = 0 (upper-convected derivative)

Parameters:

gamma_dot (ndarray) – Shear rate array (1/s)

Returns:

(N₁, N₂) in Pa

Return type:

tuple[ndarray, ndarray]

simulate_startup(t, gamma_dot, return_full=False)[source]

Simulate startup flow at constant shear rate.

Parameters:
  • t (ndarray) – Time array (s)

  • gamma_dot (float) – Applied shear rate (1/s)

  • return_full (bool) – If True, return full conformation tensor for all modes

Returns:

Shear stress σ(t), or dict with ‘S_xx’, ‘S_yy’, ‘S_xy’, ‘S_zz’ (each shape (T, N)) if return_full=True

Return type:

ndarray | dict[str, ndarray]

simulate_relaxation(t, gamma_dot_preshear)[source]

Simulate stress relaxation after cessation of steady shear.

Analytical multi-mode relaxation:

σ(t) = Σ σ₀_i·exp(-t/τ_b_i)

Parameters:
  • t (ndarray) – Time array (s), starting from t=0 (cessation)

  • gamma_dot_preshear (float) – Shear rate before cessation (1/s)

Returns:

Relaxing stress σ(t) (Pa)

Return type:

ndarray

simulate_creep(t, sigma_applied, return_rate=False)[source]

Simulate creep deformation under constant stress.

Parameters:
  • t (ndarray) – Time array (s)

  • sigma_applied (float) – Applied constant stress (Pa)

  • return_rate (bool) – If True, also return shear rate γ̇(t)

Returns:

Strain γ(t), or (γ, γ̇) if return_rate=True

Return type:

ndarray | tuple[ndarray, ndarray]

simulate_laos(t, gamma_0, omega, n_cycles=None)[source]

Simulate Large-Amplitude Oscillatory Shear (LAOS).

Parameters:
  • t (ndarray) – Time array (s), or None to auto-generate

  • gamma_0 (float) – Strain amplitude (dimensionless)

  • omega (float) – Angular frequency (rad/s)

  • n_cycles (int | None) – Number of oscillation cycles (overrides t)

Returns:

Dictionary with keys: ‘t’, ‘strain’, ‘stress’, ‘strain_rate’

Return type:

dict[str, ndarray]

get_relaxation_spectrum(t=None, n_points=100)[source]

Get relaxation modulus G(t).

For multi-species TNT: G(t) = Σ G_i·exp(-t/τ_b_i)

Parameters:
  • t (ndarray | None) – Time array (default: logspace from 0.01·min(τ) to 100·max(τ))

  • n_points (int) – Number of points if t not provided

Returns:

(t, G(t))

Return type:

tuple[ndarray, ndarray]

extract_laos_harmonics(laos_result, n_harmonics=5)[source]

Extract Fourier harmonics from LAOS stress response.

Parameters:
  • laos_result (dict[str, ndarray]) – Result from simulate_laos()

  • n_harmonics (int) – Number of harmonics to extract

Returns:

Dictionary with ‘n’, ‘sigma_prime’, ‘sigma_double_prime’, ‘intensity’, ‘I3_I1’

Return type:

dict[str, ndarray]

__repr__()[source]

Return string representation.

Return type:

str

Constructor Signature:

TNTMultiSpecies(n_species: int = 2)

Parameters:

  • n_speciesint, default=2

    Number of distinct bond species. Must be >= 2. Total parameters will be 2N + 1.

References

Foundational Theory

  1. Tanaka, F., & Edwards, S. F. (1992). Viscoelastic properties of physically crosslinked networks: Transient network theory. Macromolecules, 25(5), 1516-1523. DOI: 10.1021/ma00031a024

  2. Rubinstein, M., & Semenov, A. N. (2001). Dynamics of entangled solutions of associating polymers. Macromolecules, 34(4), 1058-1068. DOI: 10.1021/ma0013049

Dual-Crosslinked Networks

  1. Narita, T., Mayumi, K., Ducouret, G., & Hébraud, P. (2013). Viscoelastic properties of poly(vinyl alcohol) hydrogels having permanent and transient cross-links studied by microrheology, classical rheometry, and dynamic light scattering. Macromolecules, 46(10), 4174-4183. DOI: 10.1021/ma400600f

  2. Sun, J.-Y., Zhao, X., Illeperuma, W. R. K., et al. (2012). Highly stretchable and tough hydrogels. Nature, 489(7414), 133-136. DOI: 10.1038/nature11409

Reversible Network Rheology

  1. Skrzeszewska, P. J., Sprakel, J., de Wolf, F. A., et al. (2010). Fracture and self-healing in a well-defined self-assembled polymer network. Macromolecules, 43(7), 3542-3548. DOI: 10.1021/ma1000173

  2. Long, R., Mayumi, K., Creton, C., Narita, T., & Hui, C.-Y. (2014). Time dependent behavior of a dual cross-link self-healing gel: Theory and experiments. Macromolecules, 47(20), 7243-7250. DOI: 10.1021/ma501290h