DMTA Model Selection & Applicability

Every oscillation-capable model in RheoJAX works with DMTA data through the automatic \(E^* \leftrightarrow G^*\) conversion in BaseModel. This page provides a complete inventory of compatible models and transforms, a tiered recommendation guide, and the conversion mechanism.

How DMTA Support Works

The E* ↔ G* conversion is handled by BaseModel, not by individual models. This means all 45 oscillation-capable model registrations (39 unique classes) work with DMTA data without any model-level changes.

fit(ω, E*, test_mode='oscillation', deformation_mode='tension', ν=0.5)
  │
  ├─ 1. Parse deformation_mode → DeformationMode.TENSION
  ├─ 2. Store: self._deformation_mode, self._poisson_ratio
  ├─ 3. is_tensile() → True → convert_modulus(E*, "tension", "shear", ν)
  │     E* ÷ 2(1+ν) → G*
  ├─ 4. Call self._fit(ω, G*, ...)  ← model sees G* only
  └─ 5. Parameters stored in G-space (G₀, not E₀)

predict(ω, test_mode='oscillation')
  │
  ├─ 1. Call self._predict(ω) → G*
  ├─ 2. Check self._deformation_mode
  ├─ 3. is_tensile() → True → G* × 2(1+ν) → E*
  └─ 4. Return E*

fit_bayesian() follows the same conversion pattern.

Note

Some models are registered under multiple names (aliases). For example, hvm and hvm_local both instantiate HVMLocal. The 45 registrations correspond to 39 unique model classes.

Complete Model Inventory

The following tables list every model in RheoJAX and its DMTA compatibility.

Tier 1 — Primary DMTA Models

These models are the first choice for standard DMTA data analysis.

Model

Params

Registry Name(s)

Best For

FractionalZenerSolidSolid

3–5

fractional_zener_ss

Amorphous polymers through \(T_g\), broad \(\tan\delta\) peak

GeneralizedMaxwell

2N+1

generalized_maxwell

Any polymer, master curves, FEM export (Prony series)

Zener

3

zener

Quick fits, narrow relaxation (< 1 decade)

Maxwell

2

maxwell

Single-mode baseline comparison

SpringPot

2

springpot

Power-law relaxation element

Tier 2 — Temperature-Dependent Models

Models with built-in Arrhenius or WLF temperature dependence, ideal for multi-temperature DMTA datasets.

Model

Params

Registry Name(s)

Best For

VLBLocal

2+

vlb, vlb_local

Crosslinked polymers, Arrhenius \(k_d(T)\)

VLBVariant

4+

vlb_variant

Advanced VLB with \(G(T)\), first-principles TTS

VLBMultiNetwork

6+

vlb_multi_network

Multi-network VLB with independent dissociation

HVMLocal

10

hvm, hvm_local

Vitrimers / CANs showing \(T_v\) transition

HVNMLocal

15

hvnm, hvnm_local

NP-filled vitrimers with Payne effect + \(T_v\)

FIKH

8+

fikh

Thixotropic polymers with T-dependent yield

FMLIKH

8+

fmlikh

Fractional modified Lenoir-IKH

Tier 3 — Specialist Viscoelastic Models

These models target specific material classes or physics.

Model

Params

Registry Name(s)

Best For

GiesekusSingleMode

4

giesekus, giesekus_single

Polymer melts above \(T_g\)

GiesekusMultiMode

4N

giesekus_multi, giesekus_multimode

Multi-mode polymer melts

TNTSingleMode

5+

tnt, tnt_single_mode

Telechelic polymers, physically crosslinked hydrogels

SGRConventional

3+

sgr_conventional

Soft glassy materials (foams, pastes, colloidal glasses)

SGRGeneric

4+

sgr_generic

Generalized SGR with GENERIC structure

ITTMCTSchematic

6+

itt_mct_schematic

Dense colloids near glass transition

ITTMCTIsotropic

6+

itt_mct_isotropic

Isotropic MCT variant

STZConventional

6+

stz_conventional

Shear transformation zones (metallic glasses)

HebraudLequeux

4+

hebraud_lequeux

Hébraud-Lequeux glassy dynamics

DMTLocal

4+

dmt_local

de Souza Mendes-Thompson thixotropy

Tier 4 — Extended Fractional & Kinematic Models

Additional fractional viscoelastic and kinematic hardening models.

Model

Params

Registry Name(s)

Best For

FractionalZenerSolidLiquid

3–5

fractional_zener_sl

Solid-to-liquid fractional transition

FractionalZenerLiquidLiquid

3–5

fractional_zener_ll

Liquid-liquid fractional regime

FractionalMaxwellModel

3

fractional_maxwell_model

Simple fractional dashpot

FractionalMaxwellGel

3

fractional_maxwell_gel

Gel-like power-law response

FractionalMaxwellLiquid

3

fractional_maxwell_liquid

Fractional liquid behaviour

FractionalKelvinVoigt

3

fractional_kelvin_voigt

Solid-dominant fractional

FractionalKelvinVoigtZener

4–5

fractional_kv_zener

Kelvin-Voigt + Zener combination

FractionalBurgersModel

5–7

fractional_burgers

Two fractional elements in series

FractionalJeffreysModel

5–6

fractional_jeffreys

Jeffreys model with fractional order

FractionalPoyntingThomson

5

fractional_poynting_thomson

Poynting-Thomson with springpot

MIKH

6+

mikh

Modified isotropic kinematic hardening

MLIKH

6+

ml_ikh

Multi-layer IKH

LatticeEPM

3+

lattice_epm

Elastoplastic lattice model

TensorialEPM

4+

tensorial_epm

Tensorial elastoplastic model

FluidityLocal

3+

fluidity_local

Fluidity-based model

FluidityNonlocal

4+

fluidity_nonlocal

Nonlocal fluidity

FluiditySaramitoLocal

5+

fluidity_saramito_local

Saramito EVP fluidity

Models NOT Compatible with DMTA

The following 14 models cannot be used with DMTA data because they lack Protocol.OSCILLATION support.

Flow-curve models (steady shear \(\eta(\dot\gamma)\) only):

  • power_law — Power law

  • carreau — Carreau

  • carreau_yasuda — Carreau-Yasuda

  • cross — Cross

  • bingham — Bingham

  • herschel_bulkley — Herschel-Bulkley

TNT advanced variants (startup/flow protocols only):

  • tnt_cates — Cates living polymer model

  • tnt_sticky_rouse — Sticky Rouse

  • tnt_loop_bridge — Loop-bridge topology

  • tnt_multi_species — Multi-species TNT

Nonlocal PDE models (spatially resolved, no oscillation):

  • vlb_nonlocal — VLB nonlocal

  • dmt_nonlocal — DMT nonlocal

  • fluidity_saramito_nonlocal — Saramito EVP nonlocal

Other:

  • spp_yield_stress — SPP yield stress decomposition (LAOS shear analysis)

Tip

To check DMTA compatibility programmatically:

from rheojax.core.registry import ModelRegistry
from rheojax.core.test_modes import DeformationMode
from rheojax.core.inventory import Protocol

# All models supporting tension + oscillation
models = ModelRegistry.find(
    protocol=Protocol.OSCILLATION,
    deformation_mode=DeformationMode.TENSION,
)

Transform Applicability for DMTA

RheoJAX transforms vary in their DMTA compatibility. Unlike models, transforms do not have built-in deformation_mode handling — the conversion must be managed at the model or utility level.

Transform

DMTA Status

Notes

Mastercurve

Direct

Modulus-agnostic TTS; works on E* or G* without conversion

prony_conversion

Direct

\(E(t) \leftrightarrow E^*(\omega)\) via Prony series; amplitude-agnostic

spectrum_inversion

Direct

Recover \(H(\tau)\) from \(E'(\omega)\), \(E''(\omega)\) directly

fft_analysis

After E* → G*

Operates on time-domain signals; convert first

lve_envelope

After E* → G*

LVE envelope from \(G', G''\)

mutation_number

After E* → G*

Mutation number from \(G'(t)\) evolution

smooth_derivative

After E* → G*

Numerical derivative (generic utility)

cox_merz

Not applicable

Shear-specific (\(\eta^*\) vs \(\eta\))

owchirp

Not applicable

Shear chirp protocol

spp_decomposer

Not applicable

LAOS shear decomposition

srfs

Not applicable

Shear rate frequency superposition

Using transforms that require conversion:

from rheojax.utils.modulus_conversion import convert_modulus

# Convert E* to G* before applying the transform
G_star = convert_modulus(E_star, "tension", "shear", poisson_ratio=0.5)

# Apply the transform on G*
from rheojax.transforms import LVEEnvelope
envelope = LVEEnvelope()
result = envelope.transform(omega, G_star)

Modulus conversion presets:

from rheojax.utils.modulus_conversion import POISSON_PRESETS

# Available presets:
# rubber / elastomer:        0.50
# glassy_polymer:            0.35
# semicrystalline:           0.40
# hydrogel:                  0.50
# foam:                      0.30
# metal:                     0.30
# ceramic:                   0.25
# biological_tissue:         0.45

Model Complexity Ladder

Models are listed from simplest to most expressive. Start with the simplest model that captures your data and move up only if residuals are systematic (see Numerical Implementation for convergence criteria):

  1. Maxwell (2 params) — Single relaxation time. Baseline; fails for broad transitions.

  2. Zener (3 params) — Adds equilibrium modulus \(G_e\). Plateau–transition–plateau. Fails if the transition spans > 1 decade.

  3. Fractional Zener (3–5 params) — Power-law springpot replaces the dashpot. Captures broad \(T_g\) transitions with \(\alpha \in (0, 1)\).

  4. Generalized Maxwell (2N + 1 params) — N-mode Prony series. Fits any smooth spectrum. Use ~1 mode per 3 decades of data.

  5. VLB / HVM / HVNM (5–15 params) — Molecular-level models with bond-exchange kinetics, temperature dependence, and network topology. Use when physical insight (activation energy, crosslink density, topology freezing) is the primary goal.

Tip

For a master curve spanning 15–20 decades, the GMM with n_modes=10--20 is almost always the best practical choice. Fractional models are better when you need compact parameterisations or physical interpretation of the relaxation breadth.

Experimental Situation → Model

Choose your model based on the data you have:

Your Situation

Recommended Model(s)

Single isothermal frequency sweep

Zener (quick), FractionalZenerSolidSolid (broad peak), GeneralizedMaxwell (arbitrary)

Multi-temperature frequency sweeps

Mastercurve → GMM or FZSS

Temperature sweep with first-principles TTS

VLBVariant (Arrhenius \(k_d(T)\))

Vitrimer \(T_v\) transition in DMTA

HVMLocal or HVNMLocal (nanocomposite)

Stress relaxation \(E(t)\)

GeneralizedMaxwell (test_mode='relaxation')

Need FEM Prony series export

GeneralizedMaxwell exclusively

Uncertainty quantification on any model

Any model + fit_bayesian() (NUTS)

Thixotropic yield + temperature

FIKH with thermal=True

Physically crosslinked hydrogel

TNTSingleMode

Soft glassy material (foam, paste)

SGRConventional

Dense colloids near glass transition

ITTMCTSchematic

See also