Search

All About the Arruda-Boyce Hyperelastic Model

Introduction

The Arruda-Boyce model is a well-known and popular hyperelastic model. Their original paper has more than 3,000 citations! There are not many papers that reach that many citations, and there are not many researchers that ever write a paper that becomes that popular. I am a big fan of the Arruda-Boyce Eight-Chain model, partly because I was also a Ph.D. student of Mary Boyce (just like Ellen Arruda). But also because it is an easy to use and robust model. Also note that Arruda and Boyce developed more than one model, so it is a bit misleading to call this the “Arruda-Boyce model”. A better name is the Arruda-Boyce Eight-Chain model.

Prof. Arruda

Prof. Boyce

Theory

The macromolecules on average are located along the diagonals of a unit cell located in principal stretch space

The Eight-Chain model predicts that in uniaxial tension the macromolecules are stretched and rotated towards the loading direction. In uniaxial compression the modulus are also stretched, but in this case they are rotated away from the loading direction. In other words, the molecules are always stretched when the material is deformed. This makes intuitive sense.

The amount of molecular chain stretch is given by:

$$\lambda_{chain}^* = \displaystyle \left[ \frac{(\lambda_1^*)^2 + (\lambda_2^*)^2 + (\lambda_3^*)^2}{3} \right]^{1/2} = \sqrt{\frac{I_1^*}{3}}$$

This shows that the Arruda-Boyce model is an $$I_1$$ based hyperelastic model.

Using continuum mechanics, this gives the following equation for the Cauchy stress:

$$\boldsymbol{\sigma} = \displaystyle\frac{1}{J} \frac{1}{3\lambda_{chain}^*} \frac{\partial\Psi}{\partial\lambda_{chain}^*} \text{dev}[\mathbf{b}^*] + \frac{\partial\Psi}{\partial J} \mathbf{I}$$

The final stress-strain equation is given by (where $$\mathcal{L}(x)$$ is the Langevin function, and $$\mathcal{L}^{-1}(x)$$ the inverse Langevin function that cannot be expressed in closed form):

Here is a Julia implementation. Note that there are some discussions in the literature (see page 257 in my book) about the best way to calculate the inverse Langevin function. It turns out that different FE solvers have used different equations for this.

function invLangevin(xIn)
res = zeros(size(xIn))
for (i,x) in enumerate(xIn)
x = min(x,  1-eps())
x = max(x, -1+eps())
if abs(x) < 0.839
res[i] = 1.31435 * tan(1.59*x) + 0.911249*x
else
res[i] = 1 / (sign(x) - x)
end
end
return res
end
function arruda_boyce(strain, params)
# This function is using true strain and stress
mu      = params[1]
lambdaL = params[2]
lambda  = exp.(strain)
lambdaChain = sqrt.((lambda.^2 + 2 ./ lambda) / 3)
stress = mu./lambdaChain .* invLangevin(lambdaChain/lambdaL) ./ invLangevin(1/lambdaL) .* (lambda.^2 - 1 ./ lambda)
end
arruda_boyce([0.0, 0.1], [1.0, 5.0])

Summary

• The Arruda-Boyce (Eight-Chain) model is a simple I1-based hyperelastic model
• Easy to use
• Easy to calibrate
• Always stable
• Works well as a building block in more advanced viscoplastic material models

Update a PolyUMod License using Activation Keys

Tutorial on how to update the MCalibration and/or PolyUMod license using activation keys without running the installer.

Predict Material Heating from Dissipated Energy

Tutorial on how to predict material heating due to dissipated energy. The example is using Abaqus/Explicit and the PolyUMod library.

Convert Elastic Constants

Here is a table with conversions between different elastic constants.