Hookean elastic material with XPBD
This document combines the XPBD formulation with the Hookean energy model to derive the Hookean-elastic constraint and its XPBD compliance.
Constraint function and compliance for the Hookean model
We know that the elastic energy potential derived from a single constraint \(\mathcal C_j\) in the XPBD model is
where \(\alpha_j\) is the compliance factor corresponding to the constraint.
On the other hand, the total elastic strain energy for an element of volume \(V_e\) stored in a Hookean material due to deformation is given by:
where \(W(\mathbf{F})\) is the elastic strain energy density and \(\widehat{W}(\mathbf{F})\) is the elastic strain energy density, normalized by Young’s modulus \(E\), defined by:
\[W_{\mathrm{tot}}(\mathbf{F}) = Ve\,W(\mathbf{F})\quad\text{and}\quad W(\mathbf{F}) = E\,\widehat{W}(\mathbf{F}).\]
When simulating an Hookean elastic material with XPBD, both expressions of the elastic enargy equalize
so \(\alpha_j\) is proportional to \(\frac{1}{V_e E}\), and we have
This constraint function evaluates to zero when the material is in its undeformed state (\(\mathbf{F} = \mathbf{I}_3\)), and it evaluates to a positive value whenever deformation occurs (\(\mathbf{F} \neq \mathbf{I}_3\)).
Constraint gradient
The gradient of the Hookean constraint with respect to the position \(\mathbf{x}_i\) of each particle is derived using the chain rule as:
The derivative of \(\widehat{W}(\mathbf{F})\) with respect to \(\mathbf{F}\) can be explicitly computed as:
The deformation gradient \(\mathbf{F}\) is typically computed as:
where:
\(\mathbf{r}_i=x_i-x_{cm}\) is the position of particle \(i\) relative to center of mass.
\(\bar{\mathbf{r}}_i=\bar{x}_i-\bar{x}_{cm}\) is the rest position of particle \(i\) relative to rest center of mass.
\(Q = \left(\sum_i m_i \bar{\mathbf{r}}_i\bar{\mathbf{r}}_i^T\right)\) is the rest-state inertia tensor, which encodes the distribution of mass and initial configuration of the particles.
When differentiating \(\mathbf{F}\) with respect to \(\mathbf{x}_i\), we obtain a direct relation involving the matrix \(\mathbf{Q}\) and the rest position vectors \(\bar{\mathbf{r}}_i\):
Substituting these results into our chain rule expression, we obtain a clear, compact expression of the gradient for the Hookean constraint: