ITT-MCT Isotropic (ISM)

Quick Reference

  • Use when: Quantitative predictions needed, S(k) available, wave-vector-dependent

dynamics important

  • Parameters: 5 (\(\phi\), \(\sigma_d\), \(D_0\), \(k_BT\), \(\gamma_c\)) + \(S(k)\) input

  • Key equation: \(k\)-resolved correlator \(\Phi(k,t)\) with MCT vertex from \(S(k)\)

  • Test modes: Flow curve, oscillation, startup, creep, relaxation, LAOS

  • Material examples: Dense colloidal suspensions, hard-sphere glasses, silica particles,

PMMA colloids, concentrated emulsions

Data required: Structure factor \(S(k)\) from experiment or Percus-Yevick

Notation Guide

Symbol

Meaning

\(\Phi(k,t)\)

k-resolved density correlator (one function per wave vector)

\(S(k)\)

Static structure factor (equilibrium pair correlation)

\(c(k)\)

Direct correlation function, \(c(k) = 1 - 1/S(k)\)

\(V(k,q,p)\)

MCT vertex function (mode-coupling kernel)

\(\phi\)

Volume fraction (control parameter for glass transition)

\(\phi_g\)

Glass transition volume fraction (\(\approx 0.516\) for hard spheres)

\(\sigma_d\)

Particle diameter (m)

\(D_0\)

Bare short-time diffusion coefficient (\(\text{m}^2/\text{s}\))

\(k_B T\)

Thermal energy (J)

\(\Gamma(k)\)

k-dependent bare relaxation rate, \(\Gamma(k) = k^2 D_0 / S(k)\)

\(\gamma_c\)

Critical strain for cage breaking (dimensionless)

\(n\)

Number density (particles/\(\text{m}^3\))

Overview

The Isotropically Sheared Model (ISM) is the full k-resolved MCT for nonlinear rheology. Unlike the \(F_{12}\) schematic model, ISM tracks correlators at each wave vector \(k\), using the static structure factor \(S(k)\) to compute the memory kernel.

Key differences from \(F_{12}\):

  • \(k\)-resolved correlators \(\Phi(k,t)\)

  • Memory kernel from \(S(k)\) via MCT vertex \(V(k,q,|k-q|)\)

  • Quantitative predictions without empirical parameters

  • Higher computational cost

When to use ISM:

  • \(S(k)\) is known (from scattering experiments or simulation)

  • Wave-vector-dependent relaxation is important

  • Quantitative comparison with microscopic measurements

  • Systems where \(F_{12}\) simplifications are too severe

Physical Foundations

The ISM model extends the schematic \(F_{12}\) theory (see ITT-MCT Schematic (F_1_2)) to include full \(k\)-dependence. All physical concepts from the schematic model apply: cage effect, \(\beta\)-relaxation, \(\alpha\)-relaxation, glass transition. The key addition is wave-vector resolution of the dynamics.

Why \(k\)-dependence matters:

  1. Length-scale-dependent relaxation: Small \(k\) (long wavelengths) relax slower than large \(k\) (short wavelengths)

  2. Structure factor weighting: Peaks in \(S(k)\) indicate preferred length scales that dominate dynamics

  3. Quantitative stress predictions: Integration over \(k\)-space with \(S(k)\) weighting gives absolute stress values without empirical modulus

The ISM model is the most faithful representation of MCT for colloidal glasses, but requires \(S(k)\) as input and is computationally more expensive than \(F_{12}\).

Structure Factor Input

Percus-Yevick (Default)

For hard spheres, the analytic Percus-Yevick solution provides \(S(k)\):

model = ITTMCTIsotropic(phi=0.55)  # Uses Percus-Yevick automatically

The glass transition occurs at \(\phi_{MCT} \approx 0.516\) for hard spheres.

User-Provided \(S(k)\)

For real experimental data:

# From light scattering or X-ray experiments
k_data = np.array([...])  # Wave vectors
sk_data = np.array([...])  # Structure factor

