Purpose and document control
This manual documents the equations and numerical procedures implemented in MakeCoTech Hyperelastic Explorer v1.0. Its purpose is to make the browser implementation auditable rather than a black box. The equations below describe the released tool behavior, including deliberate reductions and numerical safeguards.
Recommended reference:
Scope boundary. This manual describes the MakeCoTech browser implementation, not the complete Abaqus material library. Several models are intentionally restricted to one order, homogeneous material-point loading, or a specific fitting strategy. These reductions are stated explicitly.
Units, conventions and modeling scope
Unless a section states otherwise, the tool assumes homogeneous, isotropic, isothermal, rate-independent and purely elastic/hyperelastic response. No finite-element mesh is solved.
| Quantity | Convention |
|---|---|
| Stress | MPa |
| Strain-energy density | MJ/m³; numerically 1 MPa = 1 MJ/m³ |
| Stretch | λ = current length / reference length |
| Engineering strain | ε = λ − 1 |
| Volume ratio | J = det(F) = V/V₀ |
| Volumetric pressure | Positive in compression: J < 1 gives p > 0 |
| Normal stress fitted internally | Nominal / first-Piola stress |
| Simple shear | Shear amount γ with F₁₂ = γ |
The released v1.0 tool does not represent rate dependence, Mullins effect, permanent set, viscoelasticity, plasticity, anisotropy, temperature-dependent coefficients, damage, cavitation or solver-level constitutive stability.
Principal stretches, invariants and stress measures
For principal stretches λ₁, λ₂ and λ₃:
The first two stretch invariants are
I₂ = λ₁²λ₂² + λ₂²λ₃² + λ₃²λ₁².
For standard compressible hyperelastic models, the isochoric stretches and invariants are
Ī₁ = J−2/3I₁
Ī₂ = J−4/3I₂.
Nominal stress versus Cauchy stress
For a diagonal principal deformation:
For J = 1:
This last relation is used when incompressible Cauchy/true stress data are entered. In a compressible normal test, Cauchy stress alone does not determine nominal stress because J or the lateral stretches are also required. Therefore compressible normal-data fitting accepts nominal/engineering stress.
Kinematic reductions used by the tool
Incompressible uniaxial
Incompressible equibiaxial
Incompressible planar tension / pure shear
Simple shear
The non-trivial principal stretches can be written as
Planar/pure shear is not simple shear. The two modes follow different deformation paths and provide different constitutive information.
Stress from strain energy without an FEA solve
For a hyperelastic solid, stress is obtained from derivatives of the strain-energy density. Along a homogeneous one-parameter path, the work-conjugate nominal stress is obtained by differentiating the path energy.
Uniaxial and planar
Equibiaxial
Simple shear
Compressible free-surface equilibrium
For standard compressible uniaxial loading the tool writes λ₂ = λ₃ = t and minimizes
with respect to t. Since
a stationary minimum gives zero transverse nominal traction. Equibiaxial and planar modes have one free thickness stretch, and the same stationarity condition gives P₃ = 0.
Once the free transverse state has been found, the axial stress is calculated by differentiating the minimized energy. The transverse derivative vanishes at equilibrium, so this is an application of the envelope theorem.
Linear elastic — small-strain reference
The linear model is deliberately included only as a small-strain comparison. It is not presented as a finite-strain hyperelastic constitutive law.
For a compressible small-strain reference, ν is reconstructed from E and K₀:
and
| Mode | Displayed stress | Displayed energy |
|---|---|---|
| Uniaxial | P = E(λ−1) | W = 1/2 E(λ−1)² |
| Equibiaxial | P = E/(1−ν)(λ−1) | W = E/(1−ν)(λ−1)² |
| Planar | P = E/(1−ν²)(λ−1) | W = 1/2 E/(1−ν²)(λ−1)² |
| Simple shear | τ = Gγ | W = 1/2 Gγ² |
For fitting in the incompressible comparison mode, ν = 0.5, so the model basis functions become E(λ−1), 2E(λ−1), 4E(λ−1)/3 and Eγ/3 for uniaxial, biaxial, planar and shear respectively.
Large-strain extrapolation of the linear curve is intentionally educational only.
Neo-Hookean
For J = 1:
| Mode | Closed-form incompressible stress used by the tool |
|---|---|
| Uniaxial | P = μ(λ−λ−2) |
| Equibiaxial | P = μ(λ−λ−5) |
| Planar | P = μ(λ−λ−3) |
| Simple shear | τ = μγ |
Mooney-Rivlin
| Mode | Closed-form incompressible stress |
|---|---|
| Uniaxial | P = 2C₁₀(λ−λ−2) + 2C₀₁(1−λ−3) |
| Equibiaxial | P = 2C₁₀(λ−λ−5) + 2C₀₁(λ³−λ−3) |
| Planar | P = 2(C₁₀+C₀₁)(λ−λ−3) |
| Simple shear | τ = 2(C₁₀+C₀₁)γ |
Identifiability in simple shear
Only the sum C10+C01 is identifiable from simple shear. Planar loading also collapses to the same sum because I₁ = I₂ = λ²+1+λ−2. The tool therefore warns that uniaxial and/or equibiaxial information is required if C10 and C01 are to be separated.
Ogden, N = 1, Abaqus-style normalization
Under this normalization:
This differs from other Ogden conventions that place a different factor in front of the power sum. Therefore a parameter named μ from another convention is not necessarily numerically interchangeable.
| Mode | Closed-form incompressible stress |
|---|---|
| Uniaxial | P = (2μ/α)[λα−1−λ−α/2−1] |
| Equibiaxial | P = (2μ/α)[λα−1−λ−2α−1] |
| Planar | P = (2μ/α)[λα−1−λ−α−1] |
Simple shear derivation
The GUI allows −20 ≤ α ≤ 20 and keeps |α| away from zero. The fitter accepts |α| ≥ 0.15.
Yeoh and Reduced Polynomial N = 2
Yeoh
Reduced Polynomial N = 2
For the supported incompressible modes, define X and A as:
| Mode | X = Ī₁−3 | A |
|---|---|---|
| Uniaxial | λ² + 2/λ − 3 | λ − λ−2 |
| Equibiaxial | 2λ² + λ−4 − 3 | λ − λ−5 |
| Planar | λ² + 1 + λ−2 − 3 | λ − λ−3 |
| Simple shear | γ² | γ |
Then for Yeoh:
For Reduced Polynomial N=2, the C30 term is omitted. These stresses are linear in the fitted coefficients, allowing an exact weighted linear least-squares solve.
Arruda-Boyce fifth-order series
The implemented isochoric potential is the fifth-order series
Differentiating near the undeformed state gives the initial shear modulus:
Therefore the Arruda-Boyce parameter μ is not exactly G0 for finite λm. The tool’s “Match Initial Stiffness” operation uses the inverse of this correction factor.
Displayed stresses are obtained by differentiating the path energy numerically. During fitting, μ is profiled analytically for each trial λm because the model response is linear in μ when λm is fixed.
Applied simplification: v1.0 uses the fifth-order invariant series shown above; it does not evaluate an exact inverse-Langevin function.
Van der Waals / Kilian
η = sqrt[(Ĩ−3)/(λm²−3)]
Wiso = μ{ −(λm²−3)[ln(1−η)+η] − (2/3)a[(Ĩ−3)/2]^(3/2) }.
The locking singularity occurs as η approaches 1. The implementation returns a numerical barrier when η ≥ 0.999999.
To prevent tiny negative values caused by floating-point noise, the implementation evaluates z = max(0, Ĩ−3) before calculating η and the 3/2 power.
The optimizer uses μ > 0, λm > √3, 0 ≤ β ≤ 1. In the released fitting algorithm the interaction parameter is mapped to approximately −0.95 < a < 0.95. This is an optimization bound chosen for browser robustness; it is not presented as a universal constitutive-law restriction.
Volumetric terms and free transverse deformation
D1 family
Neo-Hookean, Mooney-Rivlin, Ogden, Yeoh and Reduced Polynomial use:
With pressure positive in compression:
D family
Arruda-Boyce and Van der Waals use:
Normal loading
The tool does not prescribe a lateral Poisson ratio for these finite-strain compressible laws. Instead, it solves the free transverse stretch by minimizing total energy for each prescribed axial stretch.
Simple shear
Ideal simple shear has J = 1, so the volumetric term contributes zero energy and zero pressure.
Ogden Hyperfoam, N = 1
Hyperfoam is treated separately from “compressible Ogden + D1.” It is inherently compressible and couples distortional and volumetric behavior in the same potential.
When |β| < 10−9, the code evaluates the analytic limit of the volumetric term:
Principal nominal stress
Uniaxial free-surface derivation
Equibiaxial and planar free surfaces
Planar: λ₁ = λ, λ₂ = 1, λ₃ = λ−ν/(1−ν).
Volumetric pressure
Simple shear
W = (4μ/α²)[cosh(αη)−1]
τ = (4μ/α)sinh(αη)/sqrt(4+γ²).
Initial moduli
The Hyperfoam implementation is restricted to N = 1 in v1.0.
Experimental inputs and internal conversions
| User input | Internal conversion |
|---|---|
| Stretch λ | Used directly |
| Engineering strain (%) | λ = 1 + ε/100 |
| Nominal / engineering stress | Used directly |
| Incompressible Cauchy / true stress σ | P = σ/λ |
| Engineering shear (%) | γ = value/100 |
| Volume change (%) | J = 1 + value/100 |
| Volumetric pressure | Positive compression convention |
Each loading mode stores up to 30 rows. The active table selector only chooses which dataset is visible for editing; the fitting checkboxes independently control which datasets enter the combined fit.
When “Restrict fit to Fit Min / Max” is enabled, only points satisfying
are passed to the fitting routines. Data outside that range remain stored.
Abaqus relative error, least squares and reporting metrics
Abaqus relative stress-error objective
This is equivalent to weighted least squares with
Experimental points with |Ttest| ≤ 10−12 are omitted from the relative objective because the denominator is undefined. They remain in RMSE and R² reporting.
Absolute least squares
Reported metrics
RMSE = sqrt(SSE/n)
R² = 1 − SSE/SST.
The selected objective is what determines the fitted parameters. RMSE and R² are reporting metrics and can rank candidates differently from the relative-error objective.
Direct weighted linear least squares
When stress is linear in the unknown coefficients, the tool avoids iterative optimization. For
the weighted normal equations are
The browser assembles these matrices directly and solves them with Gauss-Jordan elimination and partial pivoting. A pivot magnitude below 10−18 is treated as singular.
Single-coefficient case
| Model / quantity | Unknowns solved directly |
|---|---|
| Linear reference | E |
| Neo-Hookean | μ |
| Mooney-Rivlin | C10, C01 |
| Yeoh | C10, C20, C30 |
| Reduced Polynomial N=2 | C10, C20 |
| Volumetric D / D1 family | K0, then D or D1 = 2/K0 |
Mooney-Rivlin basis
Yeoh basis
No positivity constraint is imposed on Mooney-Rivlin, Yeoh or Reduced Polynomial coefficients by the linear solver. This allows mathematically best fits but places responsibility on the user to check physical admissibility and stability.
Profile searches and nonlinear simplex optimization
The implementation reduces nonlinear dimension wherever possible by solving any linear scale parameter analytically inside the nonlinear search.
Ogden N=1
- Choose a trial α.
- At fixed α, stress is linear in μ; solve μ by weighted single-coefficient least squares.
- Reject μ ≤ 0.
- Coarse deterministic scan α from −12 to −0.2 and +0.2 to +12 in increments of 0.08.
- Refine around the best α over ±0.20 with step 0.004.
- Reject |α| < 0.15.
This is a deterministic profile search. It is not the internal Abaqus optimizer.
Arruda-Boyce
- Choose a trial λm.
- Set μ = 1 and calculate the unit response.
- Because stress scales linearly with μ, solve μ analytically by weighted least squares.
- Reject μ ≤ 0.
- Search 151 logarithmically spaced λm values from 1.05 to 25.
- Refine around the best ln(λm) with 161 points at log-space increment 0.0015.
Van der Waals / Kilian
For fixed λm, a and β, stress is linear in μ. The tool profiles μ analytically and searches only the remaining nonlinear parameters.
a = 0.95 tanh(z₁)
β = logistic(z₂), if β is fitted.
Multi-start seeds:
Simplex step sizes are [0.28, 0.35] when β is fixed and [0.28, 0.35, 0.65] when β is fitted. Each run is limited to 110 iterations.
Hyperfoam N=1
For fixed α and ν, the response is linear in μ. The tool solves μ analytically and performs a nonlinear search only in α and optionally ν.
ν = −0.95 + 1.44 logistic(z₁), if ν is fitted.
Custom Nelder-Mead-style simplex
The implementation uses a compact deterministic simplex routine with:
At each iteration, vertices are sorted by objective. The worst point is reflected through the centroid. If reflection improves on the best point, an expansion is tried. If reflection is not accepted, an inward contraction is attempted; otherwise the simplex is shrunk toward the best vertex.
Early termination occurs when
Important distinction: this is a MakeCoTech browser optimization strategy chosen for transparency and robustness. It is not claimed to duplicate Abaqus' proprietary internal numerical optimizer.
Transverse minimization, finite differences and safeguards
Golden-section minimization for standard compressible models
The initial estimate for the free transverse stretch is the corresponding incompressible value:
Equibiaxial: t₀ = λ−2
Planar: t₀ = λ−1.
The one-dimensional search interval is
b = min(50, max(6 t₀, 0.2)).
The tool then executes 82 golden-section iterations using φ = (√5−1)/2 and returns the midpoint of the final bracket.
Numerical stress differentiation
For generic incompressible normal-response models:
For standard compressible normal response, each λ±h state is independently re-minimized in the transverse direction before the energy derivative is taken:
This re-equilibration at both derivative points is important for accuracy at large K0.
For generic simple shear:
Biaxial factor
Because differentiating the path energy with respect to the common biaxial λ produces P1+P2, the tool multiplies the path derivative by 1/2 to report the nominal stress in one loaded direction.
Numerical barriers
- J must remain positive.
- Invalid high-energy states return a large penalty value.
- Van der Waals rejects η ≥ 0.999999.
- Van der Waals clips Ĩ−3 to zero before square-root / 3/2 operations.
- General UI stretch/volume ranges must remain positive.
- Normal/volumetric range magnitudes are limited to 25 by the GUI safety check.
- Simple-shear range magnitude is limited to 50.
- Non-finite optimization values are replaced with a large penalty.
“Match Initial Stiffness” logic
This button is not a fitting routine. It updates model parameters so that the initial small-strain stiffness is approximately consistent with the user-entered reference E.
Incompressible
Compressible standard models
Using
the tool solves
If 9K0 ≤ E, the match is rejected as incompatible with the intended positive isotropic moduli.
Parameter assignment
| Model | Assigned initial-stiffness parameter |
|---|---|
| Neo-Hookean | μ = G |
| Ogden N=1 | μ = G |
| Mooney-Rivlin | C10+C01 = G/2, split 70% / 30% |
| Yeoh | C10 = G/2; higher-order coefficients are not reset |
| Reduced Polynomial | C10 = G/2; C20 is not reset |
| Arruda-Boyce | μ = G / Arruda correction factor |
| Van der Waals | μ = G |
| Hyperfoam N=1 | μ = E/[2(1+ν)] using the current Hyperfoam ν |
The 70/30 Mooney-Rivlin split is only a convenient initialization preserving the correct initial shear modulus. It is not a material identification result.
Hyperelastic benchmark and Hyperfoam demonstration
Hyperelastic benchmark: Abaqus SI Hypertest
The preset contains 23 uniaxial, 16 equibiaxial, 13 planar and 4 volumetric points. Stress is stored and displayed in MPa. Loading this preset selects Neo-Hookean, compressible behavior and the Abaqus relative-stress objective; another hyperelastic model may then be selected for fitting.
Hyperfoam: synthetic parameter-fitting demonstration
This preset generates noiseless data using the implemented one-term Ogden Hyperfoam response with the following reference parameters:
Uniaxial, equibiaxial and planar data each use 14 stretch values from 0.70 to 1.85. Shear uses 13 values from −1.2 to 1.2. Volumetric loading uses 9 volume ratios from 0.82 to 1.06. The loading-mode formulas described in the Hyperfoam section generate each stress or pressure value, rounded to eight decimal places in MPa.
The loader selects Hyperfoam, compressible behavior, fitting of ν₁ and absolute least squares; all five test datasets are checked. It is a synthetic demonstration of the fitting workflow. Recovering its parameters checks internal consistency of generation and fitting; independent experimental or solver data are required for external validation.
Both example loaders replace the current datasets, set the matching deformation/stress definitions, update the display and fitting ranges, and clear previous fit results.
How the material laws are simplified for the applied tool use case
| Area | Released-tool simplification | Reason / consequence |
|---|---|---|
| Geometry | Homogeneous material point / ideal specimen only | No mesh, contact, stress concentration or boundary-condition artifact is included. |
| Ogden | N = 1 | Keeps interpretation and fitting transparent; higher-order Ogden terms are not represented. |
| Hyperfoam | N = 1 | Useful educational/applied foam law; higher-order terms are omitted. |
| Arruda-Boyce | Fifth-order invariant series | Uses the engineering series implemented in the tool, not an exact inverse-Langevin evaluation. |
| Yeoh | Up to C30 | Third-order first-invariant form only. |
| Reduced Polynomial | N = 2 | Only C10 and C20 are included. |
| Compressible standard fitting | Non-volumetric coefficients fitted under incompressibility; volumetric K0 fitted separately | Matches the calibration organization used by the tool and avoids coupling D/D1 into each deviatoric optimization. |
| Fit All | Current K0/D/D1 is kept fixed for standard models | Allows direct comparison of deviatoric models without refitting a different bulk response for every row. |
| Hyperfoam fitting | Selected volumetric points participate directly | Hyperfoam couples volumetric and distortional response; no separate D/D1 fit exists. |
| Temperature | Single isothermal parameter set | No temperature interpolation. |
| Rate effects | None | Viscoelasticity and rate dependence require a separate constitutive model. |
| Stability | No full Drucker / tangent positive-definiteness check | Good curve fit alone must not be interpreted as constitutive stability. |
Minimum-data guards in the UI
The current fitting commands require at least:
Mooney-Rivlin / Ogden / Arruda-Boyce / Reduced Polynomial: 3
Yeoh: 4
Van der Waals: 5
Hyperfoam: 4 non-volumetric points, after which all selected modes (including volumetric) may participate
Fit All: 5 non-volumetric points.
These are practical UI guards; they are not a proof of parameter identifiability or matrix conditioning.
Stability, extrapolation and responsibility
The tool reports fit error and allows visual extrapolation, but it does not perform a complete constitutive stability assessment such as the full Abaqus Drucker stability check or a general strong-ellipticity analysis.
A fitted coefficient set may:
- match the supplied data but be non-unique;
- be poorly conditioned because the chosen loading modes do not identify every coefficient;
- behave unrealistically outside the calibration range;
- be numerically unstable in a finite-element model;
- fail to represent temperature, rate, damage or cyclic effects present in the real material;
- be unsuitable for another stress state despite a high R² value.
Educational and preliminary engineering use only. The user is responsible for independent validation of experimental data, units, coefficients, extrapolation, material stability and the final finite-element implementation. MakeCoTech provides no warranty that a fitted law is suitable for a particular component, design decision or safety-critical application.
Checklist for reproducing a tool result
A calibration report should record at minimum:
- Tool name: MakeCoTech Hyperelastic Explorer
- Tool version: 1.0
- Selected constitutive law
- Incompressible / compressible behavior
- D or D1 family where applicable
- All entered model parameters
- Hyperfoam ν handling or Van der Waals β handling
- Selected fitting objective
- Which loading-mode checkboxes were enabled
- Input strain definition for each dataset
- Input stress definition for each dataset
- Fit Min / Max and whether restriction was active
- Experimental units and any conversions
- RMSE and R²
- Fitted coefficient set
- Calibration range and intended FEA range
The Excel export is designed to preserve most of this information together with generated curves and experimental data.
Primary formulation and benchmark references
Dassault Systèmes SIMULIA. Hyperelastic Behavior of Rubberlike Materials, Abaqus documentation.
https://docs.software.vt.edu/abaqusv2025/English/SIMACAEMATRefMap/simamat-c-hyperelastic.htm
Dassault Systèmes SIMULIA. Fitting Hyperelastic and Hyperfoam Constants / hyperelastic fitting theory, Abaqus documentation.
https://docs.software.vt.edu/abaqusv2025/English/SIMACAETHERefMap/simathe-c-fithyperconst.htm
Dassault Systèmes SIMULIA. Rubber under uniaxial tension / hyperelastic benchmark.
https://docs.software.vt.edu/abaqusv2025/English/SIMACAEBMKRefMap/simabmk-c-hypertest.htm
Abaqus 2016 Benchmarks Guide. Fitting of rubber test data.
https://ceae-server.colorado.edu/v2016/books/bmk/ch03s01ach170.html
Treloar, L. R. G. Stress-strain data for vulcanised rubber under various types of deformation. Transactions of the Faraday Society, 40 (1944), 59–70.
Implementation note. Where this manual specifies numerical bounds, iteration counts, search grids or algorithmic transforms, those values describe the MakeCoTech v1.0 browser implementation rather than a requirement of the underlying constitutive theory.