4.1. Hypoelastic Models
Many models presented in this report are derived starting with small deformation formulations. These models are implemented in finite deformation codes by substituting the rate of deformation for the strain rate (it should be noted that the rate of deformation is not the rate of any strain measure), and making the stress rate objective. There are many objective stress rates to choose from, the two most common being the Jaumann and the Green-McInnis.
Models that are implemented using the Jaumann or Green-McInnis stress rate are done so in an unrotated configuration. This means that the incremental constitutive relations are written in this configuration. The tensor components of the Cauchy stress, \(\sigma_{ij}\), and the rate of deformation, \(D_{ij}\), are unrotated using some orthogonal tensor, \(Q^{-1}_{ij} = Q_{ji}\), such that
where \(T_{ij}\) and \(d_{ij}\) are the components of the unrotated stress and rate of deformation respectively. The choice of orthogonal tensor, \(Q_{ij}\), depends on the objective stress rate. The incremental constitutive relation is then written as
After the stress is updated in the unrotated configuration, it is rotated forward to the current configuration [[1]]. (The terminology used in describing the unrotated configuration with the rotations backward and forward is infinitely confusing. It is simply one of the many difficulties encountered using finite deformation hypoelastic models.)
If the Green-McInnis stress rate is used, then the unrotated configuration is found using the rotation tensor from the polar decomposition of the deformation gradient
If the Jaumann stress rate is used, then the unrotated configuration is found using the rotation tensor from the polar decomposition of the incremental deformation gradient
Without loss of generality we will assume the Green-McInnis stress rate. The algorithm for the Jaumann stress rate can be recovered by substituting \(\hat{F}_{ij}\) for \(F_{ij}\) and \(\hat{R}_{ij}\) for \(R_{ij}\) in what follows.
Before updating the stress, the rotation is calculated from the deformation gradient in the current configuration, \(F_{ij}\). The unrotated rate of deformation is then
and the unrotated stress is updated using (4.2). Then the stress is rotated to the current configuration, using the same rotation that we used to unrotate the rate of deformation
The unrotated stress from the previous time step is simply \(T_{ij}^{n} = R_{ki}^{n}\sigma_{kl}R_{lj}^{n}\). Furthermore, for the elastic model (Section 4.3) the stress update algorithm can be reduced to
One final note about this algorithm. While it is convenient to use the rotation tensor \(R_{ij}^{n+1}\), strictly this is not correct. Since the rate of deformation is most often computed at the mid-step configuration, the rotation used to unrotate the rate of deformation should be the rotation from the mid-step deformation gradient, i.e. the deformation gradient that relates the mid-step configuration to the reference configuration. Other consistency considerations should also be considered, but we will not discuss them here. Suffice it to say that the solutions all converge in the limit of infinitesimal time steps. In a future release of LAMÉ other options might be added.