Section 18.3 of Chapter 18: Hyperelastic Materials

Mooney-Rivlin model for nearly incompressible materials, Selective Reduced Integration

Selective Reduced Integration for a Total Lagrangian Q4 plane-strain formulation.

Plane strainQ4HyperelasticTotal LagrangianSRI

01

Formulation and hypotheses

StrainLarge
DisplacementLarge
MaterialNonlinear elastic
Material symmetryIsotropic
Stress statePlane strain

The nearly incompressible plane-strain formulation presented in Section 18.1 converges slowly when the standard displacement formulation and full 2×22\times2 Gauss integration are used. As Poisson's ratio approaches 0.50.5, the bulk modulus becomes much larger than the distortional stiffness, and the finite element becomes excessively constrained by the nearly isochoric response. This numerical effect is known as volumetric locking [1].

The idea of Selective Reduced Integration is to under-integrate the volumetric contribution to the element stiffness, thereby relaxing the excessive volumetric constraint responsible for locking. The distortional part is still integrated with the standard rule:

kdist:2×2 Gauss rule,kvol:1×1 Gauss rule\boldsymbol{k}_{\rm dist}:\quad 2\times2\ \text{Gauss rule},\qquad \boldsymbol{k}_{\rm vol}:\quad 1\times1\ \text{Gauss rule}

This treatment improves the convergence of the present problem, although it should not be interpreted as a guarantee that every convergence difficulty disappears in every nearly incompressible problem.

02

Distortional and volumetric contributions

The strain-energy density of the nearly incompressible Mooney-Rivlin material is separated into distortional and volumetric parts:

W=Wdist+Wvol\boxed{W=W_{\rm dist}+W_{\rm vol}}
Wdist=A10(Iˉ13)+A01(Iˉ23),Wvol=K2(J1)2W_{\rm dist}=A_{10}(\bar I_1-3)+A_{01}(\bar I_2-3),\qquad W_{\rm vol}=\frac{K}{2}(J-1)^2

Here KK is the scalar bulk modulus. It must not be confused with the global stiffness matrix K\boldsymbol{K}. The separation of WW produces separate distortional and volumetric stress and tangent contributions, allowing different quadrature rules to be applied to the two parts.

The second Piola–Kirchhoff stresses are:

Sdist=WdistE=A10Iˉ1E+A01Iˉ2E\boldsymbol{S}_{\rm dist}=\frac{\partial W_{\rm dist}}{\partial\boldsymbol{E}}=A_{10}\frac{\partial\bar I_1}{\partial\boldsymbol{E}}+A_{01}\frac{\partial\bar I_2}{\partial\boldsymbol{E}}
Svol=WvolE=K(J1)JE\boldsymbol{S}_{\rm vol}=\frac{\partial W_{\rm vol}}{\partial\boldsymbol{E}}=K(J-1)\frac{\partial J}{\partial\boldsymbol{E}}

The corresponding material tangent contributions are:

Ddist=A102Iˉ1E2+A012Iˉ2E2\boldsymbol{D}_{\rm dist}=A_{10}\frac{\partial^2\bar I_1}{\partial\boldsymbol{E}^2}+A_{01}\frac{\partial^2\bar I_2}{\partial\boldsymbol{E}^2}
Dvol=K(J1)2JE2+KJE(JE)T\boldsymbol{D}_{\rm vol}=K(J-1)\frac{\partial^2J}{\partial\boldsymbol{E}^2}+K\frac{\partial J}{\partial\boldsymbol{E}}\left(\frac{\partial J}{\partial\boldsymbol{E}}\right)^T

The element stiffness matrix is consequently written as:

kel=kdist+kvol\boldsymbol{k}_{\rm el}=\boldsymbol{k}_{\rm dist}+\boldsymbol{k}_{\rm vol}

03

Selective Reduced Integration

The distortional contribution is evaluated at the four Gauss points of the standard 2×22\times2 rule. Each of these points has weight 1. The volumetric contribution is evaluated only at the element centre, using the 1×11\times1 rule. In one dimension the central point has weight 2; therefore the total two-dimensional weight is:

wG=2×2=4w_G=2\times2=4
Gauss points and weights for one- and two-point integration
Figure 1. Gauss points and weights used to construct the 2×22\times2 and 1×11\times1 quadrature rules.

