01
Motivation
Section 17.4 introduced a multiplicative update of the deformation gradient to avoid the approximate additive accumulation of Hencky or Biot strains. Section 17.5 retains this update:
At the beginning of each load step, the preceding converged configuration provides the reference for the increment. The Jacobian matrices and correspond to this configuration and the current trial configuration, respectively. The incremental and total deformation gradients are:
The total Hencky or Biot strain is recalculated from at each trial evaluation. Finite strain tensors are therefore not added from one load step to the next. The preceding converged remains fixed during the numerical perturbations.
Can the strain–displacement matrix and the element tangent stiffness matrix be obtained directly by numerical differentiation, without deriving their analytical expressions? The computational sequence considered here is:
The total strain is obtained from the right stretch tensor, using the definitions established earlier:
02
Numerical evaluation of the strain–displacement matrix
A Q4 element has eight nodal displacement degrees of freedom. Let be the element displacement vector and the unit vector associated with degree of freedom . For example, for the degrees of freedom and :
The unit entry occupies the position of the perturbed degree of freedom.
Each column of is evaluated by central differences:
Here contains the engineering strain components returned by the total-strain algorithm at the Gauss point. The parameter ddB is the displacement perturbation used for this first differentiation.
Accordingly, maps the eight element displacement degrees of freedom to the three in-plane strain components, while relates the eight element force and displacement components.
For each perturbed trial configuration, the multiplicative update includes the MATLAB sequence:
Finc=(J\Jt)';
Ftot=Finc*Fp;The entire strain algorithm is differentiated numerically. Each positive and negative perturbation passes through the trial Jacobian, the incremental and total deformation gradients, and the stretch and strain calculations. Thus, the intermediate operations do not need to be differentiated analytically. Both evaluations use the same stored ; the perturbations must not alter the converged history.
03
Numerical evaluation of the tangent stiffness matrix
Once is available, the element internal-force vector is evaluated by the implemented Gauss-point calculation. A second central differentiation then gives each column of the element tangent stiffness matrix:
The parameter ddK is the displacement perturbation for the second differentiation. Every perturbed internal-force evaluation includes a fresh numerical calculation of . Consequently:
The geometric matrices , , and are no longer required explicitly. The tangent follows from differentiation of the complete implemented internal-force calculation, including the displacement dependence contained in that calculation.
04
Computational cost
For each Gauss point, calculating the numerical requires one unperturbed strain evaluation, eight positive perturbations and eight negative perturbations:
For the four Gauss points of a Q4 element, this gives the following number of strain evaluations per internal-force evaluation:
The numerical tangent requires one unperturbed internal-force evaluation and sixteen perturbed evaluations. Because every one of these calculations repeats the numerical strain differentiation, the approximate number of strain evaluations for one element in one Newton iteration is:
For the reduced mesh of 150 elements, the corresponding count is:
strain evaluations per Newton iteration. Each evaluation repeats the kinematic and total-strain calculations. The two nested differentiations therefore replace analytical work with a very large amount of numerical work, even for this relatively small mesh. This explains the execution times reported below.
05
Influence of perturbation size
Central differences require a balance between two errors. Excessively small perturbations cause cancellation and round-off when nearly equal values are subtracted. Excessively large perturbations increase truncation error and make the derivative less local.
The following tests use (three load steps) and equal values of ddB and ddK:
| Newton iterations | Time (s) | |||
|---|---|---|---|---|
| No convergence | — | — | — | |
| 34 | 142.8110 | 276.1843 | 106.5687 | |
| 30 | 142.8110 | 276.1843 | 98.7424 | |
| 30 | 142.8110 | 276.1844 | 97.5643 | |
| 31 | 142.8158 | 276.1888 | 86.3961 | |
| No convergence | — | — | — |
For , the displacement solutions are practically identical. The calculation with still converges, but the difference in the displacement values becomes visible. The tests with and do not converge.
This robust interval applies to the present example. The perturbations are dimensional, so an appropriate value also depends on the displacement units and the scale of the problem. No single perturbation value is universally optimal.
06
Influence of the number of load steps
For the present example, one or two load steps are insufficient, whereas three load steps already provide convergence. For three or more load steps, the displacement solution varies smoothly and approaches a stable value as the load-step subdivision is refined.
The calculations with 3, 5, 10 and 20 load steps converge. Within the robust perturbation range, the load-step size has a stronger influence on nonlinear robustness than the perturbation size itself.
07
Comparison between Sections 17.4 and 17.5
Both formulations use the same reduced mesh of 186 nodes and 150 Q4 elements. The ANSYS reference displacement magnitudes are:
| Load steps | Method | Total Newton iterations | ||||
|---|---|---|---|---|---|---|
| 1 | 17.4 | — | 18 | 142.8849 | 276.3104 | 0.791 |
| 1 | 17.5 | No convergence | — | — | — | |
| 2 | 17.4 | — | 28 | 142.8083 | 276.1525 | 0.947 |
| 2 | 17.5 | No convergence | — | — | — | |
| 3 | 17.4 | — | 37 | 142.8051 | 276.1334 | 1.23 |
| 3 | 17.5 | 34 | 142.8110 | 276.1843 | 106.57 | |
| 3 | 17.5 | 30 | 142.8110 | 276.1844 | 97.56 | |
| 5 | 17.4 | — | 54 | 142.8025 | 276.1211 | 1.78 |
| 5 | 17.5 | 43 | 142.8081 | 276.1717 | 152.17 | |
| 5 | 17.5 | 43 | 142.8082 | 276.1718 | 171.94 | |
| 10 | 17.4 | — | 104 | 142.8000 | 276.1126 | 3.49 |
| 10 | 17.5 | 72 | 142.8054 | 276.1631 | 274.72 | |
| 10 | 17.5 | 66 | 142.8055 | 276.1631 | 265.15 | |
| 20 | 17.4 | — | 197 | 142.7986 | 276.1086 | 6.080 |
| 20 | 17.5 | 120 | 142.8039 | 276.1590 | 556.35 | |
| 20 | 17.5 | 106 | 142.8040 | 276.1590 | 429.46 |
The results obtained with the double numerical differentiation are very close to those of Section 17.4 and to the ANSYS reference solution. As the number of load steps increases, the Section 17.5 displacement solution approaches approximately mm and mm. The purpose of Section 17.5 is nevertheless not to improve the displacement accuracy, but to demonstrate that both the strain–displacement matrix and the tangent stiffness matrix can be constructed directly by numerical differentiation.
08
Newton convergence and execution time
The numerical tangent can reduce the number of Newton iterations, confirming its good consistency with the internal-force evaluation. However, each iteration is extremely expensive because of the two nested numerical differentiations.
For example, with 20 load steps, Section 17.4 requires 197 iterations and 6.080 s. Section 17.5 with requires 106 iterations and 429.46 s. The reduction in iteration count is outweighed by the cost of each iteration:
09
Practical assessment
The double numerical differentiation provides a tangent that is highly consistent with the internal-force evaluation and produces displacement results very close to both Section 17.4 and ANSYS. Its principal disadvantage is the very large computational cost. Therefore, the formulation remains mainly useful as a didactic and verification tool rather than as an efficient practical alternative to the analytical formulation.
10
MATLAB programs
The MATLAB package provides Hencky and Biot strain options. The strain_el.m routine evaluates the total strain using the multiplicative kinematics. The fel_el.m routine constructs the numerical strain–displacement matrix and the internal-force vector, and stiff.m evaluates the numerical tangent and assembles the global equations.
The MATLAB package can be downloaded below.
11
Conclusions
- Section 17.5 retains the multiplicative deformation-gradient update of Section 17.4.
- The total Hencky or Biot strain is recalculated from .
- The strain–displacement matrix is obtained by numerical differentiation of the total strain.
- The tangent stiffness matrix is obtained by a second numerical differentiation of the internal-force vector.
- The matrices , , and are no longer required explicitly.
- For the present example, three load steps already provide convergence; one or two load steps are insufficient.
- For , the solution is practically unchanged for , while excessively small or excessively large perturbations may lead to loss of convergence.
- The numerical tangent can reduce Newton iterations, but the large computational cost makes this primarily a didactic and verification tool.
The double numerical differentiation strategy used in this section was developed with the assistance of Chiara.