.. _tnt-equations-verification:
==========================================================================
Transient Network Theory (TNT) — Mathematical Foundations & Verification
==========================================================================
This document records the published governing equations for each TNT model
variant, cross-referenced against the RheoJAX implementation in
``rheojax/models/tnt/``. Sources are cited inline; web-accessible links
are listed at the end.
.. contents:: Models
:local:
:depth: 2
----
1. Green-Tobolsky / Tanaka-Edwards (Basic Transient Network)
=============================================================
**Primary references:**
- Green, M.S. & Tobolsky, A.V. (1946). *J. Chem. Phys.* **14**, 80-92.
- Tanaka, F. & Edwards, S.F. (1992). *Macromolecules* **25**, 1516-1523.
- Lodge, A.S. (1956). *Trans. Faraday Soc.* **52**, 120-130.
1.1 Chain Distribution / Conformation Tensor
---------------------------------------------
Green & Tobolsky (1946) conceived a network of chains with temporary
junctions that are steadily created and destroyed. Tanaka & Edwards (1992)
formalised this using the **conformation tensor**
.. math::
\mathbf{S} = \frac{\langle \mathbf{R} \otimes \mathbf{R} \rangle}{R_0^2}
where :math:`\mathbf{R}` is the end-to-end vector of a network strand and
:math:`R_0 = \sqrt{\langle R^2 \rangle_0}` is the equilibrium
root-mean-square distance. At equilibrium :math:`\mathbf{S} = \mathbf{I}`.
1.2 Creation and Destruction Rates
------------------------------------
**Constant-rate (basic model):**
- Destruction (breakage) rate: :math:`\beta = 1/\tau_b`
- Creation (reformation) rate: :math:`g_0 = 1/\tau_b`
At equilibrium the two rates balance, maintaining
:math:`\mathbf{S} = \mathbf{I}`.
**Force-dependent detachment (Tanaka-Edwards, Bell):**
If a force :math:`f` acts on a chain bound at time :math:`t_0`, the
breakage rate at time :math:`t` is (Tanaka & Edwards 1992, Eq. 2; see also
Bell 1978):
.. math::
\beta(f) = \omega_0 \exp\!\left(-\frac{W_b - f \cdot a}{k_B T}\right)
= \beta_0 \exp\!\left(\frac{f \cdot a}{k_B T}\right)
where :math:`\omega_0` is the thermal vibration frequency, :math:`W_b` is
the bond dissociation energy, and :math:`a` is the activation length. In
the conformation-tensor formulation this becomes:
.. math::
\beta(\mathbf{S})
= \frac{1}{\tau_b}\exp\!\bigl[\nu\,(\text{stretch} - 1)\bigr],
\qquad
\text{stretch} = \sqrt{\operatorname{tr}(\mathbf{S})/3}
with :math:`\nu` a dimensionless force-sensitivity parameter
(:math:`\nu = 0` recovers constant breakage).
**Implementation:** ``_kernels.py``, functions ``breakage_constant``,
``breakage_bell``, ``breakage_power_law``.
1.3 Constitutive Equation (Conformation Tensor Evolution)
----------------------------------------------------------
.. math::
\frac{d\mathbf{S}}{dt}
= \boldsymbol{\kappa}\cdot\mathbf{S}
+ \mathbf{S}\cdot\boldsymbol{\kappa}^T
+ g_0\,\mathbf{I}
- \beta(\mathbf{S})\,\mathbf{S}
where :math:`\boldsymbol{\kappa} = (\nabla\mathbf{v})^T` is the velocity
gradient tensor. The first two terms are the **upper-convected derivative**
(affine deformation); the third is chain creation; the fourth is chain
destruction.
Equivalently, writing as relaxation toward equilibrium:
.. math::
\frac{d\mathbf{S}}{dt}
= \boldsymbol{\kappa}\cdot\mathbf{S}
+ \mathbf{S}\cdot\boldsymbol{\kappa}^T
- \frac{\mathbf{S} - \mathbf{I}}{\tau_b}
This is mathematically identical to the **upper-convected Maxwell (UCM)**
model.
**Implementation:** ``_kernels.py``, ``tnt_single_mode_ode_rhs`` (lines
588-638) and ``build_tnt_ode_rhs`` factory (lines 823-881).
1.4 Stress Tensor
------------------
.. math::
\boldsymbol{\sigma} = G\,(\mathbf{S} - \mathbf{I}) + 2\eta_s\,\mathbf{D}
where :math:`G \approx n_{\text{chains}} k_B T` is the network modulus and
:math:`\mathbf{D} = (\boldsymbol{\kappa}+\boldsymbol{\kappa}^T)/2`.
In simple shear (:math:`\boldsymbol{\kappa} = \dot\gamma\,\mathbf{e}_x\otimes\mathbf{e}_y`):
.. math::
\sigma_{xy} &= G\,S_{xy} + \eta_s\dot\gamma \\
N_1 &= G(S_{xx} - S_{yy}) \\
N_2 &= G(S_{yy} - S_{zz}) = 0 \quad\text{(upper-convected)}
**Implementation:** ``_kernels.py``, ``stress_linear_xy``,
``stress_fene_xy``.
1.5 Simple Shear Component Equations
--------------------------------------
.. math::
\frac{dS_{xx}}{dt} &= 2\dot\gamma\,S_{xy}
- \frac{S_{xx}-1}{\tau_b} \\[4pt]
\frac{dS_{yy}}{dt} &= -\frac{S_{yy}-1}{\tau_b} \\[4pt]
\frac{dS_{zz}}{dt} &= -\frac{S_{zz}-1}{\tau_b} \\[4pt]
\frac{dS_{xy}}{dt} &= \dot\gamma\,S_{yy} - \frac{S_{xy}}{\tau_b}
1.6 Steady-State Solutions (Simple Shear)
-------------------------------------------
.. math::
S_{xy} &= \tau_b\dot\gamma \\
S_{xx} &= 1 + 2(\tau_b\dot\gamma)^2 \\
S_{yy} &= S_{zz} = 1
**Flow curve (Newtonian):**
.. math::
\sigma_{xy} = (G\tau_b + \eta_s)\,\dot\gamma = \eta_0\,\dot\gamma
**First normal stress difference:**
.. math::
N_1 = 2G(\tau_b\dot\gamma)^2, \qquad \Psi_1 = 2G\tau_b^2
**Implementation:** ``_kernels.py``, ``tnt_base_steady_conformation``,
``tnt_base_steady_stress``, ``tnt_base_steady_n1``.
1.7 Relaxation Modulus
-----------------------
.. math::
G(t) = G\,\exp(-t/\tau_b)
Single Maxwell exponential.
**Implementation:** ``_kernels.py``, ``tnt_base_relaxation``.
1.8 SAOS Moduli
----------------
.. math::
G'(\omega) &= G\,\frac{(\omega\tau_b)^2}{1+(\omega\tau_b)^2} \\[4pt]
G''(\omega) &= G\,\frac{\omega\tau_b}{1+(\omega\tau_b)^2} + \eta_s\omega
**Implementation:** ``_kernels.py``, ``tnt_saos_moduli``.
1.9 Parameters
---------------
.. list-table::
:header-rows: 1
* - Symbol
- Units
- Description
* - :math:`G`
- Pa
- Network modulus (:math:`\approx n_\text{chains} k_B T`)
* - :math:`\tau_b`
- s
- Bond lifetime (reciprocal breakage rate)
* - :math:`\eta_s`
- Pa·s
- Solvent viscosity
Derived: :math:`\eta_0 = G\tau_b + \eta_s` (zero-shear viscosity).
----
2. Tanaka-Edwards Model with Force-Dependent Breakage
=======================================================
**Primary references:**
- Tanaka, F. & Edwards, S.F. (1992). *Macromolecules* **25**, 1516-1523.
- Bell, G.I. (1978). *Science* **200**, 618-627.
2.1 Breakage Rate (Kramers/Bell)
----------------------------------
From Tanaka & Edwards, the thermally-activated breakage rate in the
presence of a force :math:`f` is:
.. math::
\beta(f) = \omega_0\,\exp\!\Bigl[-\frac{W_b}{k_BT}\Bigr]
\cdot\exp\!\Bigl[\frac{f\cdot a}{k_BT}\Bigr]
= \frac{1}{\tau_b}\,\exp\!\Bigl[\frac{f\cdot a}{k_BT}\Bigr]
In the conformation tensor description, the end-to-end distance proxy is
the **stretch ratio** :math:`\lambda = \sqrt{\operatorname{tr}(\mathbf{S})/3}`,
giving the coarse-grained Bell form:
.. math::
\beta(\mathbf{S}) = \frac{1}{\tau_b}\,\exp\!\bigl[\nu(\lambda - 1)\bigr]
At equilibrium (:math:`\lambda=1`): :math:`\beta = 1/\tau_b`.
**Power-law variant:**
.. math::
\beta(\mathbf{S}) = \frac{1}{\tau_b}\,\lambda^m
**Implementation:** ``_kernels.py``, ``breakage_bell`` (line 71),
``breakage_power_law`` (line 103).
2.2 ODE System (Bell breakage, simple shear)
----------------------------------------------
.. math::
\frac{dS_{xx}}{dt} &= 2\dot\gamma S_{xy} + g_0 - \beta(\mathbf{S})\,S_{xx}\\
\frac{dS_{yy}}{dt} &= g_0 - \beta(\mathbf{S})\,S_{yy}\\
\frac{dS_{zz}}{dt} &= g_0 - \beta(\mathbf{S})\,S_{zz}\\
\frac{dS_{xy}}{dt} &= \dot\gamma\,S_{yy} - \beta(\mathbf{S})\,S_{xy}
with :math:`g_0 = 1/\tau_b` (creation rate unaffected by force).
**Key consequence:** Force-dependent breakage produces
**shear thinning** (faster breakage at high strain reduces effective
relaxation time) and **stress overshoot** with non-exponential relaxation.
**Implementation:** ``_kernels.py``, ``build_tnt_ode_rhs(breakage_type="bell")``.
----
3. Cates Reptation-Reaction Model (Living Polymers)
=====================================================
**Primary references:**
- Cates, M.E. (1987). *Macromolecules* **20**, 2289-2296.
- Cates, M.E. (1990). *J. Phys. Chem.* **94**, 371-375.
- Turner, M.S. & Cates, M.E. (1991). *Langmuir* **7**, 1590.
- Chen, V., Drucker, C.T., Love, C., Peterson, J. & Peterson, J.D. (2024).
arXiv:2407.07213 (analytic series solution).
3.1 Physical Mechanism
------------------------
Wormlike micelles are entangled living polymers that relax stress via two
mechanisms operating simultaneously:
1. **Reptation** (curvilinear diffusion along the tube): time scale
:math:`\tau_\text{rep} \sim L^3/(\pi^2 D)`.
2. **Reversible scission** (random breaking/recombination): time scale
:math:`\tau_\text{break}`.
Breaking reorganises tube segments: interior segments become end segments
(which relax quickly) and vice versa.
3.2 Reptation Spectrum (Unbreakable Chains)
---------------------------------------------
For permanent entangled polymers (Doi-Edwards):
.. math::
G(t) = G_0 \sum_{p\;\text{odd}} \frac{8}{\pi^2 p^2}
\exp\!\left(-\frac{p^2 t}{\tau_\text{rep}}\right)
3.3 Breaking Parameter
------------------------
.. math::
\zeta = \frac{\tau_\text{break}}{\tau_\text{rep}}
3.4 Effective Relaxation Time (Fast-Breaking Limit)
-----------------------------------------------------
When :math:`\zeta \ll 1` (fast-breaking), Cates (1987) showed that the
stress relaxation becomes near-single-exponential with the **geometric
mean** relaxation time:
.. math::
\boxed{\tau_d = \sqrt{\tau_\text{rep}\cdot\tau_\text{break}}}
**Physical derivation:** Reptation requires diffusion over contour length
:math:`L`. Breaking cuts the micelle every :math:`\tau_\text{break}` into
pieces of size :math:`\sim\sqrt{D\tau_\text{break}}`. Setting this equal
to the tube escape distance gives
:math:`\tau_d \sim \sqrt{\tau_\text{rep}\,\tau_\text{break}}`.
**Implementation:** ``_kernels.py``, ``tnt_cates_effective_tau`` (line 560).
3.5 Stress Relaxation
-----------------------
**Fast-breaking regime** (:math:`\zeta \ll 1`):
.. math::
G(t) \approx G_0\,\exp\!\left(-\sqrt{2t/\tau_\text{break}}\right)
This stretched exponential is well approximated by a single Maxwell mode
with time constant :math:`\tau_d`.
**Slow-breaking regime** (:math:`\zeta \gg 1`):
Standard reptation spectrum (Eq. in Sec. 3.2).
3.6 Constitutive Equation (Fast-Breaking UCM)
------------------------------------------------
In the fast-breaking limit the system reduces to a **single-mode UCM** with
:math:`\tau_b \to \tau_d`:
.. math::
\frac{d\mathbf{S}}{dt}
= \boldsymbol{\kappa}\cdot\mathbf{S}
+ \mathbf{S}\cdot\boldsymbol{\kappa}^T
- \frac{\mathbf{S}-\mathbf{I}}{\tau_d}
.. math::
\boldsymbol{\sigma} = G_0(\mathbf{S}-\mathbf{I}) + 2\eta_s\mathbf{D}
**Implementation:** ``cates.py`` delegates to the base single-mode ODE with
:math:`\tau_b = \tau_d = \sqrt{\tau_\text{rep}\tau_\text{break}}`.
3.7 SAOS Moduli
-----------------
Single Maxwell mode with :math:`\tau_d`:
.. math::
G'(\omega) &= G_0\,\frac{(\omega\tau_d)^2}{1+(\omega\tau_d)^2}\\[4pt]
G''(\omega) &= G_0\,\frac{\omega\tau_d}{1+(\omega\tau_d)^2}
+ \eta_s\omega
3.8 Cole-Cole Semicircle
--------------------------
Plotting :math:`G''` vs :math:`G'` parametrically in :math:`\omega` (with
:math:`\eta_s=0`) gives a **perfect semicircle**:
.. math::
\left(G' - \frac{G_0}{2}\right)^{\!2} + (G'')^2
= \left(\frac{G_0}{2}\right)^{\!2}
- Centre at :math:`(G_0/2,\;0)`
- Radius :math:`G_0/2`
- Passes through the origin (:math:`\omega\to 0`) and :math:`(G_0,0)`
(:math:`\omega\to\infty`)
Deviations indicate intermediate breaking, branching (Y-junctions), or
polydispersity.
More precisely, at arbitrary :math:`\zeta`:
.. math::
G^*(\omega) \approx \frac{G_0}{1 + \sqrt{\tau_\text{break}/(2i\omega)}}
(Turner & Cates 1991).
**Implementation:** Verified via ``tnt_saos_moduli_vec`` called with
effective :math:`\tau_d`.
3.9 Steady Shear (Non-Monotonic Flow Curve)
---------------------------------------------
.. math::
\sigma_{xy} = G_0\,\frac{\tau_d\dot\gamma}{1+(\tau_d\dot\gamma)^2}
+ \eta_s\dot\gamma
The network contribution is **non-monotonic** with a maximum at
:math:`\dot\gamma = 1/\tau_d` (constitutive instability leading to
**shear banding** for :math:`\text{Wi}_d > 1`).
3.10 Parameters
-----------------
.. list-table::
:header-rows: 1
* - Symbol
- Units
- Description
* - :math:`G_0`
- Pa
- Plateau modulus (:math:`\sim k_BT/\xi^3`, :math:`\xi` = mesh size)
* - :math:`\tau_\text{rep}`
- s
- Reptation time
* - :math:`\tau_\text{break}`
- s
- Mean scission/breakage time
* - :math:`\eta_s`
- Pa·s
- Solvent viscosity
Derived: :math:`\tau_d = \sqrt{\tau_\text{rep}\tau_\text{break}}`,
:math:`\eta_0 = G_0\tau_d + \eta_s`.
----
4. Sticky Rouse Model
=======================
**Primary references:**
- Baxandall, L.G. (1989). *Macromolecules* **22**, 1982.
- Leibler, L., Rubinstein, M. & Colby, R.H. (1991). *Macromolecules*
**24**, 4701-4707.
- Rubinstein, M. & Semenov, A.N. (1998). *Macromolecules* **31**,
1373-1385.
- Rubinstein, M. & Semenov, A.N. (2001). *Macromolecules* **34**,
1058-1068.
4.1 Physical Picture
---------------------
A flexible chain of :math:`N` Kuhn segments carries :math:`N_s` evenly
spaced reversible association sites ("stickers"). Between stickers, the
chain behaves as a Rouse sub-chain. The sticker lifetime :math:`\tau_s`
imposes a **minimum effective relaxation time** for all modes.
4.2 Rouse Mode Spectrum
-------------------------
For a standard Rouse chain, mode :math:`k` has:
.. math::
\tau_{R,k} = \frac{\tau_{R,1}}{k^2},
\qquad k = 1,2,\ldots,N
where :math:`\tau_{R,1}` is the longest Rouse time.
4.3 Effective Relaxation Times (Sticker Renormalisation)
---------------------------------------------------------
Sticker exchange slows all modes faster than :math:`\tau_s`. Two
formulations appear in the literature:
**Additive (Leibler-Rubinstein-Colby, 1991; used in RheoJAX docs):**
.. math::
\tau_{\text{eff},k} = \tau_{R,k} + \tau_s
**Max (phenomenological, used in RheoJAX implementation):**
.. math::
\tau_{\text{eff},k} = \max(\tau_{R,k},\;\tau_s)
Both produce the same qualitative physics: modes with
:math:`\tau_{R,k} < \tau_s` are *pinned* at :math:`\tau_s`, while slow
modes (:math:`\tau_{R,k} > \tau_s`) are essentially unaffected.
.. note::
**Discrepancy found:** The RheoJAX documentation (``tnt_sticky_rouse.rst``
line 27) states :math:`\tau_{\text{eff},k} = \tau_{R,k} + \tau_s`
(additive), whereas the Python source (``sticky_rouse.py`` lines 14-15)
uses :math:`\max(\tau_{R,k},\tau_s)`. Both are valid physical
approximations. The additive form more faithfully follows
Leibler-Rubinstein-Colby; the max form is more commonly used in recent
computational works. **Recommend unifying docs and code.**
4.4 Multi-Mode Constitutive Equation
--------------------------------------
Each mode :math:`k` evolves independently:
.. math::
\frac{d\mathbf{S}_k}{dt}
= \boldsymbol{\kappa}\cdot\mathbf{S}_k
+ \mathbf{S}_k\cdot\boldsymbol{\kappa}^T
- \frac{\mathbf{S}_k - \mathbf{I}}{\tau_{\text{eff},k}}
Total stress:
.. math::
\boldsymbol{\sigma} = \sum_{k=1}^{N} G_k\,(\mathbf{S}_k - \mathbf{I})
+ 2\eta_s\mathbf{D}
**Implementation:** ``_kernels.py``, ``tnt_multimode_ode_rhs``.
4.5 Relaxation Modulus
-----------------------
.. math::
G(t) = \sum_{k=1}^{N} G_k\,\exp\!\left(-\frac{t}{\tau_{\text{eff},k}}\right)
At intermediate times (when multiple modes have
:math:`\tau_{\text{eff},k} \approx \tau_s`), this yields Rouse-like
power-law decay :math:`G(t) \sim t^{-1/2}`.
**Implementation:** ``_kernels.py``, ``tnt_multimode_relaxation``.
4.6 SAOS Moduli
-----------------
.. math::
G'(\omega) &= \sum_k G_k\,\frac{(\omega\tau_{\text{eff},k})^2}
{1+(\omega\tau_{\text{eff},k})^2}\\[4pt]
G''(\omega) &= \sum_k G_k\,\frac{\omega\tau_{\text{eff},k}}
{1+(\omega\tau_{\text{eff},k})^2} + \eta_s\omega
**Characteristic signatures:**
- :math:`G' \sim \omega^{1/2}` at intermediate frequencies (Rouse regime)
- Sticky plateau at :math:`1/\tau_s < \omega < 1/\tau_{R,N}`
- Terminal flow (:math:`G' \sim \omega^2`) at :math:`\omega \ll 1/\tau_{\text{eff},1}`
**Implementation:** ``_kernels.py``, ``tnt_multimode_saos_moduli``.
4.7 Parameters
----------------
.. list-table::
:header-rows: 1
* - Symbol
- Units
- Description
* - :math:`G_k`
- Pa
- Modulus of mode :math:`k`
* - :math:`\tau_{R,k}`
- s
- Rouse relaxation time of mode :math:`k`
* - :math:`\tau_s`
- s
- Sticker lifetime
* - :math:`\eta_s`
- Pa·s
- Solvent viscosity
Derived: :math:`G_N^{(0)} = \sum_k G_k` (plateau modulus),
:math:`\eta_0 = \sum_k G_k\tau_{\text{eff},k} + \eta_s`.
----
5. Loop-Bridge Model (Telechelic Networks)
============================================
**Primary references:**
- Annable, T., Buscall, R., Ettelaie, R. & Whittlestone, D. (1993).
*J. Rheol.* **37**, 695-726.
- Tanaka, F. & Edwards, S.F. (1992). *Macromolecules* **25**, 1516-1523.
- Leibler, L., Rubinstein, M. & Colby, R.H. (1991). *Macromolecules*
**24**, 4701-4707.
- Bell, G.I. (1978). *Science* **200**, 618-627.
5.1 Physical Picture
---------------------
Telechelic chains have associating end-groups that can exist in two
populations:
- **Bridges** (fraction :math:`f_B`): Both ends attached to *different*
junctions — **load-bearing**.
- **Loops** (fraction :math:`f_L = 1 - f_B`): Both ends on the *same*
junction — **non-load-bearing**.
The dynamic equilibrium between these populations determines the modulus
and produces the distinctive shear-thickening-then-thinning behaviour
observed experimentally (Annable et al. 1993).
5.2 Bridge Fraction Kinetics
------------------------------
.. math::
\frac{df_B}{dt}
= \underbrace{\frac{1-f_B}{\tau_a}}_{\text{loop}\to\text{bridge}}
- \underbrace{f_B\,\beta(\mathbf{S})}_{\text{bridge}\to\text{loop}}
where:
- :math:`\tau_a` = loop-to-bridge association time
- :math:`\beta(\mathbf{S})` = force-dependent bridge detachment rate
**Equilibrium bridge fraction** (at :math:`\mathbf{S}=\mathbf{I}`,
:math:`\beta = 1/\tau_b`):
.. math::
f_{B,\text{eq}} = \frac{\tau_b}{\tau_a + \tau_b}
**Implementation:** ``loop_bridge.py``, ``_loop_bridge_ode_rhs`` (line 146).
5.3 Force-Dependent Detachment (Bell Model)
---------------------------------------------
.. math::
\beta(\mathbf{S}) = \frac{1}{\tau_b}\,\exp\!\Bigl[
\nu\bigl(\sqrt{\operatorname{tr}(\mathbf{S})/3} - 1\bigr)\Bigr]
At equilibrium: :math:`\beta = 1/\tau_b`.
Under stretch: detachment accelerates exponentially.
5.4 Conformation Tensor Evolution (Bridges Only)
--------------------------------------------------
Bridges evolve under flow with creation and force-activated destruction:
.. math::
\frac{d\mathbf{S}}{dt}
= \boldsymbol{\kappa}\cdot\mathbf{S}
+ \mathbf{S}\cdot\boldsymbol{\kappa}^T
+ g_0\,\mathbf{I}
- \beta(\mathbf{S})\,\mathbf{S}
with :math:`g_0 = 1/\tau_b`.
**Implementation:** ``loop_bridge.py``, ``_loop_bridge_ode_rhs``
(lines 150-161).
5.5 Stress Tensor
-------------------
Only bridges contribute to elastic stress:
.. math::
\boldsymbol{\sigma}
= f_B\,G\,(\mathbf{S} - \mathbf{I}) + 2\eta_s\,\mathbf{D}
**Implementation:** Loop-bridge predict methods multiply the base stress
by :math:`f_B`.
5.6 Shear Thickening Mechanism
---------------------------------
The non-monotonic viscosity arises from competing effects:
1. **Low shear rates** (:math:`\dot\gamma \ll 1/\tau_b`): Bridges are at
equilibrium; viscosity :math:`\eta \approx f_{B,\text{eq}} G\tau_b + \eta_s`.
2. **Moderate shear rates**: Flow-induced stretching increases the
detachment rate :math:`\beta`, but the *bridge fraction can increase*
if the reattachment rate (:math:`1/\tau_a`) exceeds the enhanced
detachment. More bridges → higher modulus → **shear thickening**.
3. **High shear rates** (:math:`\dot\gamma \gg 1/\tau_b`): Force-activated
detachment dominates; bridges are destroyed faster than they form.
Bridge fraction drops → **shear thinning**.
This produces the characteristic non-monotonic viscosity observed by Annable
et al. (1993) in HEUR thickeners: weak thickening followed by strong thinning.
5.7 SAOS Moduli (Linearised)
------------------------------
In the linear regime (:math:`\mathbf{S} \approx \mathbf{I}`), the loop-bridge
model reduces to a single Maxwell mode with effective modulus :math:`f_{B,\text{eq}} G`
and relaxation time :math:`\tau_b`:
.. math::
G'(\omega) &= f_{B,\text{eq}}\,G\,
\frac{(\omega\tau_b)^2}{1+(\omega\tau_b)^2}\\[4pt]
G''(\omega) &= f_{B,\text{eq}}\,G\,
\frac{\omega\tau_b}{1+(\omega\tau_b)^2} + \eta_s\omega
5.8 Parameters
----------------
.. list-table::
:header-rows: 1
* - Symbol
- Units
- Description
* - :math:`G`
- Pa
- Network modulus (all bridges active)
* - :math:`\tau_b`
- s
- Bridge lifetime (detachment timescale)
* - :math:`\tau_a`
- s
- Loop-to-bridge association time
* - :math:`\nu`
- dimensionless
- Force sensitivity (Bell exponent)
* - :math:`f_{B,\text{eq}}`
- dimensionless
- Equilibrium bridge fraction
* - :math:`\eta_s`
- Pa·s
- Solvent viscosity
Derived: :math:`\eta_0 = f_{B,\text{eq}}\,G\,\tau_b + \eta_s`,
:math:`f_{B,\text{eq}} = \tau_b/(\tau_a+\tau_b)`.
----
Verification Notes
==================
Discrepancy: Sticky Rouse Effective Time
-----------------------------------------
The documentation uses the **additive** form
:math:`\tau_{\text{eff},k} = \tau_{R,k} + \tau_s`, while the code uses
**max**: :math:`\tau_{\text{eff},k} = \max(\tau_{R,k},\tau_s)`. Both are
physically motivated but numerically distinct. Recommend aligning the
documentation with the code (or vice versa) and adding a note about the
alternative.
All Other Equations: Verified
------------------------------
- Green-Tobolsky/Tanaka-Edwards constitutive equation, steady states,
SAOS moduli, and relaxation modulus match published forms exactly.
- Cates geometric-mean :math:`\tau_d`, Cole-Cole semicircle, and UCM
constitutive equation match Cates (1987, 1990) and Turner & Cates (1991).
- Loop-Bridge kinetics, Bell detachment, and stress coupling to bridge
fraction match Tanaka & Edwards (1992) and Annable et al. (1993).
- Bell force-dependent breakage matches Bell (1978) Kramers form.
----
Sources
=======
Web-accessible references:
- `Probing the Molecular Mechanism of Viscoelastic Relaxation in Transient
Networks (PMC 2023) `_
- `Transient Network at Large Deformations: Elastic-Plastic Transition
(PMC 2016) `_
- `Analytic Solution for the Linear Rheology of Living Polymers
(arXiv 2024) `_
- `Rheological Characterization and Theoretical Modeling for Dynamically
Associating Polymers (PMC 2022) `_
- `Annable et al. (1993) J. Rheol.
`_
- `Tanaka & Edwards (1992) Macromolecules
`_
- `Rubinstein & Semenov (2001) Macromolecules
`_
- `Sticky Rouse Model for Dual Networks (2022)
`_
- `Structure and Rheology of Wormlike Micelles (Rheol. Acta)
`_