The subscript g=1,,4g=1,\ldots,4 denotes quantities evaluated at the four 2×22\times2 Gauss points, whereas the subscript 00 denotes quantities evaluated at the element centre for the 1×11\times1 rule.

kel=hg=14[BgTDdist,gBg+Sx,gGx,g+Sy,gGy,g+Sxy,gGxy,g]detJg+4h[B0TDvol,0B0+Sx,0Gx,0+Sy,0Gy,0+Sxy,0Gxy,0]detJ0\begin{aligned} \boldsymbol{k}_{\rm el}={}&h\sum_{g=1}^{4}\left[\boldsymbol{B}_g^T\boldsymbol{D}_{{\rm dist},g}\boldsymbol{B}_g+S_{x,g}\boldsymbol{G}_{x,g}+S_{y,g}\boldsymbol{G}_{y,g}+S_{xy,g}\boldsymbol{G}_{xy,g}\right]\det\boldsymbol{J}_g\\ &+4h\left[\boldsymbol{B}_0^T\boldsymbol{D}_{{\rm vol},0}\boldsymbol{B}_0+S_{x,0}\boldsymbol{G}_{x,0}+S_{y,0}\boldsymbol{G}_{y,0}+S_{xy,0}\boldsymbol{G}_{xy,0}\right]\det\boldsymbol{J}_0 \end{aligned}

The factor 4 in the second line is the complete weight of the one-point rule.

04

Stress and tangent evaluation

The distortional stresses and tangent contributions are evaluated at the four 2×22\times2 Gauss points. The volumetric stress and tangent contribution are evaluated only at the element centre using the 1×11\times1 rule and are then combined with the distortional contribution at each of the four Gauss points.

Thus, the total second Piola–Kirchhoff stress stored at Gauss point gg is:

Sg=Sdist,g+Svol,0,g=1,,4\boxed{\boldsymbol{S}_g=\boldsymbol{S}_{{\rm dist},g}+\boldsymbol{S}_{{\rm vol},0},\qquad g=1,\ldots,4}

The distinction is important: the element stiffness is integrated with two different quadrature rules, whereas the total stress reported at each of the four Gauss points is formed by combining the local distortional value with the single central volumetric value.

The global finite-element equations are assembled from the element contributions:

K=Ael=1nel(kel),Fint=Ael=1nel(fel)\boldsymbol{K}=\mathop{\mathcal A}_{el=1}^{n_{el}}\left(\boldsymbol{k}_{\rm el}\right),\qquad \boldsymbol{F}_{\rm int}=\mathop{\mathcal A}_{el=1}^{n_{el}}\left(\boldsymbol{f}_{\rm el}\right)

05

MATLAB implementation

The stiff routine from Section 18.1 is effectively split into distortional and volumetric calculations. The program stiff_distortion uses the four Gauss points and calls MoonRiv_distortion. The program stiff_bulk uses the element centre and calls MoonRiv_bulk. The complete contributions are assembled in the common global system.

The short coordinating routine stiff is copied below. It simply calls stiff_distortion and stiff_bulk, which compute the distortional and volumetric contributions, respectively.

stiff.m
%*** stiff ***
% Gauss points
st=[1  -1  -1   1
    1   1  -1  -1]*sqrt(3)/3;
F=zeros(neq,1);
K=zeros(neq);
stiff_distortion
stiff_bulk
% Constraints
loc=2*(cond(:,1)-1)+cond(:,2);
K(loc,:  )=0; K(:  ,loc)=0; F(loc,:  )=0;
K(loc,loc)=eye(length(loc));
% Concentrated force
loc=2*(forze(:,1)-1)+forze(:,2);
F(loc)=F(loc)-forze(:,3)*istep/nstep;

Because the material is hyperelastic, the stresses are evaluated directly from the current deformation through the strain-energy density function; no stress-history update is required. The postprocessor converts the stored second Piola–Kirchhoff stresses to Cauchy stresses through:

σ=1JFSFT\boldsymbol{\sigma}=\frac{1}{J}\boldsymbol{F}\boldsymbol{S}\boldsymbol{F}^T

The nonlinear convergence norm is evaluated over all equations:

error=ΔSTΔSneq\mathrm{error}=\sqrt{\frac{\Delta\boldsymbol{S}^T\Delta\boldsymbol{S}}{n_{eq}}}

06

Numerical example

