2. Simulation of dynamic volumetric deformation 7
2.4. The cubic BB-form method and p-multigrid algorithms
2.4.2. Higher-order finite element discretization of elasticity
In this section, the general approach for simulating volumetric deformation using higher-order FEs is briefly outlined. At first, the general process of higher-order discretization is described and then the steps necessary for corotational elasticity with cubic FEs are outlined.
2.4.2.1. Finite Element Discretization
The general FE discretization has been described in Section2.1.2. For completeness, the key points are repeated here briefly and are then explicitly specialized for cubic BB-form polynomials. Given a tetrahedral mesh 4 :=
(T , F, E, V) with a set of tetrahedra T , faces F, edges E and vertices V approximating the simulation domain Ω, a FE discretization is applied by constructing a piecewise polynomial representation of the displacement field u : Ω → R3. A degree p polynomial w.r.t. a tetrahedron T = [p0, p1, p2, p3] with vertices piis defined by a fixed number of values at nodes. Depending on the order p there are p+33 degrees of freedom associated with one tetrahedral element at the nodes ξI. The positions of the nodes are given by linear combinations of the vertices piand can be determined by
ξI= ξTi jkl=ip0+ jp1+ kp2+ lp3
p , |I| = i + j + k + l = p.
Here, capital letters are used for a multi-index to simplify the notation, e.g., I represents the set of non-negative indices i, j, k, l. Figure2.25shows an example of the lexicographical node numbering for a cubic polynomial defined on one tetrahedral element. The nodes ξ3000, ξ0300, ξ0030 and ξ0003are associated with the vertices p0, p1, p2and p3, whereas the other node positions are located on the tetrahedron’s edges and faces.
ξ3000 ξ0030
Figure 2.25.: Node numbering for a cubic Bézier tetrahedron. The nodes at the corners of the element are asso-ciated with the vertices, e.g., ξ3000corresponds to v0.
The field of unknowns is represented by a polynomial in BB-form, i.e., the degree p basis functions are the
p+3
3 Bernstein polynomials
BIp(x) = Bi jklp (x) = p!
i! j!k!l!λi0(x)λ1j(x)λk2(x)λl3(x).
Here, λi(x) are the barycentric coordinates of the tetrahedral element. Just as for the nodes, the non-negative indices sum up to the polynomial degree |I|= i + j + k + l = p reflecting that one basis function is associated with the node with the same index. A polynomial in BB-form per element T is then defined by
f(x) =
∑
|I|=p
bIBIp(x),
where in the general form the unknowns bIcan be scalars, vectors or tensors. A general advantage of modeling the field of displacements with this type of shape functions is that the computation of integrals reduces to a sum of coefficients with binomial weights that are computed from the indices i, j, k and l (see Section 2.3).
For FE simulations, usually integrals of products of basis functions have to be computed. The products of two basis functions then form higher-order Bernstein polynomials. As polynomials in BB-form are defined w.r.t.
barycentric coordinates the chain rule applies when differentiating:
∂BIp
∂xa are constant and can be precomputed as the barycentric coordinates are linear polynomials.
In contrast to discontinuous Galerkin methods [KMBG08], FEs are C0-continuous across element boundaries.
Fewer degrees of freedom are required, as adjacent elements share the nodes. Therefore, the number of nodes mnot only depends on the number of tetrahedra and the polynomial order but also on the topology of the mesh.
The number of degrees of freedom on a tetrahedral mesh 4 for a FE discretization of order p can be computed by [LS07]
2.4.2.2. Corotational formulation of elasticity with higher-order FEM
The corotational formulation of elasticity and the general discretization has been described in Sections 2.1.1 and2.1.2, respectively. This results in the linear force-displacement relationship
Ku= f, (2.115)
where K is the stiffness matrix and u and f are concatenated vertex displacements and forces. In the following, the novel discretization of higher-order FEs in BB-form is presented. For a degree-p discretization the initial element stiffness matrices0Kp
Tmust be computed for each element T. A total of p+33 3 × 3 block matrices are computed, one for each of the elements p+33 node pairs. As described in Section2.3, one block of the stiffness matrix for a pair of nodes I, J is computed by
h
Here, λLand µLare the elastic Lamé coefficients.
For a FE discretization with cubic polynomials, Bernstein polynomials of degree three must be inserted in Eq. (2.116). The differentiation of B3I and B3J then results in quadratic polynomials B2. Therefore, one entry without considering the chain rule of Eq. (2.113) is
ˆ Here, G(I, J) are binomial coefficients that are computed as
G(I, J) =
where I and J are multi-indices for i, j, k, l and α, β, γ, δ, respectively and p = 3. The additional coefficients originate from the multiplication of two different basis functions. However, the integration is only dependent on the polynomial degree and results in the same value for all basis functions.
The element matrices Kp
Tthen have to be assembled into the global stiffness matrix Kp, where a 3 × 3 entry is non-zero if the corresponding two degrees of freedom share a tetrahedron. In the case of corotational elasticity, the global and element stiffness matrices must be updated using
Kp
T= R0Kp
TRT (2.117)
in every time step by determining per element rotations R. Similar to Bargteil et al. [BC14] only the linear part of the deformation gradient is used to compute the polar decomposition. For the polynomial hierarchy the rotation matrix only needs to be computed once per element and can be reused on the other levels.
For a dynamic simulation, the lumped mass matrix Mp is required. Omitting damping terms, a system of ODEs
Mp¨up+ Kpup= fp (2.118)
is set up. Here, fp are the forces and the dots are derivatives w.r.t. time, i.e., ¨up is the acceleration of the displacements or equivalently the acceleration of positions. A superscript p is added to denote that this system is additionally parametrized by the polynomial degree. The matrices depend on the degree p and the vectors ¨up,
upand fpare the combined degrees of freedom and therefore represent the time dependent fields in polynomial BB-form. Applying implicit time integration [BW98], a sparse linear system
(Mp+ ∆t2Kp)∆vp= ∆t(f + ∆tKv) (2.119)
is set up. Solving this, the change of ˙up, ∆vpis computed. Then the new velocities are determined by vn+1p = vnp+∆vpand the new positions pn+1p = ppn+∆tvpat all FE nodes are updated. For brevity, Eq. (2.119) is rewritten as
Apxp= bp. (2.120)
Solving this system is computationally expensive and takes a large part of the time required for a simulation step.
However, it is important to solve this accurately as otherwise additional numerical damping is generated (see Section2.4.6).
In Section2.4.3, the novel multigrid approach is presented, which enables to efficiently solve this equation by making use of a polynomial hierarchy with varying degree p on the same tetrahedral mesh. In the p-multigrid ap-proach the matrices in Eq. (2.120) are computed independently by simply discretizing with a different polynomial degree.