model = ITTMCTIsotropic(
    sk_source="user_provided",
    k_data=k_data,
    sk_data=sk_data
)

Parameters

Name

Default

Bounds

Units

Physical Meaning

\(\phi\)

0.55

(0.1, 0.64)

Volume fraction (glass at \(\phi \approx 0.516\))

\(\sigma_d\)

\(10^{-6}\)

(\(10^{-9}\), \(10^{-3}\))

m

Particle diameter

\(D_0\)

\(10^{-12}\)

(\(10^{-18}\), \(10^{-6}\))

m2/s

Bare short-time diffusion coefficient

\(k_BT\)

\(4.1 \times 10^{-21}\)

(\(10^{-24}\), \(10^{-18}\))

J

Thermal energy

\(\gamma_c\)

0.1

(0.01, 0.5)

Critical strain for cage breaking

Isotropic Shear Approximation (ISM)

The ISM simplifies the full anisotropic MCT equations by assuming that the correlator depends only on the magnitude of the advected wavevector.

Wavevector Advection Derivation

For simple shear with rate \(\dot{\gamma}\), the advected wavevector is:

\[\mathbf{k}(t,t') = \big(k_x,\; k_y - \gamma(t,t')k_x,\; k_z\big)\]

The advected magnitude squared is:

\[k(t,t')^2 = k_x^2 + (k_y - \gamma k_x)^2 + k_z^2 = k^2 - 2\gamma k_x k_y + \gamma^2 k_x^2\]

Orientational averaging: Averaging over all initial orientations of \(\mathbf{k}\) on a sphere:

\[ \begin{align}\begin{aligned}\langle k_x^2 \rangle = \langle k_y^2 \rangle = \langle k_z^2 \rangle = k^2/3\\\langle k_x k_y \rangle = 0\end{aligned}\end{align} \]

This gives the isotropically sheared wavevector magnitude:

\[\boxed{ k(t,t') \approx k\sqrt{1 + \frac{1}{3}\gamma(t,t')^2} }\]

Physical interpretation:

  • At \(\gamma = 0\): \(k(t,t') = k\) (no advection)

  • At \(\gamma \sim 1\): \(k(t,t') \approx 1.15k\) (moderate stretch)

  • At \(\gamma \gg 1\): \(k(t,t') \propto k\gamma/\sqrt{3}\) (strong stretch)

The increased wavevector magnitude accelerates relaxation via the bare decay rate \(\Gamma(k) = k^2 D_0/S(k)\).

Governing Equations

\(k\)-Resolved Correlator Dynamics

Each wave vector \(k\) has its own correlator equation:

\[\partial_t \Phi(k,t) + \Gamma(k) \left[ \Phi(k,t) + \int_0^t m(k,t-s) \partial_s \Phi(k,s) ds \right] = 0\]

with the \(k\)-dependent bare relaxation rate:

\[\Gamma(k) = \frac{k^2 D_0}{S(k)}\]

This shows that:

  • Modes with large \(S(k)\) (strong correlations) relax slower

  • Short-wavelength modes (large \(k\)) have faster bare rates

  • The memory kernel \(m(k,t)\) couples all \(k\)-modes together

MCT Vertex Function

The memory kernel at wave vector \(k\) involves coupling to all other wave vectors:

\[m(k,t) = \sum_q V(k,q,|\mathbf{k}-\mathbf{q}|) \Phi(q,t) \Phi(|\mathbf{k}-\mathbf{q}|,t)\]

The vertex \(V\) depends on \(S(k)\) and its derivatives:

\[V(k,q,p) \propto n S(k) S(q) S(p) \left[ \frac{\mathbf{k} \cdot \mathbf{q}}{k^2} c(q) + \frac{\mathbf{k} \cdot \mathbf{p}}{k^2} c(p) \right]^2\]

where c(k) = 1 - 1/S(k) is the direct correlation function.

\(k\)-Resolved Correlators

Each wave vector has its own relaxation dynamics:

\[\partial_t \Phi(k,t) + \Gamma(k) \left[ \Phi(k,t) + \int_0^t m(k,t-s) \partial_s \Phi(k,s) ds \right] = 0\]

with \(k\)-dependent relaxation rate:

\[\Gamma(k) = \frac{k^2 D_0}{S(k)}\]

Stress from \(k\)-Space Integration

The stress tensor involves integration over all wave vectors:

\[\sigma = \frac{k_B T}{6\pi^2} \int_0^\infty dk \, k^4 S(k)^2 \left[\frac{\partial \ln S}{\partial \ln k}\right]^2 \int_0^\infty d\tau \, \Phi(k,\tau)^2 h(\dot{\gamma}\tau)\]

Microscopic Stress Formula Detail

The full generalized Green-Kubo expression for the shear modulus is:

\[G(t,t') = \frac{k_B T}{60\pi^2} \int_0^{\infty} dk\; k^4 \left[\frac{S'(k)}{S(k)^2}\right]^2\,\Phi_k(t,t')^2\]

Physical interpretation of the weighting factors:

Factor

Physical Meaning

\(k^4\)

Short wavelengths contribute more to stress (local rearrangements)

\([S'(k)]^2\)

Modes where S(k) varies rapidly (near the peak) dominate

\([S(k)]^{-4}\)

Modes with strong correlations contribute less (collective, slow)

\(\Phi_k^2\)

Only correlated (unrelaxed) modes carry stress

Quantitative predictions without adjustable modulus: Unlike the schematic model where \(G_\infty\) is fitted, ISM computes the stress magnitude directly from \(k_B T\), \(S(k)\), and \(\Phi_k\). This provides a first-principles prediction of yield stress and flow curves.

Equilibrium vs Driven Correlators

The correlator dynamics differ between quiescent and driven states:

Quiescent MCT (no shear, for SAOS):

\[\partial_t \Phi_k^{\text{eq}}(t) + \Gamma_k \left[\Phi_k^{\text{eq}}(t) + \int_0^t ds\; m_k(t-s)\;\partial_s \Phi_k^{\text{eq}}(s)\right] = 0\]

where \(\Gamma_k = k^2 D_0 / S(k)\) is constant.

Driven ITT-MCT (with shear):

\[\partial_t \Phi_k(t,t') + \Gamma_k(t,t') \left[\Phi_k(t,t') + \int_{t'}^t ds\; m_k(t,s,t')\;\partial_s \Phi_k(s,t')\right] = 0\]

where \(\Gamma_k(t,t') = D_0 k(t,t')^2 / S(k(t,t'))\) depends on the advected wavevector.

The key difference is that shear:

  1. Accelerates initial decay via increased \(\Gamma_k(t,t')\)

  2. Decorrelates the memory kernel via \(h[\gamma(t,s)]\)

  3. Creates two-time dependence in the correlator

This microscopic stress formula requires:

  • \(S(k)\) and its derivative (from structure factor)

  • \(\Phi(k,\tau)\) for all \(k\) (from solving the \(k\)-resolved MCT equations)

  • \(h(\dot{\gamma}\tau)\) (strain decorrelation function)

The integral weights contributions by \(k^4 S(k)^2 [S'(k)]^2\), meaning:

  • Modes near the \(S(k)\) peak contribute most

  • Both large \(S(k)\) and large \(S'(k)\) enhance stress contribution

  • Short-wavelength modes (large \(k\)) have higher weight due to \(k^4\)

Validity and Assumptions

When ISM works well:

  • Dense colloidal suspensions (\(\phi > 0.4\) for hard spheres)

  • Monodisperse or narrow size distribution

  • No attractive interactions (or weak compared to entropic caging)

  • Brownian dynamics (not granular or inertial)

  • \(S(k)\) accurately known (from scattering or theory)

Limitations:

  • Computationally expensive (\(O(n_k^2 \times N)\) vs \(O(N)\) for \(F_{12}\))

  • Requires accurate \(S(k)\) input

  • Assumes isotropic structure under shear (no shear-induced ordering)

  • No hopping or activated processes (important deep in glass)

  • Underestimates relaxation times far from transition

When to simplify to \(F_{12}\):

If you don’t have \(S(k)\) data or if qualitative trends are sufficient, use the \(F_{12}\) schematic model instead. ISM is for quantitative comparison with experiments where \(S(k)\) is measured via light scattering, X-rays, or neutron scattering.

What You Can Learn

The ISM model extends the \(F_{12}\) schematic with full \(k\)-resolution and quantitative predictions from the structure factor \(S(k)\). All parameters now have microscopic interpretation tied to colloidal physics.

Parameter Interpretation

\(\phi\) (Volume Fraction):

The packing fraction of particles, controlling the glass transition.

For graduate students: \(\phi\) is the order parameter for the jamming/glass transition in hard spheres. The MCT glass transition occurs at \(\phi_{MCT} \approx 0.516\), slightly below the random close packing \(\phi_{RCP} \approx 0.64\). The Percus-Yevick structure factor \(S(k; \phi)\) becomes singular at \(\phi_{MCT}\), where the self-consistent MCT equation develops a non-zero long-time limit \(f(k) > 0\). The separation from the transition scales as \(\varepsilon \sim (\phi - \phi_g)/\phi_g\).

For practitioners: \(\phi < 0.4\) is dilute (fluid), \(0.4 < \phi < 0.516\) is dense fluid (slow but ergodic), \(\phi > 0.516\) is glass (yield stress). Fitting \(\phi\) from rheology requires knowing the particle size \(\sigma_d\) to convert number density to volume fraction. Typical calibration: measure \(\phi\) gravimetrically or via osmotic pressure.

\(\sigma_d\) (Particle Diameter):

The hard-sphere diameter used to compute S(k) and set the k-grid resolution.

For graduate students: \(\sigma_d\) sets the characteristic length scale for structural correlations. The \(S(k)\) peak occurs at \(k^* \approx 2\pi/\sigma_d\) (nearest-neighbor spacing). In the microscopic stress formula, \(\sigma_d\) appears implicitly through the \(k\)-grid: stress is dominated by modes near \(k^*\) where \(S(k)\) is maximal and \(S'(k)\) is large.

For practitioners: Use \(\sigma_d\) from microscopy (e.g., dynamic light scattering radius), not the hydrodynamic radius. For polydisperse systems, use the number-average diameter. Typical values: 10 nm – 10 \(\mu\text{m}\) for colloids.

\(D_0\) (Bare Diffusion Coefficient):

The short-time (non-interacting) diffusion coefficient, \(D_0 = k_B T/(6\pi \eta_s a)\) for Stokes-Einstein.

For graduate students: \(D_0\) sets the bare relaxation rate \(\Gamma(k) = k^2 D_0/S(k)\). At high \(k\) (short wavelengths), \(S(k) \to 1\) and \(\Gamma(k) \approx k^2 D_0\) (free diffusion). At the \(S(k)\) peak, \(\Gamma(k)\) is strongly suppressed by the large \(S(k)\), leading to slow collective relaxation. The long-time diffusion coefficient \(D_L = D_0/S(0)\) accounts for thermodynamic slowing.

For practitioners: Measure \(D_0\) from dilute suspension DLS (\(\phi \to 0\) limit) or calculate from Stokes-Einstein using solvent viscosity \(\eta_s\). Typical values: \(10^{-12}\)\(10^{-9}\) m2/s for colloids in water.

\(k_B T\) (Thermal Energy):

The thermal energy scale, \(k_B \times\) temperature in Kelvin.

For graduate students: \(k_B T\) sets the absolute stress scale in the microscopic formula \(\sigma \sim (k_B T / 60\pi^2) \int dk\, k^4 [S'(k)]^2 \Phi^2\). For hard spheres, the stress is purely entropic (no potential energy), so \(k_B T\) is the only energy scale. At room temperature, \(k_B T \approx 4.11 \times 10^{-21}\) J.

For practitioners: Use \(k_B T = 4.11 \times 10^{-21}\) J at 25 degrees C. For temperature-dependent studies, scale \(k_B T\) linearly with \(T\). If fitted stress is off by a factor of 2, check if the effective temperature differs from solvent temperature (non-equilibrium heating).

\(\gamma_c\) (Critical Strain):

The cage-breaking strain scale (same as \(F_{12}\) schematic).

For graduate students: \(\gamma_c\) appears in the strain decorrelation \(h(\gamma) = \exp[-(\gamma/\gamma_c)^2]\). For hard spheres, \(\gamma_c \approx 0.05\text{--}0.1\) corresponds to the Lindemann parameter: the ratio of thermal vibration amplitude to particle spacing. Unlike the schematic model, \(\gamma_c\) in ISM is the only remaining fit parameter — all other quantities are determined by \(\phi\), \(\sigma_d\), \(D_0\), \(k_B T\), and \(S(k)\).

For practitioners: Fit \(\gamma_c\) from the shear-thinning onset in flow curves. Smaller \(\gamma_c\) means easier cage breaking. Typical values: 0.05 (rigid hard spheres), 0.15 (soft microgels), 0.3 (polymeric cages).

Material Classification

Material Classification from ITT-MCT ISM Parameters

\(\phi\) Range

Glass State

Typical Materials

\(S(k)\) Characteristics

\(\phi\) < 0.45

Dilute fluid

Low-concentration PMMA colloids, silica sols

\(S(k)\) peak \(< 2\), weak correlations, fast relaxation at all \(k\)

0.45 < \(\phi\) < 0.516

Dense fluid

Pre-jammed colloids, moderate emulsions

\(S(k)\) peak \(= 2\text{--}3\), strong correlations, slow but ergodic, critical slowing as \(\phi \to \phi_g\)

0.516 < \(\phi\) < 0.55

Marginal glass

Weakly jammed colloids, soft microgel pastes

\(S(k)\) peak \(> 3\), non-ergodic \(\Phi(k, t \to \infty) > 0\), small yield stress

0.55 < \(\phi\) < 0.58

Moderate glass

Hard-sphere colloids, carbopol microgels

\(S(k)\) peak \(> 4\), large \(f(k)\), clear yield stress, pronounced plateau

\(\phi\) > 0.58

Deep glass/jammed

Highly concentrated colloids, dense emulsions

\(S(k)\) peak \(> 5\), near-complete arrest, large yield stress, approaching RCP

Wave-Vector-Dependent Relaxation

By inspecting \(\Phi(k,t)\) at different k:

  • Small \(k\) (long wavelengths, \(k\sigma_d < 1\)): Collective density fluctuations, slow relaxation, sensitive to hydrodynamic interactions

  • Peak \(k\) (\(k \approx 2\pi/\sigma_d\)): Nearest-neighbor cage length scale, dominates stress response

  • Large \(k\) (\(k\sigma_d > 5\)): Single-particle rattling, fast relaxation, nearly free diffusion

Diagnostic use: If experimental dynamic light scattering provides \(\Phi(k,t)\) at multiple \(k\), fit the ISM model to all \(k\) simultaneously to validate MCT predictions.

Quantitative Stress Predictions

Unlike \(F_{12}\) (which has a fitted modulus \(G_\infty\)), ISM predicts stress from first principles given:

  • Volume fraction \(\phi\)

  • Particle size \(\sigma_d\)

  • Thermal energy \(k_B T\)

  • \(S(k)\) (from Percus-Yevick or experiment)

No adjustable stress scale: The only rheological fit parameter is \(\gamma_c\) (critical strain). The absolute stress magnitude is predicted from \(S(k)\).

Validation test: Compare ISM predictions to experimental flow curves. If the magnitude is wrong by a factor >2, check:

  1. Is \(S(k)\) correct? (Use experimental scattering if available)

  2. Are particles truly hard spheres? (Softness changes \(S(k)\))

  3. Is temperature correct? (\(k_B T\) enters the prefactor)

Structure Factor Evolution

While the current ISM implementation uses static \(S(k)\), inspecting \(S(k)\) features reveals:

  • \(S(k)\) peak position: Nearest-neighbor distance \(2\pi / k_{\text{peak}}\)

  • \(S(k)\) peak height: Strength of structural correlations (higher = stronger caging)

  • \(S(0)\): Compressibility (diverges at jamming in hard spheres)

Connection to \(\phi_g\): The glass transition volume fraction \(\phi_g \approx 0.516\) is where \(S(k)\) becomes so large that \(\Phi(k, t \to \infty) > 0\) for some \(k\).

Fitting Guidance

Parameter Initialization

Method 1: From known colloid properties

If you have a well-characterized colloidal suspension:

phi = 0.55              # Volume fraction (measured)
sigma_d = 1e-6          # Particle diameter (1 μm)
T = 298                 # Temperature (K)
k_BT = 1.38e-23 * T     # Thermal energy
eta_s = 1e-3            # Solvent viscosity (water, Pa·s)
D0 = k_BT / (3 * np.pi * eta_s * sigma_d)  # Stokes-Einstein

model = ITTMCTIsotropic(phi=phi, sigma_d=sigma_d, D0=D0, k_BT=k_BT)

Method 2: Fit to rheological data

If material properties are unknown, fit \(\phi\) and \(\gamma_c\) to flow curve data, keeping \(\sigma_d\), \(D_0\), \(k_B T\) as physically reasonable estimates.

Troubleshooting

Problem: S(k) peak too sharp/broad

  • Solution: Check if Percus-Yevick is appropriate for your system. For soft particles, provide user S(k) from scattering.

Problem: Predicted stress too high/low

  • Solution: Adjust \(k_B T\) (effective thermal energy may differ from room temperature in driven systems) or check if \(D_0\) is correct (hydrodynamic interactions).

Problem: Slow computation

  • Solution: Reduce \(k\)-grid resolution (n_k_points parameter) or use \(F_{12}\) schematic for initial exploration.

Usage

Basic Prediction

from rheojax.models.itt_mct import ITTMCTIsotropic
import numpy as np

# Hard-sphere glass
model = ITTMCTIsotropic(phi=0.55)

# Check glass state
info = model.get_glass_transition_info()
print(f"Glass: {info['is_glass']}")  # True for φ > 0.516

# Flow curve
gamma_dot = np.logspace(-2, 2, 30)
sigma = model.predict(gamma_dot, test_mode='flow_curve')

Inspect \(S(k)\)

# Get S(k) information
sk_info = model.get_sk_info()
print(f"S(k) peak at k = {sk_info['S_max_position']:.2f}")
print(f"S(k) max = {sk_info['S_max']:.2f}")

# Access k-grid and S(k) directly
import matplotlib.pyplot as plt
plt.loglog(model.k_grid, model.S_k)
plt.xlabel('k')
plt.ylabel('S(k)')

Update Parameters

# Change volume fraction and recalculate S(k)
model.update_structure_factor(phi=0.52)

# Or provide new experimental S(k)
model.update_structure_factor(k_data=k_new, sk_data=sk_new)

Model Comparison

ISM vs \(F_{12}\)

Aspect

\(F_{12}\) Schematic

ISM

Correlators

Single scalar \(\Phi(t)\)

Array \(\Phi(k,t)\), n_k points

\(S(k)\) input

Not needed

Required

Parameters

\(\varepsilon\), \(\Gamma\), \(\gamma_c\), \(G_\infty\)

\(\phi\), \(D_0\), \(\sigma_d\), \(k_B T\), \(\gamma_c\)

Glass transition

At \(v_2 = 4\)

At \(\phi \approx 0.516\)

Computation

\(O(N)\) per step

\(O(n_k^2 \times N)\)

Best for

Fitting, exploration

Quantitative predictions

See Also

When to use ISM vs \(F_{12}\):

  • Use ISM if: \(S(k)\) is known, quantitative predictions needed, validating MCT theory

  • Use \(F_{12}\) if: Fitting rheological data, qualitative trends, faster computation

API Reference

class rheojax.models.itt_mct.ITTMCTIsotropic(phi=None, sk_source='percus_yevick', k_data=None, sk_data=None, n_k=100, integration_method='volterra', n_prony_modes=10)[source]

Bases: ITTMCTBase

ITT-MCT Isotropically Sheared Model with k-resolved correlators.

The ISM computes density correlators Φ(k,t) for an array of wave vectors, using the static structure factor S(k) to compute the MCT memory kernel.

The model can use: - Built-in Percus-Yevick S(k) for hard spheres (default) - User-provided S(k) data

Parameters:
  • phi (float | None) – Volume fraction. If provided with Percus-Yevick, determines S(k).

  • sk_source (Literal['percus_yevick', 'user_provided']) – Source of structure factor data

  • k_data (ndarray | None) – Wave vectors for user-provided S(k)

  • sk_data (ndarray | None) – Structure factor values for user-provided S(k)

  • n_k (int) – Number of k-grid points

  • integration_method (Literal['volterra', 'history']) – Integration method for memory kernel

k_grid

Wave vector array (1/m or dimensionless)

Type:

np.ndarray

S_k

Structure factor at k_grid points

Type:

np.ndarray

vertex

MCT vertex matrix V(k,q)

Type:

np.ndarray

Examples

>>> # Using Percus-Yevick for hard spheres
>>> model = ITTMCTIsotropic(phi=0.55)
>>> model.get_glass_transition_info()
{'is_glass': True, 'phi': 0.55, 'phi_mct': 0.516, ...}
>>> # Using user-provided S(k)
>>> model = ITTMCTIsotropic(
...     sk_source="user_provided",
...     k_data=k_experimental,
...     sk_data=sk_experimental
... )
__init__(phi=None, sk_source='percus_yevick', k_data=None, sk_data=None, n_k=100, integration_method='volterra', n_prony_modes=10)[source]

Initialize ISM model.

Parameters:
  • phi (float | None) – Volume fraction for Percus-Yevick S(k)

  • sk_source (Literal['percus_yevick', 'user_provided']) – Source of structure factor

  • k_data (ndarray | None) – User-provided structure factor data

  • sk_data (ndarray | None) – User-provided structure factor data

  • n_k (int) – Number of k-grid points

  • integration_method (Literal['volterra', 'history']) – Integration method

  • n_prony_modes (int) – Number of Prony modes

update_structure_factor(phi=None, k_data=None, sk_data=None)[source]

Update structure factor (e.g., after parameter change).

Parameters:
  • phi (float | None) – New volume fraction (for Percus-Yevick)

  • k_data (ndarray | None) – New user-provided S(k) data

  • sk_data (ndarray | None) – New user-provided S(k) data

Return type:

None

get_glass_transition_info()[source]

Get information about the glass transition state.

Returns:

Glass transition properties including: - is_glass: bool - phi: current volume fraction - phi_mct: MCT glass transition (≈0.516) - S_max: peak of S(k)

Return type:

dict[str, Any]

get_sk_info()[source]

Get information about current S(k).

Returns:

S(k) properties

Return type:

dict[str, Any]

get_laos_harmonics(t, gamma_0=0.1, omega=1.0, n_harmonics=5)[source]

Extract Fourier harmonics from LAOS response.

Parameters:
  • t (ndarray) – Time array covering at least one full period

  • gamma_0 (float) – Strain amplitude

  • omega (float) – Angular frequency

  • n_harmonics (int) – Number of odd harmonics to extract

Return type:

tuple[ndarray, ndarray]

Returns:

  • sigma_prime_n (np.ndarray) – In-phase coefficients [sigma’_1, sigma’_3, sigma’_5, …]

  • sigma_double_prime_n (np.ndarray) – Out-of-phase coefficients [sigma’’_1, sigma’’_3, sigma’’_5, …]

__repr__()[source]

Return string representation.

Return type:

str

References