The same perforated plate used in Sections 18.1 and 18.2 is analyzed in plane strain. The mesh has 767 nodes and 685 Q4 elements. The plate thickness is h=1 mmh=1\ {\rm mm}, and the applied force is F=160 NF=160\ {\rm N}.

For the present example, the volumetric parameter K=133.33 MPaK=133.33\ {\rm MPa} corresponds to E=4 MPaE=4\ {\rm MPa} and ν=0.495\nu=0.495 through the small-strain bulk-modulus relation. The Mooney-Rivlin constants A10=0.48 MPaA_{10}=0.48\ {\rm MPa} and A01=0.11 MPaA_{01}=0.11\ {\rm MPa} define the distortional response.

Perforated plate, loading, boundary conditions, dimensions, and Q4 mesh
Figure 2. Perforated plate, loading, boundary conditions, dimensions, and Q4 finite-element mesh.

The Selective Reduced Integration formulation converges much more rapidly than the fully integrated plane-strain formulation of Section 18.1. This improvement results from reducing the volumetric locking produced by the standard displacement formulation. The displacements are also closer to the ANSYS results.

07

Displacement comparison

The following maps compare the MATLAB and ANSYS displacement components. The MATLAB analysis gives umin=24.8447 mmu_{\min}=-24.8447\ {\rm mm}, umax=25.9957 mmu_{\max}=25.9957\ {\rm mm}, and vmin=161.1509 mmv_{\min}=-161.1509\ {\rm mm}. The corresponding ANSYS values are approximately umin=24.8427 mmu_{\min}=-24.8427\ {\rm mm}, umax=25.9955 mmu_{\max}=25.9955\ {\rm mm}, and vmin=161.231 mmv_{\min}=-161.231\ {\rm mm}.

Figure 3a. MATLAB horizontal displacement uu.
Figure 3b. ANSYS horizontal displacement uu.
Figure 4a. MATLAB vertical displacement vv.
Figure 4b. ANSYS vertical displacement vv.

08

Cauchy-stress comparisons

The comparison includes all in-plane and out-of-plane Cauchy-stress components. The MATLAB maps below were regenerated from the authoritative MoonRiv_3 package with turbo(16); the ANSYS maps are retained unchanged. All stresses are expressed in MPa.

Figure 5a. MATLAB σx\sigma_x: min 1.2118-1.2118, max 0.334140.33414.
Figure 5b. ANSYS σx\sigma_x: min 1.16208-1.16208, max 0.2948890.294889.
Figure 6a. MATLAB σy\sigma_y: min 0.118030.11803, max 16.309616.3096.
Figure 6b. ANSYS σy\sigma_y: min 0.1723960.172396, max 14.789114.7891.
Figure 7a. MATLAB σz\sigma_z: min 0.57222-0.57222, max 3.14313.1431.
Figure 7b. ANSYS σz\sigma_z: min 0.601061-0.601061, max 3.197383.19738.
Figure 8a. MATLAB τxy\tau_{xy}: min 1.1697-1.1697, max 1.67391.6739.
Figure 8b. ANSYS τxy\tau_{xy}: min 1.01436-1.01436, max 1.034911.03491.

09

Force-balance verification

A useful final verification is obtained by integrating the vertical Cauchy stress along the two line segments ABAB and CDCD:

F=hAB+CDσydx\boxed{F=h\int_{AB+CD}\sigma_y\,dx}

The integration is performed along the deformed lines because the Cauchy stresses act on the current configuration. For the MATLAB solution, the resultant of the Cauchy stresses σy\sigma_y is 162.39 N162.39\ {\rm N}, compared with the applied force F=160 NF=160\ {\rm N}.

Deformed perforated plate and the AB and CD integration paths
Figure 9. Deformed lines ABAB and CDCD used for the force-balance verification.
MATLAB and ANSYS sigma y distributions along AB and CD
Figure 10. MATLAB and ANSYS distributions of the Cauchy stress σy\sigma_y along AB+CDAB+CD.

10

Programs and reference

The complete MATLAB package contains the Q4 mesh, Selective Reduced Integration routines, Mooney-Rivlin constitutive subprograms, Cauchy-stress conversion, plotting programs, and a README.

Reference

  1. [1]N.-H. Kim, Introduction to Non-Linear Finite Element Analysis, Springer, 2015.