01
Formulation and hypotheses
The nearly incompressible plane-strain formulation presented in Section 18.1 converges slowly when the standard displacement formulation and full Gauss integration are used. As Poisson's ratio approaches , 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:
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:
Here is the scalar bulk modulus. It must not be confused with the global stiffness matrix . The separation of 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:
The corresponding material tangent contributions are:
The element stiffness matrix is consequently written as:
03
Selective Reduced Integration
The distortional contribution is evaluated at the four Gauss points of the standard rule. Each of these points has weight 1. The volumetric contribution is evaluated only at the element centre, using the rule. In one dimension the central point has weight 2; therefore the total two-dimensional weight is:

The subscript denotes quantities evaluated at the four Gauss points, whereas the subscript denotes quantities evaluated at the element centre for the rule.
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 Gauss points. The volumetric stress and tangent contribution are evaluated only at the element centre using the 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 is:
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:
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 ***
% 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:
The nonlinear convergence norm is evaluated over all equations:
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 , and the applied force is .
For the present example, the volumetric parameter corresponds to and through the small-strain bulk-modulus relation. The Mooney-Rivlin constants and define the distortional response.

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 , , and . The corresponding ANSYS values are approximately , , and .
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.
09
Force-balance verification
A useful final verification is obtained by integrating the vertical Cauchy stress along the two line segments and :
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 is , compared with the applied force .


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]N.-H. Kim, Introduction to Non-Linear Finite Element Analysis, Springer, 2015.