SpringPot (Scott-Blair Element)

Quick Reference

  • Use when: Power-law behavior, broad relaxation spectra, fractional viscoelasticity

  • Parameters: 2 (\(c_\alpha\), \(\alpha\))

  • Key equation: \(G^*(\omega) = V (i\omega)^{\alpha}\), \(G'(\omega) \sim G''(\omega) \sim \omega^{\alpha}\)

  • Test modes: Oscillation, relaxation, creep

  • Material examples: Critical gels (\(\alpha=0.5\)), polymer melts near Tg, soft glassy materials, biological tissues

Notation Guide

Symbol

Meaning

\(V\)

Fractional stiffness (Pa·s\(^{\alpha}\)). Sets absolute magnitude of modulus.

\(\alpha\)

Fractional order (0 < \(\alpha\) < 1). Controls power-law slope and spectrum breadth.

\({}^{C}D_t^{\alpha}\)

Caputo fractional derivative operator.

\(\tan\delta\)

Loss tangent = \(\tan(\pi\alpha/2)\). Frequency-independent for pure SpringPot.

Overview

The rheojax.models.SpringPot represents a fractional viscoelastic element that interpolates continuously between an ideal spring (\(\alpha = 0\)) and a Newtonian dashpot (\(\alpha = 1\)). Introduced by G.W. Scott Blair in 1944, the SpringPot replaces classical integer-order elements with a fractional derivative, enabling single-parameter power-law relaxation or creep that spans decades in time or frequency without requiring large Prony series. This model is foundational to fractional rheology and serves as the building block for all fractional viscoelastic models in RheoJAX.

The SpringPot is particularly powerful for materials exhibiting broad relaxation spectra—systems where stress relaxation or creep compliance cannot be captured by a single exponential timescale. Common applications include polymer gels, biological tissues, soft glassy materials, and any system near a critical transition (e.g., gelation, glass transition).

Physical Foundations

Microstructural Interpretation

The SpringPot describes materials with hierarchical or fractal structure where relaxation processes occur across multiple length and time scales:

Polymer Networks:
  • Cross-linked networks with broad distribution of cross-link lifetimes

  • Hierarchical structures (e.g., fibrillar collagen networks)

  • Semi-flexible polymers with multiple relaxation mechanisms

Soft Glassy Materials:
  • Systems near jamming transition with broad distribution of cage escape times

  • Power-law rheology from structural disorder

  • Examples: Colloidal glasses, dense emulsions, concentrated suspensions

Critical Gels ( \(\alpha\) = 0.5):
  • Materials at the gel point (percolation threshold)

  • Self-similar network structure

  • Winter-Chambon criterion: \(G' = G'' \propto \omega^{0.5}\)

Biological Tissues:
  • Multi-component systems with distributed relaxation times

  • Fibrous networks with varying strand stiffness

  • Examples: Articular cartilage, skin, lung parenchyma

Connection to Fractional Calculus

The Caputo fractional derivative generalizes integer-order derivatives. For \(n-1 < \alpha < n\) (where \(n = \lceil\alpha\rceil\)):

\[{}^{C}D_t^{\alpha} f(t) = \frac{1}{\Gamma(n-\alpha)} \int_0^t (t-s)^{n-\alpha-1} f^{(n)}(s) \, ds\]

For viscoelastic SpringPot (\(0 < \alpha < 1\), so \(n=1\)):

\[{}^{C}D_t^{\alpha} f(t) = \frac{1}{\Gamma(1-\alpha)} \int_0^t \frac{f'(s)}{(t-s)^{\alpha}} \, ds, \quad 0 < \alpha < 1\]
Key cases for Caputo derivative order

Order \(\alpha\)

n

Formula

\(0 < \alpha < 1\)

1

\(\frac{1}{\Gamma(1-\alpha)} \int_0^t (t-s)^{-\alpha} f'(s) \, ds\)

\(1 < \alpha < 2\)

2

\(\frac{1}{\Gamma(2-\alpha)} \int_0^t (t-s)^{1-\alpha} f''(s) \, ds\)

\(2 < \alpha < 3\)

3

\(\frac{1}{\Gamma(3-\alpha)} \int_0^t (t-s)^{2-\alpha} f'''(s) \, ds\)

Limiting behavior (recovers integer derivatives):

  • As \(\alpha \to 1^-\): \({}^{C}D_t^{\alpha} f(t) \to f'(t)\)

  • As \(\alpha \to 2^-\): \({}^{C}D_t^{\alpha} f(t) \to f''(t)\)

Memory effect: The integral form means the fractional derivative depends on the entire history of \(f\) from 0 to \(t\), not just local behavior. This power-law kernel \((t-s)^{-\alpha}\) captures fading memory—why fractional calculus models viscoelastic materials with long-range temporal correlations (unlike exponential memory in Maxwell models).

Physical interpretation of \(\alpha\) :

  • \(\alpha \to 0\): Short-range memory (elastic, spring-like)

  • \(\alpha = 0.5\): Self-similar memory (critical gel)

  • \(\alpha \to 1\): Long-range memory (viscous, dashpot-like)

Physical Foundation

The SpringPot generalizes the classical spring-dashpot duality using fractional calculus:

Constitutive Equation (Caputo Derivative):

\[\sigma(t) = V\,{}^{C}D_t^{\alpha}\,\gamma(t), \qquad 0 < \alpha < 1\]

where:

  • \(\sigma(t)\) = stress (Pa)

  • \(\gamma(t)\) = strain (dimensionless)

  • \(V\) = generalized modulus (Pa·salpha)

  • \({}^{C}D_t^{\alpha}\) = Caputo fractional derivative of order \(\alpha\)

  • \(\alpha\) = fractional order in (0, 1)

Physical Meaning of Fractional Order \(\alpha\):

The fractional order \(\alpha\) quantifies the width of the relaxation spectrum:

  • \(\alpha \to 0\): Nearly elastic (spring-like), narrow spectrum

  • \(\alpha = 0.5\): Balanced viscoelastic behavior, critical gel signature

  • \(\alpha \to 1\): Nearly viscous (dashpot-like), narrow spectrum

  • \(0 < \alpha < 1\): Broad distribution of relaxation times, power-law behavior

Materials with hierarchical structures, fractal networks, or significant polydispersity exhibit intermediate \(\alpha\) values (\(0.2 < \alpha < 0.8\)).

Governing Equations

Complex Modulus (Oscillatory):

\[G^*(\omega) = V (i\omega)^{\alpha} = V\,\omega^{\alpha} \left[\cos\left(\tfrac{\pi\alpha}{2}\right) + i\sin\left(\tfrac{\pi\alpha}{2}\right)\right]\]

Storage and Loss Moduli:

\[\begin{split}G'(\omega) &= V\,\omega^{\alpha} \cos\left(\tfrac{\pi\alpha}{2}\right) \\ G''(\omega) &= V\,\omega^{\alpha} \sin\left(\tfrac{\pi\alpha}{2}\right)\end{split}\]

Loss Tangent (Frequency-Independent):

\[\tan\delta = \frac{G''(\omega)}{G'(\omega)} = \tan\left(\tfrac{\pi\alpha}{2}\right) = \text{constant}\]

This frequency-independent loss tangent is the hallmark of SpringPot behavior and the Winter-Chambon criterion for critical gels.

Relaxation Modulus:

\[G(t) = \frac{V}{\Gamma(1-\alpha)} t^{-\alpha}\]

Shows pure power-law decay without exponential components.

Creep Compliance:

\[J(t) = \frac{1}{V\,\Gamma(1+\alpha)} t^{\alpha}\]

Shows power-law growth in strain under constant stress.

Parameters

Parameter summary

Name

Units

Description / Constraints

c_alpha

Pa·salpha

Fractional stiffness; > 0. Sets vertical placement of \(G^*\) on log-log plots.

alpha

Fractional order in (0, 1). Controls slope of \(G'\) and \(G''\) in log-log space.

Validity and Assumptions

  • Linear viscoelasticity: yes

  • Small amplitude: yes

  • Isothermal: yes

  • Data/test modes: oscillation, relaxation, creep

  • Additional assumptions: pure power-law behavior (no plateaus or terminal flow)

Limitations

No terminal flow or equilibrium plateau:

SpringPot alone cannot capture: - Terminal viscosity (need dashpot in series) - Equilibrium modulus (need spring in parallel) - Use composite models (Fractional Maxwell, Fractional Zener) for complete behavior

Valid only in power-law regime:

Real materials exhibit power-law behavior only over limited frequency/time windows. SpringPot should be restricted to the range where \(\log(G')\) vs \(\log(\omega)\) is linear.

Singular limits:

\(\alpha \to 0\) or \(\alpha \to 1\) are numerically unstable. Use bounds [0.05, 0.95] in fitting. For \(\alpha < 0.1\), use spring model; for \(\alpha > 0.9\), use dashpot model.

Temperature dependence:

Both V and \(\alpha\) may depend on temperature. For time-temperature superposition, use composite models where \(\alpha\) can remain constant while timescales shift.

What You Can Learn

This section explains how to extract physical insights from fitted SpringPot parameters and diagnose material behavior.

Parameter Interpretation

V (Fractional Stiffness):

Fitted \(V\) reveals the absolute magnitude of the material response:

  • Low values (< \(10^2\) Pa·s:sup:` \(\alpha\) `): Soft materials (weak gels, dilute solutions)

  • Moderate values ( \(10^2-10^4\) Pa·s:sup:` \(\alpha\) `): Biological tissues, polymer gels

  • High values (> \(10^4\) Pa·s:sup:` \(\alpha\) `): Dense colloidal suspensions, concentrated emulsions

For practitioners: \(V\) at reference frequency \(\omega_{\text{ref}}\) gives characteristic modulus via \(|G^*(\omega_{\text{ref}})| = V \omega_{\text{ref}}^{\alpha}\).

For researchers: Compare \(V\) across samples to track structural changes (crosslinking, aging, degradation).

alpha (Fractional Order):

Fitted \(\alpha\) quantifies spectrum breadth and material state:

  • Low \(\alpha\) (<0.2): Narrow spectrum, nearly elastic solid

  • \(\alpha \approx 0.5\): Critical gel (Winter-Chambon criterion), self-similar structure

  • High \(\alpha\) (>0.8): Broad spectrum, nearly viscous liquid

For researchers: \(\alpha\) relates to structural complexity:
  • Monodisperse systems: \(\alpha \to 0\) or \(1\) (single timescale)

  • Polydisperse/hierarchical systems: \(0.2 < \alpha < 0.8\) (broad spectrum)

  • At gel point: \(\alpha = 0.5\) exactly (percolation threshold)

For quality control: Track \(\alpha\) to monitor gelation progress or structural degradation.

Material Classification

Material Classification from SpringPot Parameters

\(\alpha\) Range

Material Type

Physical State

Examples

0.1-0.3

Weak gels, soft solids

Near-solid, narrow spectrum

Gelatin, weak hydrogels

0.4-0.6

Critical gels, soft glasses

Gel point, self-similar

Colloidal glasses at jamming

0.7-0.9

Viscoelastic fluids

Near-liquid, broad spectrum

Polymer melts near Tg

Winter-Chambon Gel Point Criterion:

At gelation, \(\alpha = 0.5\) exactly and \(\tan\delta = 1\) (\(G' = G''\)).

To verify gel point:
  1. Fit SpringPot to frequency sweep

  2. Check \(\alpha \approx 0.5\) (within \(\pm 0.05\))

  3. Verify \(\tan\delta\) is frequency-independent

  4. Confirm \(G' \approx G''\) across decades

Diagnostic Indicators

Warning signs in fitted parameters:

  • If \(\alpha < 0.1\) or \(\alpha > 0.9\): Power-law regime too narrow; SpringPot not appropriate. Use Maxwell (\(\alpha \to 1\)) or spring (\(\alpha \to 0\)) instead.

  • If fit quality poor ( \(R^2\) < 0.95): Material exhibits plateaus or terminal flow. Use Fractional Maxwell or Fractional Zener models.

  • If \(\alpha\) varies with temperature: Material is thermorheologically complex. Cannot use simple time-temperature superposition.

  • If tan \(\delta\) not constant: Pure SpringPot inadequate; mixture of relaxation processes. Use composite models.

Verification strategies:

  1. Log-log linearity: Plot \(\log(G')\) vs \(\log(\omega)\) → slope should equal \(\alpha\) across entire range

  2. Loss tangent constancy: \(\tan\delta = \tan(\pi\alpha/2)\) should be frequency-independent

  3. \(G'/G''\) ratio: Should satisfy \(G'/G'' = \cot(\pi\alpha/2)\) at all frequencies

  4. Relaxation modulus: \(\log(G(t))\) vs \(\log(t)\) → slope = -\(\alpha\)

Application Examples

Gel Point Determination:
  • Track \(\alpha\) during crosslinking/gelation

  • Gel point occurs when \(\alpha = 0.5\) (\(\pm 0.05\))

  • Confirms percolation transition

Material Development:
  • Tune crosslink density to achieve target \(\alpha\)

  • \(\alpha = 0.3\text{--}0.4\) for soft tissue mimics

  • \(\alpha = 0.5\) for self-healing gels at rest state

Quality Control:
  • Monitor \(\alpha\) batch-to-batch for consistency

  • Degradation typically increases \(\alpha\) (network breakdown)

  • Aging typically decreases \(\alpha\) (network strengthening)

Material Examples

Polymer Gels (\(\alpha \approx 0.3-0.7\)):

  • Gelatin gels: \(V \approx 10^3-10^4\) Pa·salpha, \(\alpha \approx 0.4-0.6\)

  • Alginate gels: \(\alpha \approx 0.3-0.5\) depending on cross-link density

  • Collagen networks: \(\alpha \approx 0.4\) (hierarchical fibrillar structure)

Biological Tissues (\(\alpha \approx 0.1-0.5\)):

  • Articular cartilage: \(\alpha \approx 0.2\), \(V \approx 10^5\) Pa·salpha

  • Skin (dermis): \(\alpha \approx 0.3-0.4\)

  • Lung tissue: \(\alpha \approx 0.15-0.25\)

  • Liver parenchyma: \(\alpha \approx 0.2\)

Soft Glassy Materials (\(\alpha \approx 0.3-0.6\)):

  • Carbopol gels: \(\alpha \approx 0.4-0.5\)

  • Laponite suspensions: \(\alpha \approx 0.3-0.6\) near jamming

  • Concentrated emulsions: \(\alpha \approx 0.4\)

Critical Gels (\(\alpha = 0.5\)):

  • Materials at the gel point exhibit \(G' = G'' \propto \omega^{0.5}\)

  • This is the Winter-Chambon criterion for gelation

Experimental Design

Frequency Sweep (SAOS):

  1. Frequency range: Span at least 2 decades (e.g., 0.1-10 Hz) to resolve power-law slope

  2. Strain amplitude: Within LVR (typically 0.5-5% for gels)

  3. Temperature control: ±0.1°C (critical for soft materials)

  4. Verification: Plot \(\log(G')\) vs \(\log(\omega)\) → slope = \(\alpha\)

Stress Relaxation:

  1. Step strain: \(\gamma_0 = 1-5\%\) within LVR

  2. Time span: Cover 3-4 decades in time

  3. Sampling: Log-spaced time points to capture power-law decay

  4. Analysis: \(\log(G(t))\) vs \(\log(t)\) → slope = \(-\alpha\)

Creep Test:

  1. Constant stress: Within LVR (verify with amplitude sweep)

  2. Time span: Long enough to observe power-law regime (> \(10^3\) s for gels)

  3. Sampling: Log-spaced to avoid early-time bias

  4. Analysis: \(\log(J(t))\) vs \(\log(t)\) → slope = \(\alpha\)

Fitting Guidance

Parameter Initialization Strategies

Method 1: From frequency sweep

Step 1: Estimate \(\alpha\) from log-log slope

Plot \(\log(G')\) vs \(\log(\omega)\) → slope = \(\alpha\)

Step 2: Calculate \(V\) from a reference point

Choose \(\omega_{\text{ref}}\) in middle of data range:

\[V = \frac{G'(\omega_{\text{ref}})}{\omega_{\text{ref}}^{\alpha} \cos(\pi\alpha/2)}\]

Method 2: From relaxation data

Step 1: Estimate \(\alpha\) from log-log slope

Plot \(\log(G(t))\) vs \(\log(t)\) → slope = \(-\alpha\)

Step 2: Calculate \(V\) using Gamma function

Choose \(t_{\text{ref}}\) in middle of data range:

\[V = G(t_{\text{ref}}) \cdot \Gamma(1-\alpha) \cdot t_{\text{ref}}^{\alpha}\]

Method 3: From loss tangent (critical gels)

If \(\tan\delta\) is constant:

Step 1: Calculate \(\alpha\) directly
\[\alpha = \frac{2}{\pi} \arctan(\tan\delta)\]

Step 2: Use frequency sweep method above for \(V\)

Optimization Algorithm Selection

RheoJAX default: NLSQ (GPU-accelerated)
  • Recommended for SpringPot (2 parameters, well-conditioned)

  • Fast convergence if initialized from slope analysis

  • 5-270× faster than scipy.optimize

Bounds:
  • \(c\_{\alpha}\): (1e-3, 1e9) Pa·s\(^{\alpha}\) (adjust based on material)

  • \(\alpha\): (0.0, 1.0) (avoid singularities at exact 0 and 1)

Fitting strategy:
  • Use log-spaced data to avoid early/late time dominance

  • Fit in log-space: minimize \(\sum (\log|G^*_{\text{data}}| - \log|G^*_{\text{fit}}|)^2\)

  • Weight \(G'\) and \(G''\) equally in log-space

Troubleshooting Common Fitting Problems

Fitting diagnostics and solutions

Problem

Diagnostic

Solution

\(\alpha\) converges to bounds (0.05 or 0.95)

Power-law regime too narrow

Use Maxwell (\(\alpha \to 1\)) or spring (\(\alpha \to 0\)) model instead

Poor fit despite linear log-log plot

Transition regions at data edges

Restrict fitting to middle decade where slope is constant

Noisy \(\alpha\) estimate

Insufficient frequency/time span

Extend measurement to cover 3+ decades

Oscillatory residuals

Multiple relaxation modes present

Use Fractional Zener or Generalized Maxwell

V unrealistic (negative or extreme)

Poor \(\alpha\) initialization

Reinitialize \(\alpha\) from slope analysis before fitting V

Validation Strategies

1. Visual Inspection

Plot on log-log axes:
  • \(G'\) and \(G''\) vs \(\omega\) should be parallel straight lines

  • Slope of both curves should equal \(\alpha\)

  • Vertical separation = \(\pi\alpha/2\) radians in phase

2. Loss Tangent Check

\[\tan\delta = \frac{G''(\omega)}{G'(\omega)} = \tan\left(\frac{\pi\alpha}{2}\right) = \text{constant}\]

If \(\tan\delta\) varies > 10% across frequency range, SpringPot is inadequate.

3. Residual Analysis

Residuals in log-space should be:
  • Random (no systematic curvature)

  • Equal magnitude for \(G'\) and \(G''\)

  • RMSE < 0.1 (10% error in log-space)

4. Cross-validation

Convert between test modes:
  • Fit oscillation → predict relaxation via inverse Fourier

  • Fit relaxation → predict oscillation via Fourier

  • Discrepancies > 20% indicate model inadequacy

Usage

Basic Fitting Example

from rheojax.core.jax_config import safe_import_jax
jax, jnp = safe_import_jax()
from rheojax.models import SpringPot

# Frequency sweep data (critical gel)
omega = jnp.logspace(-2, 2, 120)  # 0.01 - 100 rad/s
G_star = measure_complex_modulus(omega)

# Initialize and fit
model = SpringPot()
model.parameters.set_value('c_alpha', 1.0e3)
model.parameters.set_value('alpha', 0.5)
model.fit(omega, G_star, test_mode='oscillation')

# Check fitted parameters
c_alpha = model.parameters.get_value('c_alpha')
alpha = model.parameters.get_value('alpha')
print(f"c_alpha = {c_alpha:.2e} Pa·s^{alpha:.3f}")
print(f"alpha = {alpha:.3f}")

# Verify gel point (alpha should be ~0.5)
if abs(alpha - 0.5) < 0.05:
    print("Material is at gel point (Winter-Chambon criterion satisfied)")

Advanced: Slope Verification

from rheojax.core.jax_config import safe_import_jax
jax, jnp = safe_import_jax()
import numpy as np
from rheojax.models import SpringPot

# Fit model
model = SpringPot()
model.fit(omega, G_star, test_mode='oscillation')

# Extract parameters
alpha_fit = model.parameters.get_value('alpha')

# Verify slope from data
log_omega = np.log10(omega)
log_Gp = np.log10(np.real(G_star))

# Linear regression on middle 80% of data
n = len(omega)
idx_start, idx_end = int(0.1*n), int(0.9*n)
slope_measured = np.polyfit(
    log_omega[idx_start:idx_end],
    log_Gp[idx_start:idx_end],
    1
)[0]

print(f"Fitted alpha: {alpha_fit:.3f}")
print(f"Measured slope: {slope_measured:.3f}")
print(f"Difference: {abs(alpha_fit - slope_measured):.4f}")

Cross-Mode Prediction

from rheojax.core.jax_config import safe_import_jax
jax, jnp = safe_import_jax()
from rheojax.models import SpringPot

# Fit to oscillatory data
model = SpringPot()
model.fit(omega, G_star, test_mode='oscillation')

# Predict relaxation modulus
t = jnp.logspace(-2, 3, 100)
G_t = model.predict(t, test_mode='relaxation')

# Predict creep compliance
J_t = model.predict(t, test_mode='creep')

# Verify power-law: G(t) ~ t^(-alpha)
alpha = model.parameters.get_value('alpha')
expected_slope = -alpha

log_t = jnp.log10(t[10:-10])
log_G = jnp.log10(G_t[10:-10])
actual_slope = jnp.polyfit(log_t, log_G, 1)[0]

print(f"Expected slope: {expected_slope:.3f}")
print(f"Actual slope: {actual_slope:.3f}")

Model Comparison

SpringPot vs Maxwell:

  • Maxwell: Exponential relaxation, single timescale

  • SpringPot: Power-law relaxation, broad spectrum

  • Use SpringPot when \(\log(G(t))\) vs \(\log(t)\) is linear over decades

SpringPot vs Zener:

  • Zener: Has equilibrium plateau (\(G_e > 0\))

  • SpringPot: No plateau, pure power-law

  • Combine as Zener (Standard Linear Solid) + SpringPot for finite plateau with power-law approach

SpringPot vs Fractional Maxwell:

Limitations

  1. No terminal flow: SpringPot alone does not capture viscous dissipation at long times

  2. No equilibrium plateau: Cannot model cross-linked solids without modification

  3. Narrow applicability: Valid only in power-law regime; most real materials need composite models

  4. Singular limits: \(\alpha \to 0, 1\) numerically unstable; use bounds \([0.05, 0.95]\)

Troubleshooting

Issue: Fitted \(\alpha\) close to 0 or 1

  • Cause: Data span insufficient frequency/time range

  • Solution: Extend measurement window or use Maxwell/Zener model

Issue: Poor fit quality despite power-law appearance

  • Cause: Transition regions at edges of data

  • Solution: Restrict fitting to middle decade where slope is constant

Issue: Noisy derivative from creep data

Issue: Oscillatory residuals in log-log plot

Tips & Best Practices

  1. Log-space fitting: Resample data onto log-spaced grids to avoid early/late-time bias

  2. Verify power-law: Plot \(\log(G')\) vs \(\log(\omega)\) → linear with slope \(\alpha\)

  3. Check loss tangent: For pure SpringPot, \(\tan\delta\) should be frequency-independent

  4. Combine with transforms: Use FFTAnalysis to convert relaxation → oscillation

  5. Parallel spring: Add spring (Zener (Standard Linear Solid)) if equilibrium modulus \(G_e > 0\) exists

  6. Series dashpot: Add dashpot (Fractional Maxwell Gel (Fractional)) for terminal flow

  7. Differentiation: Use SmoothDerivative for creep compliance derivatives

References

See Also

Classical Models:

Fractional Models (Built on SpringPot):

Transforms:

  • FFTAnalysis — convert time sweeps to \(G'(\omega)\) and \(G''(\omega)\) before fitting

  • SmoothDerivative — noise-robust differentiation for creep data

  • MutationNumber — verify frequency-independent loss tangent

Examples:

  • ../../examples/advanced/04-fractional-models-deep-dive — notebook comparing all fractional families

  • ../../examples/basic/03-springpot-fitting — step-by-step SpringPot parameter estimation

User Guides:

  • ../../user_guide/model_selection — decision flowcharts for choosing rheological models