<h3>Elasticity tensors</h3>
-We will use a Newton-Raphson strategy to solve the nonlinear boundary value problem.
-Thus, we will need to linearise the constitutive relations.
-
-The fourth-order elasticity tensor in the material description is defined by
+We will use a Newton-Raphson strategy to solve the nonlinear boundary
+value problem, as explained in more detail below. Since we are trying
+to minimize an energy that we can conceptually denote as
+$E(\mathbf{U})$, the minimizing deformation is a place where the
+derivative $\dfrac{\partial E(\mathbf{U})}{\partial \mathbf{U}} =
+0$. This is a nonlinear equation, to which we apply Newton's method
+and for that we need the derivative of the function we want to be
+zero, i.e., the second derivative $\dfrac{\partial^2
+E(\mathbf{U})}{\partial \mathbf{U}^2}$. Because the equation
+$\dfrac{\partial E(\mathbf{U})}{\partial \mathbf{U}} = 0$ that
+describes minimization of the energy corresponds to the force balance
+-- i.e., the (nonlinear) elasticity equation that relates the
+displacement to the stress to the external forces -- the step of
+computing one further derivative corresponds to a linearization of the
+stress-displacement (or stress-strain) relationship.
+
+In practice, this will requires us to compute the fourth-order
+elasticity tensor in the material description, defined by
@f[
\mathfrak{C}
= 2\dfrac{\partial \mathbf{S}(\mathbf{C})}{\partial \mathbf{C}}
where
$[\mathrm{grad}\delta\mathbf{u}]^{\text{sym}} = 1/2[ \mathrm{grad}\delta\mathbf{u} + [\mathrm{grad}\delta\mathbf{u}]^T] $.
-We will use an iterative Newton-Raphson method to solve the nonlinear residual equation $R$.
-For the sake of simplicity we assume dead loading, i.e. the loading does not change due to the deformation.
+We will use an iterative Newton-Raphson method to solve the nonlinear
+residual equation $R$. (If this is new to you, you may want to take a
+look at step-15 first to see how deriving a Newton iteration is done
+using a simpler problem.) For the sake of simplicity we assume dead
+loading, i.e. the loading does not change due to the deformation.
The change in a quantity between the known state at $t_{\textrm{n}-1}$
and the currently unknown state at $t_{\textrm{n}}$ is denoted
@f}
+@note The scheme outlined above explicitly computes Newton updates
+using the linearized (three-field) elasticity equations, and then
+takes a full step: We add the update to the previous solution without
+any damping factor. This is known not to be a great strategy. One
+should really be using a line search to find the energy minimizer
+faster; in fact, while there, one should really also only update the
+Newton matrix when necessary. These steps are not trivial to
+implement, and as a consequence the canonical nonlinear tutorial
+step-15 also does not do them. But it is not terribly difficult to get
+this right, and if you're interested in a better scheme than the one
+implemented here, head over to step-77 to see how this can be done!
+
<h3> Discretization of governing equations </h3>
The three-field formulation used here is effective for quasi-incompressible materials,
include dynamic effects would be necessary to study problems where
inertial effects are important, e.g. problems involving impact.
- Load and solution limiting procedures may be necessary for highly
- nonlinear problems. It is possible to add a linesearch algorithm to
+ nonlinear problems. It is possible to add a line search algorithm to
limit the step size within a Newton increment to ensure optimum
convergence. It may also be necessary to use a load limiting method,
such as the Riks method, to solve unstable problems involving
geometric instability such as buckling and snap-through.
+- While we're on the topic of nonlinear solvers: As mentioned in the
+ introduction, we should really not have to implement a full-fledged
+ Newton scheme ourselves. There are implementations that have line
+ search and other algorithmic improvements already built in. step-77
+ demonstrates how this can be done, and it would not be terribly
+ difficult to adapt the current program to that as well.
- Many physical problems involve contact. It is possible to include
the effect of frictional or frictionless contact between objects
into this program. This would involve the addition of an extra term