This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\ConferencePaper\CGFccby\BibtexOrBiblatex\electronicVersion

Corotational Hinge-based Thin Plates/Shells

Qixin Liang\orcid0009-0002-5494-3672
The University of Hong Kong & TransGP, Hong Kong
Abstract

We present six thin plate/shell models, derived from three distinct types of curvature operators formulated within the corotational frame, for simulating both rest-flat and rest-curved triangular meshes. Each curvature operator derives a curvature expression corresponding to both a plate model and a shell model. The corotational edge-based hinge model uses an edge-based stencil to compute directional curvature, while the corotational FVM hinge model utilizes a triangle-centered stencil, applying the finite volume method (FVM) to superposition directional curvatures across edges, yielding a generalized curvature. The corotational smoothed hinge model also employs a triangle-centered stencil but transforms directional curvatures into a generalized curvature based on a quadratic surface fit. All models assume small strain and small curvature, leading to constant bending energy Hessians, which benefit implicit integrators. Through quantitative benchmarks and qualitative elastodynamic simulations with large time steps, we demonstrate the accuracy, efficiency, and stability of these models. Our contributions enhance the thin plate/shell library for use in both computer graphics and engineering applications.

{CCSXML}

<ccs2012> <concept> <concept_id>10010147.10010341</concept_id> <concept_desc>Computing methodologies Modeling and simulation</concept_desc> <concept_significance>500</concept_significance> </concept> <concept> <concept_id>10010147.10010371.10010352.10010379</concept_id> <concept_desc>Computing methodologies Physical simulation</concept_desc> <concept_significance>500</concept_significance> </concept> </ccs2012>

\ccsdesc

[500]Computing methodologies Modeling and simulation \ccsdesc[500]Computing methodologies Physical simulation

\printccsdesc
volume: 44issue: 2

1 Introduction

Thin shells based on Kirchhoff–Love (KL) theory account for both membrane and bending components, and when a thin shell with a rest-curved configuration is relaxed to a rest-flat shape when unstressed, it is treated as a thin plate. Compared to the membrane component, the bending component is particularly important for capturing the formation of folds and wrinkles. In this study, we concentrate on developing and analyzing bending models for thin plates and shells.

Modeling and simulating thin plates/shells is a longstanding topic in both the computer graphics community and computational mechanics community. The computational mechanics community has developed numerous bending formulations for plates and shells, with a strong emphasis on accuracy. Examples include methods based on subdivision surfaces [COS00] and Isogeometric Analysis (IGA) with high-order continuity solution spaces [BBHH11], which require sophisticated approaches to apply boundary conditions and handle contact resolution on control nodes. In contrast, the computer graphics community prioritizes efficiency, favoring models such as the hinge angle-based bending model [BW98, GHDS03, BMF03], Quadratic Shells [BWH06b], and Cubic Shells [GGWZ07] for their simplicity. However, these discretized edge-based energies have no bending along the common hinge edges, leading to a failure to converge to the complete shape operator of a smooth surface at element interfaces. Recently, the pursuit of an efficient and accurate algorithm has been a common goal for both communities [CSvRV18, Wei12, SZH24]. In this study, we take a step further at this intersection.

To summarize, our main contributions are as follows:

  • We present a corotational edge-based hinge curvature operator for thin shell simulation, including a specific variant for rest-flat (thin plate) simulation.

  • We propose a corotational FVM (finite volume method) hinge curvature operator for thin shell simulation, along with a specific variant for rest-flat (thin plate) simulation.

  • We introduce a corotational smoothed hinge curvature operator for thin shell simulation, as well as a specific variant for rest-flat (thin plate) simulation.

  • All models feature constant bending energy Hessians, with detailed boundary conditions for accurate simulation.

Our models based on the linear triangle mesh structure are easy to integrate into existing finite element codes and thin shell (cloth) simulators.

2 Related Works

2.1 Computational models of thin plates and shells

Computational modeling and simulation of bending behaviors in thin flexible objects is an active research topic in the graphics community. In 1987, the seminal work [TPBF87] introduced tensorial treatments of the second fundamental form, discretized using the finite difference method on a regular quadrilateral grid, to model cloth and deformed surfaces. Subsequently, particle and mass-spring methods [BHW94, VCMT95, CK02] were explored as alternatives to these complex tensorial treatments, aiming to improve efficiency. However, these methods often compromised physical accuracy, resulting in material parameters that were mesh-dependent and not easily transferable across different mesh topologies. Baraff and Witkin [BW98] utilized the hinge angle to model the bending constraint, similar to the approach in [VCMT95], but they focused on the rest-flat configuration for cloth modeling. The hinge angle is measured on an edge-based hinge stencil, which composes a hinge edge and its two adjacent triangles. Building on this stencil, Grinspun et al. [GHDS03] described the bending energy of the rest-curved thin shell on a discrete differential geometry view. In the same published volume, Bridson et al. [BMF03] offered a productive formulation of the hinge bending model. When the curvature is small, these two models can be related by scaling a coefficient [RLR21, FHXW22]. Both models have been adopted by well-known cloth simulators, C-IPC [LKJ21] and Arcsim [NSO12], respectively, due to their simplicity. However, the edge-based hinge bending model is limited in its ability to capture complete local curvature behavior and suffers from mesh dependency [GGRZ06].

To enhance the consistency of the edge-based hinge bending model, a hinge-averaged shape operator [GSH04] was described to model the bending strain, which has been applied to simulate plasticity and fracture [PNdJO14]. Despite this improvement, the convergence to the ground truth solution remains slow [CSvRV18, GGRZ06]. This issue was effectively addressed by introducing an additional degree of freedom (DoF) for midedge normal rotation to correct the hinge-averaged shape operator, resulting in what is known as the midedge operator [Zor05, GGRZ06]. This operator has been integrated into libshell [CSvRV18], which is based on the shear-rigid Koiter shell model, and is also included in the shearable Cosserat shell model [Wei12]. While the midedge operator improves consistency and convergence in thin-shell simulations, the extra midedge DoFs introduce a higher computational burden. In our models, the extra midedge DoFs are not involved.

To improve the efficiency of the edge-based hinge bending model, the hinge angle is linearized under the quasi-isometry (small in-plane strain) condition, resulting in a constant bending energy Hessian and a linear bending force for rest-flat thin shells, known as the Quadratic Shell model [BWH06b, BWH06a]. This model can be generalized from the Cubic Shell model [GGWZ07], which is suitable for rest-curved thin shell configurations. Although both models offer improved efficiency, the inherent drawbacks of the edge-based hinge bending model [GHDS03] persist. The quadratic biharmonic energy [WBH07] has a triangle-centered stencil and tends to perform better in terms of convergence to ground truth than models on the edge-based stencil, though it is limited to isometric, pure bending of plates. Based on the triangle-centered stencil, we introduce an FVM hinge curvature operator and a smoothed hinge curvature operator derived in the corotational frame [Cri97] to address the limitations of the abovementioned edge-based models.

More recently, Le et al. [LDB23] proposed a second-order Discrete Shells [GHDS03] model, demonstrating superior efficiency from the second-order triangle. Similarly benefited from the second-order tessellation, Löschner et al. [LFFJB24] showcased the effectiveness of a second-order three-director finite element shell with microrotation fields. However, computational modeling with second-order elements requires abandoning the piecewise linear triangle structure. Wen and Barbič [WB23] focused on deriving the KL thin-shell mechanical energy for arbitrary 3D volumetric hyperelastic materials, building their computational model from the foundation in the discrete geometry shell [CSvRV18, Wei12].

Another relevant topic in the computational mechanics community is the concept of a "rotation-free shell", where the shell is characterized without nodal rotational DoF. For those interested, a comparison study by Gärdsback et al. [GT07] provides insight, although it focuses on linear shell analysis. More recently, Zhou et al. [ZS12] extended a rotation-free beam model to a rotation-free shell model. While this approach offers certain efficiency advantages, its complex and laborious boundary condition treatment limits its potential applications. The pursuit of high-fidelity and high-performance (accurate, low computational cost, robustness, low sensitivity to poorly shaped meshes) thin-shell simulations increasingly blurs the lines between different research communities. Our models mainly draw inspiration from both discrete geometry shells [BWH06b, GDP06, GGWZ07, GGRZ06, Wei12] and rotation-free shells [OZ00, ZS12].

2.2 Corotational approach

To maintain the convergence properties of a linear approach while accommodating arbitrarily large rigid body transformations, the corotational approach is commonly employed to measure pure deformation. Müller et al. [MDM02] first introduced the corotational formulation to handle the geometric non-linearity for deformed body simulations in graphics community. Since then, this formulation has been widely adopted in computer graphics applications for stable and efficient solid simulations [ZSTB10, KKB18].

In thin shell formulations with the corotational approach, Etzmuß et al. [EKS03] extract the rotational component from the deformation gradient for each element and apply it to compute the bending stiffness matrices. In a similar vein to extract the rotation field, Thomaszewski et al. [TWS06] adopt subdivision basis functions [COS00] to improve accuracy in cloth simulation, but this basis function comes with significant computational costs. More recently, a smoothed hinge model [Lia24] based on the corotational formulation has been developed to measure pure deformation in the corotational frame, which undergoes only rigid-body motion, for cloth simulation. However, this model is limited to the rest-flat thin shell configuration. In our work, we provide all formulations by providing curvature operators for both rest-flat and -curved configurations, along with detailed boundary treatments. Leveraging the corotational approach, all our models feature constant bending energy Hessians, which enhances the efficiency and stability for implicit simulations.

3 Thin Shell Mechanics

In a KL thin shell, the elastic shell energy Ψ𝑠ℎ𝑒𝑙𝑙\Psi_{\mathit{shell}} is composed of both membrane energy Ψm\Psi_{m} and bending energy Ψb\Psi_{b}:

Ψ𝑠ℎ𝑒𝑙𝑙=12Ω¯𝜺mT𝐃m𝜺m𝑑A¯+12Ω¯𝜺bT𝐃b𝜺b𝑑A¯.\Psi_{\mathit{shell}}=\frac{1}{2}\int_{\bar{\Omega}}\bm{\varepsilon}_{\mathit{m}}^{T}\mathbf{D}_{\mathit{m}}\bm{\varepsilon}_{\mathit{m}}d\bar{A}+\frac{1}{2}\int_{\bar{\Omega}}\bm{\varepsilon}_{\mathit{b}}^{T}\mathbf{D}_{\mathit{b}}\bm{\varepsilon}_{\mathit{b}}d\bar{A}. (1)

Here, Ω¯{\bar{\Omega}} represents the initial configuration of the shell’s mid-surface, with A¯\bar{A} as the area element. The vectors 𝜺m\bm{\varepsilon}_{\mathit{m}} and 𝜺b\bm{\varepsilon}_{\mathit{b}} respectively denote the membrane strain and curvature change expressed in Voigt notation. The membrane stiffness matrix 𝐃m=h𝐄\mathbf{D}_{\mathit{m}}=h\mathbf{E} and the bending stiffness matrix 𝐃b=h3𝐄/12\mathbf{D}_{\mathit{b}}={h^{3}\mathbf{E}}/{12} depend on the shell thickness hh and the elastic matrix 𝐄\mathbf{E}, derived from the Saint Venant–Kirchhoff model.

In this study, we primarily focus on the computational modeling of the bending component, and therefore, we adopt the constant strain triangle as the computational model for the membrane part. The curvature change 𝜺b\bm{\varepsilon}_{\mathit{b}} reflects the change in curvature from the initial configuration 𝜿0\bm{\kappa}_{0} to the current configuration 𝜿\bm{\kappa}, i.e.,

𝜺b=𝜿𝜿0.\bm{\varepsilon}_{\mathit{b}}=\bm{\kappa}-\bm{\kappa}_{0}. (2)

In cases where the shell is initially flat, the initial curvature 𝜿0\bm{\kappa}_{0} vanishes, reducing the model to that of a thin plate.

4 Geometric Discretization

4.1 Kinematics

The shell stencil in the corotational edge-based hinge bending model is defined by an edge-based stencil, consisting of one edge and its two adjacent triangles (see Figure 1). On the other hand, the shell stencil for the corotational FVM/smoothed hinge bending model uses a triangle-centered stencil, which includes one central triangle and its three neighboring triangles (see Figure 2 and Figure 3). For a given point 𝐱R3\mathbf{x}\in R^{3} within one shell stencil, the position in the current configuration is computed as:

𝐱=𝐗+𝐮,\mathbf{x}=\mathbf{X}+\mathbf{u}, (3)

where 𝐗R3\mathbf{X}\in R^{3} is the position in the initial configuration, and 𝐮R3\mathbf{u}\in R^{3} is the displacement.

4.2 Terminologies and Remarks

Terminologies. In this context, ()e(\cdot)^{{e}} denotes a vector that collects the quantities associated with a shell stencil. For instance, 𝐱e=[𝐱1T𝐱2T𝐱3T𝐱4T]T{\mathbf{x}}^{e}=\begin{bmatrix}{\mathbf{x}}_{1}^{T}&{\mathbf{x}}_{2}^{T}&{\mathbf{x}}_{3}^{T}&{\mathbf{x}}_{4}^{T}\end{bmatrix}^{T} aggregates the current nodal positions for an edge-based stencil, while 𝐱e=[𝐱1T𝐱2T𝐱3T𝐱4T𝐱5T𝐱6T]T{\mathbf{x}}^{e}=\begin{bmatrix}{\mathbf{x}}_{1}^{T}&{\mathbf{x}}_{2}^{T}&{\mathbf{x}}_{3}^{T}&{\mathbf{x}}_{4}^{T}&{\mathbf{x}}_{5}^{T}&{\mathbf{x}}_{6}^{T}\end{bmatrix}^{T} aggregates the current nodal positions for a triangle-centered stencil. The notation ()0(\cdot)_{0} denotes the quantity in the initial configuration. The notation ()ij(\cdot)_{ij} denotes a directed line segment from point ()i(\cdot)_{i} to point ()j(\cdot)_{j} in any coordinate frame. The tilde ()~\tilde{(\cdot)} represents the quantity defined in the corotational frame (X~Y~Z~\tilde{X}-\tilde{Y}-\tilde{Z} is the initial corotational frame and x~y~z~\tilde{x}-\tilde{y}-\tilde{z} is the current corotational frame). Quantities in the corotational frame can be transformed from those in the world frame, as illustrated in Appendix A. ()c(\cdot)_{{c}} denotes projection. More graphical illustration can be found in the accompanying Figure 1, Figure 2 and Figure 3.

The terms "EP", "ES", "FP", "FS", "SP", and "SS" are used to distinguish between different bending formulations, when necessary. Specifically, "E" refers to the edge-based hinge, "F" to the FVM hinge, and "S" to the smoothed hinge. "P" indicates a plate (rest-flat configuration), while "S" denotes a shell (rest-curved configuration).

Remarks. Transitioning from simpler cases to more complex scenarios, we provide more derivation details for the bending models based on edge-centered stencils using corotational approach, enabling a seamless generalization of this derivation process to bending models on triangle-centered stencils. To facilitate understanding of the derivation process, we outline several key points.

The kinematics of a shell stencil deformed from its initial configuration to the current configuration can be expressed as 𝐱e=𝐗e+𝐮e\mathbf{x}^{e}=\mathbf{X}^{e}+\mathbf{u}^{e}. In the initial configuration, a shell stencil with 𝐗e{\mathbf{X}}^{e} projected onto the tangential plane of the initial corotational frame is referred to as a corotational shell stencil with 𝐗ce{\mathbf{X}}^{e}_{c}. By projecting the deviation vector 𝐗e𝐗ce\mathbf{X}^{e}-\mathbf{X}^{e}_{c} along the normal direction of the initial corotational frames, and introducing curvature operators constructed from 𝐗ce{\mathbf{X}}^{e}_{c}, the discretized curvature in the initial configuration can be defined. Under the small (in-plane) strain and curvature assumption, the relative positions of the projected positions 𝐱ce{\mathbf{x}}^{e}_{c} in the current corotational frame and 𝐗ce{\mathbf{X}}^{e}_{c} in the initial corotational frame are approximately identical. (Another view is that the corotational shell stencil transitions from the initial configuration to the current configuration as 𝐱ce=𝐗ce+𝐮ce{\mathbf{x}}^{e}_{c}={\mathbf{X}}^{e}_{c}+{\mathbf{u}}^{e}_{c}, approximately undergoing rigid-body motion). So, the discretized curvature in the current configuration can be defined using the curvature operators of the discretized curvature in the initial configuration. The bending deformation is quantified by the change in curvature between the initial and current configurations. Based on this, the constant bending energy Hessians can be rationally derived. Further details are provided in the subsequent subsections. Our source code (https://github.com/liangqx-hku/libThinPlateShells) is also made available to support practitioners.

4.3 Corotational edge-based hinge bending model

Refer to caption
Figure 1: A shell stencil (edge-based hinge) deforms from its initial configuration (blue) to the current configuration (black). The corotational frame (green) is employed to capture nodal deviations relative to the corotational shell stencil (gray dashed line). XYZX-Y-Z is the world frame. For the shell stencil in the current configuration, two views are presented. 𝐱P\mathbf{x}_{P} and 𝐱Q\mathbf{x}_{Q} are perpendicular feet. The x~y~z~\tilde{x}-\tilde{y}-\tilde{z} frame represents the current corotational frame, where the x~\tilde{x}-axis aligns with the edge 𝐱23\mathbf{x}_{23}, and the z~\tilde{z}-axis direction (the direction of 𝐧z~\mathbf{n}_{\tilde{z}}) is approximately along the bisector of the bend angle θ\theta. The y~\tilde{y}-axis is determined by the right-hand rule. The corotational shell stencil is the projection of the shell stencil onto the x~y~\tilde{x}-\tilde{y} plane. α1\alpha_{1} and α4\alpha_{4} describe the bend angles of two adjacent triangles relative to the corotational shell stencil. The point (𝐱1)c(\mathbf{x}_{1})_{c} represents the projection of 𝐱1\mathbf{x}_{1} onto the x~y~\tilde{x}-\tilde{y} plane, while the transverse displacement w~1\tilde{w}_{1} corresponds to the projection of the relative difference between 𝐱1\mathbf{x}_{1} and (𝐱1)c(\mathbf{x}_{1})_{c} along the z~\tilde{z}-axis. Similar quantities for other points can be calculated in the same manner. Variables related to the shell stencil in the initial configuration can be extended from those in the current configuration.

For an edge-based stencil based on the triangular mesh (see Figure 1), there is no bending along the hinge edge. In the current configuration, the bend angle θ\theta is small under the small strain/curvature assumption. The directional curvature κm\kappa_{{m}} across the hinge edge in the current configuration can be expressed as

κm=2sinθh12+2h1h4cosθ+h422θh1+h4\kappa_{{m}}=\frac{2sin\theta}{\sqrt{h_{1}^{2}+2h_{1}h_{4}\cos\theta+h_{4}^{2}}}\simeq\frac{2\theta}{h_{1}+h_{4}} (4)

with θsinθ\theta\simeq\sin\theta and cosθ1\cos\theta\simeq 1. h1h_{1} and h4h_{4} are the heights of the triangle T123T_{123} and T432T_{432} approximated in the initial configuration, respectively. Under the small curvature assumption, the bend angle in the current configuration can be approximated by

θ=α1+α2sinα1+sinα2𝐧z~T(𝐱~1𝐱~P)h1+𝐧z~T(𝐱~4𝐱~Q)h4.\theta=\alpha_{1}+\alpha_{2}\simeq\sin\alpha_{1}+\sin\alpha_{2}\simeq\frac{\mathbf{n}_{\tilde{z}}^{T}({\tilde{\mathbf{x}}}_{1}-{\tilde{\mathbf{x}}}_{P})}{h_{1}}+\frac{\mathbf{n}_{\tilde{z}}^{T}({\tilde{\mathbf{x}}}_{4}-{\tilde{\mathbf{x}}}_{Q})}{h_{4}}. (5)

Here, the perpendicular feet 𝐱~P\tilde{\mathbf{x}}_{P} and 𝐱~Q\tilde{\mathbf{x}}_{Q} are given by

𝐱~P=𝐱~P3𝐱~23𝐱~2+𝐱~P2𝐱~23𝐱~3,𝐱~Q=𝐱~Q3𝐱~23𝐱~2+𝐱~Q2𝐱~23𝐱~3.\tilde{\mathbf{x}}_{P}=\frac{\lVert\tilde{\mathbf{x}}_{P3}\rVert}{\lVert\tilde{\mathbf{x}}_{23}\rVert}\tilde{\mathbf{x}}_{2}+\frac{\lVert\tilde{\mathbf{x}}_{P2}\rVert}{\lVert\tilde{\mathbf{x}}_{23}\rVert}\tilde{\mathbf{x}}_{3},\ \tilde{\mathbf{x}}_{Q}=\frac{\lVert\tilde{\mathbf{x}}_{Q3}\rVert}{\lVert\tilde{\mathbf{x}}_{23}\rVert}\tilde{\mathbf{x}}_{2}+\frac{\lVert\tilde{\mathbf{x}}_{Q2}\rVert}{\lVert\tilde{\mathbf{x}}_{23}\rVert}\tilde{\mathbf{x}}_{3}. (6)

Under the small strain assumption, these perpendicular feet in Eq. (6) can be approximated as

𝐱~P=𝐗~P3𝐗~23𝐱~2+𝐗~P2𝐗~23𝐱~3,𝐱~Q=𝐗~Q3𝐗~23𝐱~2+𝐗~Q2𝐗~23𝐱~3,\tilde{\mathbf{x}}_{P}=\frac{\lVert\tilde{\mathbf{X}}_{P3}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert}\tilde{\mathbf{x}}_{2}+\frac{\lVert\tilde{\mathbf{X}}_{P2}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert}\tilde{\mathbf{x}}_{3},\ \tilde{\mathbf{x}}_{Q}=\frac{\lVert\tilde{\mathbf{X}}_{Q3}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert}\tilde{\mathbf{x}}_{2}+\frac{\lVert\tilde{\mathbf{X}}_{Q2}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert}\tilde{\mathbf{x}}_{3}, (7)

and 𝐧z~=𝐧c/𝐧c\mathbf{n}_{\tilde{z}}=\mathbf{n}_{c}/\lVert\mathbf{n}_{c}\rVert is the direction of the z~\tilde{z}-axis, with 𝐧c\mathbf{n}_{c} expressed as

𝐧c=𝐱P1𝐱P1+𝐱Q4𝐱Q4.\mathbf{n}_{c}=\frac{\mathbf{x}_{P1}}{\lVert\mathbf{x}_{P1}\rVert}+\frac{\mathbf{x}_{Q4}}{\lVert\mathbf{x}_{Q4}\rVert}. (8)

It should be noted that we use the direction 𝐧z~\mathbf{n}_{\tilde{z}}, which bisects the bend angle, to approximate the normal direction of the smoothed shell surface in the current configuration. 𝐧z~\mathbf{n}_{\tilde{z}} is perpendicular to the hinge edge and points from the shell surface to the mesh. To avoid the numerical issue, when T123T_{123} and T432T_{432} are coplanar, 𝐧z~\mathbf{n}_{\tilde{z}} aligns with the normal of triangle T123T_{123} (T432T_{432}).

By substituting Eq. (7) and Eq. (5) into Eq. (4), the directional curvature in the current configuration is obtained as

κm=𝐋m𝐍T𝐱~e=𝐋m𝐝.\kappa_{m}={\mathbf{L}}_{m}\mathbf{N}^{T}\tilde{\mathbf{x}}^{e}=\mathbf{L}_{m}\mathbf{d}. (9)

Here 𝐋m=2𝐋θ/(h1+h4){\mathbf{L}}_{m}=2\mathbf{L}_{\theta}/(h_{1}+h_{4}) denotes the corotational edge-based hinge curvature operator, where 𝐋θ\mathbf{L}_{\theta} is given by

[1h1(𝐗~P3𝐗~23h1+𝐗~Q3𝐗~23h4)(𝐗~P2𝐗~23h1+𝐗~Q2𝐗~23h4)1h4]\begin{bmatrix}\frac{1}{h_{1}}&-\left(\frac{\lVert\tilde{\mathbf{X}}_{P3}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert h_{1}}+\frac{\lVert\tilde{\mathbf{X}}_{Q3}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert h_{4}}\right)&-\left(\frac{\lVert\tilde{\mathbf{X}}_{P2}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert h_{1}}+\frac{\lVert\tilde{\mathbf{X}}_{Q2}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert h_{4}}\right)&\frac{1}{h_{4}}\end{bmatrix} (10)

and 𝐍=𝐈4×4𝐧z~\mathbf{N}=\mathbf{I}_{4\times 4}\otimes\mathbf{n}_{\tilde{z}}. \otimes represents the Kronecker product, 𝐈4×4\mathbf{I}_{4\times 4} is the fourth order identity matrix and the transverse displacement vector of the edge-based stencil 𝐝=[w~1w~2w~3w~4]T\mathbf{d}=\begin{bmatrix}\tilde{w}_{1}&\tilde{w}_{2}&\tilde{w}_{3}&\tilde{w}_{4}\end{bmatrix}^{T} measures the deviations of the nodes away from the corotational shell stencil in the current configuration (see Figure 1).

To conveniently get the derivatives of curvature, we express the transverse displacement vector using the world coordinates, leading to the directional curvature

κm=𝐋m𝐍T(𝐱e𝐱ce).\kappa_{{m}}=\mathbf{L}_{m}\mathbf{N}^{T}(\mathbf{x}^{e}-\mathbf{x}_{c}^{e}). (11)

In the geometry view, 𝐱ce\mathbf{x}^{e}_{c} lies in the tangential plane of the current corotational frame. Since 𝐍\mathbf{N} contains the normal directions of the current corotational frame, it’s obvious that 𝐍T𝐱ce=0\mathbf{N}^{T}\mathbf{x}^{e}_{c}=0. We can obtain that

𝐋m𝐍T𝐱ce=𝟎.\mathbf{L}_{m}\mathbf{N}^{T}\mathbf{x}^{e}_{c}=\mathbf{0}. (12)

Thus, the curvature of the edge-based shell stencil in the current configuration is

κm=𝐋m𝐍T𝐱e.\kappa_{{m}}=\mathbf{L}_{m}\mathbf{N}^{T}\mathbf{x}^{e}. (13)

Similarly, the curvature of the edge-based shell stencil in the initial configuration is

(κm)0=𝐋m𝐝0=𝐋m𝐍0T𝐗e,(\kappa_{{m}})_{0}=\mathbf{L}_{m}\mathbf{d}_{0}=\mathbf{L}_{m}\mathbf{N}_{0}^{T}\mathbf{X}^{e}, (14)

where 𝐍0=𝐈4×4𝐧Z~\mathbf{N}_{0}=\mathbf{I}_{4\times 4}\otimes\mathbf{n}_{\tilde{Z}}. In fact, 𝐝0=𝐍0T𝐗e\mathbf{d}_{0}=\mathbf{N}_{0}^{T}\mathbf{X}^{e} measures the deviations of the edge-based shell stencil away from the corotational shell stencil in the initial configuration.

The curvature derivation process for the corotational edge-based hinge bending model can also be generalized to the corotational FVM/smoothed hinge bending model. The difference lies in quantifying curvature from the edge-based shell stencil to the triangle-centered shell stencil. For the corotational FVM/smoothed hinge bending model, the direction of the z~\tilde{z}-axis in the current corotational frame is exactly given by the normal of the central triangle T123T_{123}, i.e., 𝐧c\mathbf{n}_{c} in Eq. (8) should be replaced by

𝐧c=𝐱12×𝐱13.\mathbf{n}_{c}=\mathbf{x}_{12}\times\mathbf{x}_{13}. (15)

Corotational edge-based hinge thin plate. The bending energy of the corotational edge-based hinge thin plate can be expressed as

ΨbEP=12Akbκm2,\Psi_{b}^{EP}=\frac{1}{2}A_{\mathcal{E}}k_{b}\kappa_{{m}}^{2}, (16)

where AA_{\mathcal{E}} is the total area of the edge stencil in the initial configuration. The bending rigidity is defined as kb=Eh3/[12(1ν2)]k_{b}={Eh^{3}}/{[12(1-\nu^{2})]} with EE is the Young’s modulus and ν\nu is the Poisson’s ratio. By applying Eq. (13), the bending energy in Eq. (16) can be discretized as

ΨbEP=A2kbκm2=A2kb(𝐱e)T𝐍𝐋mT𝐋m𝐍T𝐱e.\Psi_{b}^{EP}=\frac{A_{\mathcal{E}}}{2}k_{b}\kappa_{{m}}^{2}=\frac{A_{\mathcal{E}}}{2}k_{b}(\mathbf{x}^{e})^{T}\mathbf{N}\mathbf{L}_{m}^{T}\mathbf{L}_{m}\mathbf{N}^{T}\mathbf{x}^{e}. (17)

This can be further regrouped as

ΨbEP=A2kbκm2=A2kb(𝐱e)T(𝐋mT𝐋m𝐈)𝐍𝐍T𝐱e,\Psi_{b}^{EP}=\frac{A_{\mathcal{E}}}{2}k_{b}\kappa_{{m}}^{2}=\frac{A_{\mathcal{E}}}{2}k_{b}(\mathbf{x}^{e})^{T}(\mathbf{L}_{m}^{T}\mathbf{L}_{m}\otimes\mathbf{I})\mathbf{N}\mathbf{N}^{T}\mathbf{x}^{e}, (18)

where 𝐈\mathbf{I} is the 3rd identity matrix.

For any point within the shell stencil under the small strain/curvature assumption, the relation

𝐧𝐧T(𝐱𝐱c)=𝐧w~𝐱𝐱c\mathbf{n}\mathbf{n}^{T}(\mathbf{x}-\mathbf{x}_{c})=\mathbf{n}\tilde{w}\simeq\mathbf{x}-\mathbf{x}_{c} (19)

holds, and with 𝐋m𝐍T𝐱ce=𝟎\mathbf{L}_{m}\mathbf{N}^{T}\mathbf{x}^{e}_{c}=\mathbf{0} in Eq. (12). Therefore, the bending energy can be simplified to

ΨbEP=A2kb(𝐱e)T(𝐋mT𝐋m𝐈)𝐱e.\Psi_{b}^{EP}=\frac{A_{\mathcal{E}}}{2}k_{b}(\mathbf{x}^{e})^{T}(\mathbf{L}_{m}^{T}\mathbf{L}_{m}\otimes\mathbf{I})\mathbf{x}^{e}. (20)

This shows that the bending energy is quadratic in terms of the nodal positions, which implies that the Hessian of the bending energy is constant and given by

2ΨbEP𝐱e(𝐱e)T=kbA𝐋mT𝐋m𝐈.\frac{\partial^{2}\Psi_{b}^{EP}}{\partial\mathbf{x}^{e}{\partial(\mathbf{x}^{e})^{T}}}=k_{b}A_{\mathcal{E}}\mathbf{L}_{m}^{T}\mathbf{L}_{m}\otimes\mathbf{I}. (21)

The gradient of the bending energy, being linear with respect to the nodal positions, is expressed as

ΨbEP𝐱e=(2ΨbEP𝐱e(𝐱e)T)𝐱e.\frac{\partial\Psi_{b}^{EP}}{\partial\mathbf{x}^{e}}=(\frac{\partial^{2}\Psi_{b}^{EP}}{\partial\mathbf{x}^{e}{\partial(\mathbf{x}^{e})^{T}}})\mathbf{x}^{e}. (22)

It is important to note that quantifying the edge-based curvature operator in the world frame leads to a discrete expression similar to that of the Quadratic Shell model [BWH06b]. However, this formulation overestimates the bending energy by a factor of three, as numerical results will be discussed in detail in Section 6.1. The fundamental difference and accuracy discrepancy has been detailed in Appendix D.

Corotational edge-based hinge thin shell. The bending energy of the corotational edge-based hinge thin shell is

ΨbES=12Akbϵb2,\Psi_{b}^{ES}=\frac{1}{2}A_{\mathcal{E}}k_{b}\epsilon_{b}^{2}, (23)

where the curvature change ϵb\epsilon_{b} is

ϵb=κm(κm)0=𝐋m𝐍T𝐱e𝐋m𝐍0T𝐗e.\epsilon_{b}={\kappa}_{m}-({\kappa}_{m})_{0}=\mathbf{L}_{m}\mathbf{N}^{T}{\mathbf{x}}^{e}-\mathbf{L}_{m}\mathbf{N}_{0}^{T}{\mathbf{X}}^{e}. (24)

The gradient of the bending energy is then

ΨbES𝐱e=Akbϵb𝐱eϵb,\frac{\partial\Psi_{b}^{ES}}{\partial\mathbf{x}^{e}}={A_{\mathcal{E}}}k_{b}\frac{\partial\epsilon_{b}}{\partial\mathbf{x}^{e}}\epsilon_{b}, (25)

where the gradient of the curvature change is

ϵb𝐱e=(𝐱e)T𝐍𝐱e𝐋mT+𝐍𝐋mT.\frac{\partial\epsilon_{b}}{\partial\mathbf{x}^{e}}=({\mathbf{x}}^{e})^{T}\frac{\partial\mathbf{N}}{\partial\mathbf{x}^{e}}\mathbf{L}_{m}^{T}+\mathbf{N}\mathbf{L}_{m}^{T}. (26)

Here, 𝐍/𝐱e=𝐈4×4(𝐧z~/𝐱e){\partial\mathbf{N}}/{\partial\mathbf{x}^{e}}=\mathbf{I}_{4\times 4}\otimes({\partial\mathbf{n}_{\tilde{z}}}/{\partial\mathbf{x}^{e}}) with the gradient of the normal 𝐧z~/𝐱e{\partial\mathbf{n}_{\tilde{z}}}/{\partial\mathbf{x}^{e}} is detailed in the Appendix B.

Before deriving the Hessian of bending energy, substituting Eq. (24) into Eq. (23) yields

ΨbES=ΨflatES+ΨcurvedES,\Psi_{b}^{ES}=\Psi_{flat}^{ES}+\Psi_{curved}^{ES}, (27)

which decomposes into a flat part

ΨflatES=A2kb(𝐱e)T(𝐋mT𝐋m𝐈)𝐍𝐍T𝐱e\Psi_{flat}^{ES}=\frac{A_{\mathcal{E}}}{2}k_{b}(\mathbf{x}^{e})^{T}(\mathbf{L}_{m}^{T}\mathbf{L}_{m}\otimes\mathbf{I})\mathbf{N}\mathbf{N}^{T}\mathbf{x}^{e} (28)

and a curved part ΨcurvedES\Psi_{curved}^{ES} is

A2kb(2(𝐱e)T(𝐋mT𝐋m𝐈)𝐍𝐍0T𝐗e+(𝐗e)T(𝐋mT𝐋m𝐈)𝐍0𝐍0T𝐗e).\begin{gathered}\frac{A_{\mathcal{E}}}{2}k_{b}(-2(\mathbf{x}^{e})^{T}(\mathbf{L}_{m}^{T}\mathbf{L}_{m}\otimes\mathbf{I})\mathbf{N}\mathbf{N}_{0}^{T}\mathbf{X}^{e}+(\mathbf{X}^{e})^{T}(\mathbf{L}_{m}^{T}\mathbf{L}_{m}\otimes\mathbf{I})\mathbf{N}_{0}\mathbf{N}_{0}^{T}\mathbf{X}^{e}).\end{gathered} (29)

The flat part in Eq. (27) is identical to the bending energy of the corotational edge-based hinge thin plate in Eq. (18), similar note can be found in the Cubic Shell paper [GGWZ07]. Consequently, the simplified bending energy Hessian from the rest-flat version in Eq. (21) can be used to perform a single bending energy Hessian assembly for the rest-curved version.

Boundary conditions for the corotational edge-based hinge. In thin shell simulations, the most commonly used boundary conditions are the clamped boundary condition, the free boundary condition, and the simply supported boundary condition. The simply supported boundary condition can be effectively achieved by combining the free boundary condition with fixed boundary nodes, so we will focus on discussing the clamped and free boundary conditions. In the boundary edge stencil MNLLMNLL^{\prime}, illustrated in Figure 4, the node LL^{\prime} is a virtual node that is symmetrically positioned with respect to node LL across the midpoint PP of the boundary edge MNMN.

The Clamped Boundary Condition. For a boundary edge stencil with a clamped boundary condition, a symmetric virtual transverse displacement is applied, corresponding to the virtual node LL^{\prime}

w~L=w~L,\tilde{w}_{L^{\prime}}=\tilde{w}_{L}, (30)

which ensures the preservation of the normal direction perpendicular to the boundary edge stencil. When this condition is applied to the boundary edge stencil, the corotational edge-based hinge curvature operator 𝐋m\mathbf{L}_{m} is modified to

𝐋m=2h1[1h1𝐗~P3𝐗~23h1𝐗~P2𝐗~23h10]\mathbf{L}_{m}^{{}^{\prime}}=\frac{2}{h_{1}}\begin{bmatrix}\frac{1}{h_{1}}&-\frac{\lVert\tilde{\mathbf{X}}_{P3}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert h_{1}}&-\frac{\lVert\tilde{\mathbf{X}}_{P2}\rVert}{\lVert\tilde{\mathbf{X}}_{23}\rVert h_{1}}&0\end{bmatrix} (31)

This zero-slope condition is also applicable in symmetric structural finite element analysis (FEA).

The Free Boundary Condition. For a free boundary edge, there is no bending energy in the boundary edge stencil, resulting in zero entries for both the gradient and Hessian related to this boundary (zero-curvature condition).

In conclusion, the modification of the curvature operator according to the missing nodes enables the condensation of boundary conditions at the element level. Boundary conditions are crucial in engineering shell simulations to achieve accurate results. However, their impact on the visual effects in computer animation is often negligible.

4.4 Corotational FVM hinge bending model

Refer to caption
Figure 2: A triangle-centered shell stencil for modeling the corotational FVM hinge bending model deforms from its initial configuration (blue) to the current configuration (black). XYZX-Y-Z is the world frame. For shell stencil in the current configuration, the x~y~z~\tilde{x}-\tilde{y}-\tilde{z} frame (green) is the current corotational frame, where the x~\tilde{x}-axis aligns with the edge 𝐱12\mathbf{x}_{12}, and the z~\tilde{z}-axis direction is along the normal direction of the central triangle. The y~\tilde{y}-axis is determined by the right-hand rule. The corotational shell stencil (gray dashed line) is the projection of the shell stencil onto the x~y~\tilde{x}-\tilde{y} plane. The point (𝐱4)c(\mathbf{x}_{4})_{c} represents the projection of 𝐱4\mathbf{x}_{4} onto the x~y~\tilde{x}-\tilde{y} plane, while the transverse displacement w~4\tilde{w}_{4} corresponds to the projection of the relative difference between 𝐱4\mathbf{x}_{4} and (𝐱4)c(\mathbf{x}_{4})_{c} along the z~\tilde{z}-axis. Similar quantities for other points can be calculated in the same manner. Variables related to the shell stencil in the initial configuration can be extended from those in the current configuration.

Smooth Settings. The curvature of the central triangle in the initial configuration can be evaluated using the finite volume method (FVM) within the corotational frame. The generalized curvature vector

𝜿0=1AA(2w~0X~22w~0Y~222w~0X~Y~)𝑑A\bm{\kappa}_{0}=\frac{1}{A}\int_{A}\left(\begin{array}[]{c}\frac{\partial^{2}\tilde{w}_{0}}{\partial\tilde{X}^{2}}\\ \frac{\partial^{2}\tilde{w}_{0}}{\partial\tilde{Y}^{2}}\\ 2\frac{\partial^{2}\tilde{w}_{0}}{\partial\tilde{X}\partial\tilde{Y}}\end{array}\right)dA (32)

is derived through variation the virtual work principle governing the bending deformation. Here AA is the area of the central triangle in the initial configuration. By applying the Stokes’s theorem, Eq. (32) can be rewritten as

𝜿0=1AΓ𝐓(w~0X~w~0Y~)𝑑Γ,\bm{\kappa}_{0}=\frac{1}{A}\int_{\Gamma}\mathbf{T}\binom{\frac{\partial\tilde{w}_{0}}{\partial\tilde{X}}}{\frac{\partial\tilde{w}_{0}}{\partial\tilde{Y}}}d\Gamma, (33)

where Γ\Gamma is the boundary of the central triangle in the initial configuration, and 𝐓\mathbf{T} is defined as

𝐓=[ms00mtmtms],\mathbf{T}=\left[\begin{array}[]{cc}m_{s}&0\\ 0&m_{t}\\ m_{t}&m_{s}\end{array}\right], (34)

with the normalized normal 𝐦~=[msmt]T\tilde{\mathbf{m}}=\left[\begin{array}[]{cc}m_{s}&m_{t}\end{array}\right]^{T} outward to the boundary Γ\Gamma surrounding the central triangle in the X~Y~\tilde{X}-\tilde{Y} plane of the initial corotational frame. s{s}-axis is tangential to the boundary Γ\Gamma and t{t}-axis is perpendicular to the s{s}-axis. The gradient of the transverse displacement w~\tilde{w} can be transformed from the directional gradient using

(w~0X~w~0Y~)=[msmtmtms](w~0tw~0s),\binom{\frac{\partial\tilde{w}_{0}}{\partial\tilde{X}}}{\frac{\partial\tilde{w}_{0}}{\partial\tilde{Y}}}=\left[\begin{array}[]{cc}m_{{{s}}}&-m_{{t}}\\ m_{{t}}&m_{{s}}\end{array}\right]\binom{\frac{\partial\tilde{w}_{0}}{\partial t}}{\frac{\partial\tilde{w}_{0}}{\partial s}}, (35)

where w~0/t{\partial\tilde{w}_{0}}/{\partial t} and w~0/s{\partial\tilde{w}_{0}}/{\partial s} are respectively the rotation angle about the s{s}-axis and t{t}-axis.

Discrete Settings. Given that there is no bending in each hinge edge (see Figure 2), i.e., w~/t0{\partial\tilde{w}}/{\partial t}\neq 0 and w~/s=0{\partial\tilde{w}}/{\partial s}=0 in Eq. (35), the generalized curvature of the central triangle in the initial configuration becomes

𝜿0=i=13((ms)i2(mt)i22(ms)i(mt)i)(κi)0,\bm{\kappa}_{0}=\sum_{i=1}^{3}\left(\begin{array}[]{c}(m_{{s}})_{i}^{2}\\ (m_{{t}})_{i}^{2}\\ 2(m_{{s}})_{i}(m_{{t}})_{i}\end{array}\right)(\kappa_{i})_{0}, (36)

where (κi)0=(w~/t)ili/A(\kappa_{i})_{0}=({\partial\tilde{w}}/{\partial t})_{i}l_{i}/A is the directional curvature, with lil_{i} being the length of the hinge edge in the initial configuration. It can be seen that the FVM approach superpositions the directional curvatures of the central triangle onto the generalized curvature in the corotational frame. To discrete the curvature and consider the adjacent triangles’ contribution to the common edge, several discretized schemes can be found in [OZ00, GSH04].

In our approach, we first extend the Eq. (4) to express the directional curvatures, 𝜿0\bm{\kappa}_{0} can then be rewritten as

𝜿0=𝐑(𝜿p)0=𝐑(2(θ1)0h1+h42(θ2)0h2+h52(θ3)0h3+h6),\bm{\kappa}_{0}=\mathbf{R}(\bm{\kappa}_{p})_{0}=\mathbf{R}\left(\begin{array}[]{c}\frac{2(\theta_{1})_{0}}{h_{1}+h_{4}}\\ \frac{2(\theta_{2})_{0}}{h_{2}+h_{5}}\\ \frac{2(\theta_{3})_{0}}{h_{3}+h_{6}}\end{array}\right), (37)

where 𝜿p\bm{\kappa}_{p} denotes the directional curvature vector, θi(i=1,2,3)\theta_{i}\ (i=1,2,3) is the bend angle across each edge, hi(i=1,2,,6)h_{i}\ (i=1,2,\cdots,6) is the triangle height in the initial configuration (see Figure 9), and the transform matrix 𝐑\mathbf{R} is

𝐑=[(ms)12(ms)22(ms)32(mt)12(mt)22(mt)322(ms)1(mt)12(ms)2(mt)22(ms)3(mt)3].\mathbf{R}=\left[\begin{array}[]{ccc}(m_{{s}})^{2}_{1}&(m_{{s}})_{2}^{2}&(m_{{s}})_{3}^{2}\\ (m_{{t}})_{1}^{2}&(m_{{t}})_{2}^{2}&(m_{{t}})_{3}^{2}\\ 2(m_{{s}})_{1}(m_{{t}})_{1}&2(m_{{s}})_{2}(m_{{t}})_{2}&2(m_{{s}})_{3}(m_{{t}})_{3}\end{array}\right]. (38)

Finally, under the small strain/curvature assumption, each directional curvature in Eq. (37) is linearized using the corotational edge-based hinge approach described in Section 4.3.

Corotational FVM hinge thin plate. The bending energy of the corotational FVM hinge thin plate is

ΨbFP=A2𝜿pT𝐃bp𝜿p.\Psi_{\mathrm{b}}^{FP}=\frac{A}{2}\bm{\kappa}_{p}^{T}\mathbf{D}_{b}^{p}\bm{\kappa}_{p}. (39)

Here 𝐃bp=𝐑T𝐃b𝐑\mathbf{D}_{b}^{p}=\mathbf{R}^{T}\mathbf{D}_{\mathrm{b}}\mathbf{R}, and the directional curvature vector in the current configuration can be discretized by

𝜿p=𝐋p𝐍T𝐱e,\bm{\kappa}_{p}=\mathbf{L}_{p}\mathbf{N}^{T}\mathbf{x}^{e}, (40)

where 𝐍=𝐈6×6𝐧z~\mathbf{N}=\mathbf{I}_{6\times 6}\otimes\mathbf{n}_{\tilde{z}} with 𝐧z~\mathbf{n}_{\tilde{z}} normalized as described 𝐧c\mathbf{n}_{c} in Eq. (15). 𝐈6×6\mathbf{I}_{6\times 6} is a sixth order identity matrix. The entries of the directional curvature operator 𝐋p\mathbf{L}_{p} are detailed in Appendix C. Consequently, the generalized curvature in Eq. (36) can be discretized by the corotational FVM hinge curvature operator 𝐑𝐋p\mathbf{R}\mathbf{L}_{p}.

In deriving the derivatives of the bending energy of corotational FVM hinge thin plate, we also obtain the constant bending energy Hessian corresponding to the corotational edge-based hinge thin plate in Section 4.3,

2ΨbFP𝐱e(𝐱e)T=A(𝐋pT𝐃bp𝐋p𝐈).\frac{\partial^{2}\Psi_{b}^{FP}}{\partial\mathbf{x^{\mathrm{e}}}{\partial(\mathbf{x}^{e})^{T}}}=A(\mathbf{L}_{p}^{T}\mathbf{D}_{\mathrm{b}}^{p}\mathbf{L}_{p}\otimes\mathbf{I}). (41)

The operation in Eq. (22) can similarly be employed to compute the linear gradient of the corotational FVM hinge thin plate model.

Corotational FVM hinge thin shell. The bending energy of the corotational FVM hinge thin shell is

ΨbFS=A2(𝜺bFS)T𝐃b𝜺bFS\Psi_{{b}}^{FS}=\frac{A}{2}(\bm{\varepsilon}_{b}^{FS})^{T}\mathbf{D}_{\mathit{b}}\bm{\varepsilon}_{b}^{FS} (42)

where the curvature change vector 𝜺bFS\bm{\varepsilon}_{b}^{FS} is

𝜺bFS=𝐑𝜿p𝐑(𝜿p)0=𝐑𝐋p𝐍T𝐱e𝐑𝐋p𝐍0T𝐗e\bm{\varepsilon}_{b}^{FS}=\mathbf{R}\bm{\kappa}_{p}-\mathbf{R}(\bm{\kappa}_{p})_{0}=\mathbf{R}\mathbf{L}_{p}\mathbf{N}^{T}{\mathbf{x}}^{e}-\mathbf{R}\mathbf{L}_{p}\mathbf{N}_{0}^{T}{\mathbf{X}}^{e} (43)

with 𝐍0=𝐈6×6𝐧Z~\mathbf{N}_{0}=\mathbf{I}_{6\times 6}\otimes\mathbf{n}_{\tilde{Z}}. The gradient of the bending energy of corotational FVM hinge thin shell is generalized from the corotational edge-based hinge thin shell, as follows

ΨbFS𝐱e=A(𝜺bFS)T𝐱e𝐃b𝜺bFS,\frac{\partial\Psi_{{b}}^{FS}}{\partial\mathbf{x}^{\mathrm{e}}}=A\frac{\partial(\bm{\varepsilon}_{b}^{FS})^{T}}{\partial\mathbf{x}^{e}}\mathbf{D}_{{b}}\bm{\varepsilon}_{b}^{FS}, (44)

where the gradient of the curvature change vector is

𝜺bFS𝐱e=(𝐱e)T𝐍𝐱e𝐋pT𝐑T+𝐍𝐋pT𝐑T.\frac{\partial\bm{\varepsilon}_{b}^{FS}}{\partial\mathbf{x}^{e}}=({\mathbf{x}}^{e})^{T}\frac{\partial\mathbf{N}}{\partial\mathbf{x}^{e}}\mathbf{L}_{p}^{T}\mathbf{R}^{T}+\mathbf{N}\mathbf{L}_{p}^{T}\mathbf{R}^{T}. (45)

The bending energy Hessian remains the same as in the corotational FVM hinge thin plate model, for reasons similar to those discussed in the corotational edge-based hinge bending model in Section 4.3.

Boundary conditions for corotational FVM hinge. For boundary triangle-centered stencils where at least one triangle is missing along the boundary edge, the boundary conditions from the corotational edge-based hinge bending model can be applied to the boundary triangle stencil (see Figure 4). It is crucial to set the mixed second derivative of curvature to zero for the boundary shell stencil with free edge boundary condition to ensure accuracy in passing the "engineering shell obstacle benchmark" tests, shown in Section 6.1.

4.5 Corotational smoothed hinge bending model

Refer to caption
Figure 3: A triangle-centered shell stencil, fitted to a quadratic surface (light blue), models the corotational smoothed hinge bending model as it deforms from its initial configuration (blue) to the current configuration (black). XYZX-Y-Z is the world frame, and x~y~z~\tilde{x}-\tilde{y}-\tilde{z} (green) is the corotational frame for the shell stencil in the current configuration, capturing nodal deviations relative to the projected corotational shell stencil (gray dashed line). (𝐱4)c(\mathbf{x}_{4})_{c} is the projection of 𝐱4\mathbf{x}_{4} onto the x~y~\tilde{x}-\tilde{y} plane, while w~4\tilde{w}_{4} is the relative difference between 𝐱4\mathbf{x}_{4} and (𝐱4)c(\mathbf{x}_{4})_{c} projected along the z~\tilde{z}-axis. Similar quantities for other points can be computed, and the shell stencil in the initial configuration variables can be extended from the current configuration.

In the smoothed hinge bending model, the generalized curvature vector

𝜿0=(2w~0X~22w~0Y~222w~0X~Y~)\bm{\kappa}_{0}=\left(\begin{array}[]{c}\frac{\partial^{2}\tilde{w}_{0}}{\partial\tilde{X}^{2}}\\ \frac{\partial^{2}\tilde{w}_{0}}{\partial\tilde{Y}^{2}}\\ 2\frac{\partial^{2}\tilde{w}_{0}}{\partial\tilde{X}\partial\tilde{Y}}\end{array}\right) (46)

is derived directly from the area integration in Eq. (32), rather than transforming the area integration to line integration using integration by parts in Eq. (33). The generalized curvature vector in Eq. (46) can be discretized as

𝜿0=𝐋g𝐝0,\bm{\kappa}_{0}=\mathbf{L}_{g}\mathbf{d}_{0}, (47)

where 𝐝0=[(w~1)0(w~2)0(w~3)0(w~4)0(w~5)0(w~6)0]T\mathbf{d}_{0}=\begin{bmatrix}(\tilde{w}_{1})_{0}&(\tilde{w}_{2})_{0}&(\tilde{w}_{3})_{0}&(\tilde{w}_{4})_{0}&(\tilde{w}_{5})_{0}&(\tilde{w}_{6})_{0}\end{bmatrix}^{T} is the vector of transverse displacements in the initial configuration. In the smoothed hinge model, a quadratic fitting surface is used to smooth the triangle-centered stencil (see Figure 3) and 𝐋g\mathbf{L}_{g} is denoted as corotational smoothed hinge curvature operator. So the transverse displacement field on the shell surface can be interpolated as

(w~)0=c1+c2X~+c3Y~+c4X~2/2+c5Y~2/2+c6X~Y~/2,(\tilde{w})_{0}=c_{1}+c_{2}\tilde{X}+c_{3}\tilde{Y}+c_{4}\tilde{X}^{2}/2+c_{5}\tilde{Y}^{2}/2+c_{6}\tilde{X}\tilde{Y}/2, (48)

where ci(i=1,,6)c_{i}\ (i=1,\cdots,6) are constants. The first three coefficients correspond to rigid-body motion, while the last three correspond to curvature within the quadratic surface. By introducing Eq. (48) into Eq. (46) with Eq. (47), the generalized curvature vector can be rewritten as 𝜿0=𝐋g𝐝0=[c4c5c6]T\bm{\kappa}_{0}=\mathbf{L}_{g}\mathbf{d}_{0}=\begin{bmatrix}c_{4}&c_{5}&c_{6}\end{bmatrix}^{T}. Its three components can be expressed by converting the three directional curvature constituent parts from the directional curvature vector (𝜿p)0(\bm{\kappa}_{p})_{0}. By recalling Eq. (9), Eq. (13) and Eq. (40), (𝜿p)0(\bm{\kappa}_{p})_{0} can be rewritten as (𝜿p)0=𝐋p𝐝0(\bm{\kappa}_{p})_{0}=\mathbf{L}_{p}\mathbf{d}_{0}. Consequently,

(𝜿p)0=𝐋p𝐝0=𝐋p𝐂p(c4c5c6)=𝐋p𝐂p𝐋g𝐝0,(\bm{\kappa}_{p})_{0}=\mathbf{L}_{p}\mathbf{d}_{0}=\mathbf{L}_{p}\mathbf{C}_{p}\left(\begin{array}[]{c}c_{4}\\ c_{5}\\ c_{6}\end{array}\right)=\mathbf{L}_{p}\mathbf{C}_{p}\mathbf{L}_{g}\mathbf{d}_{0}, (49)

where 𝐂p\mathbf{C}_{p} is portrayed as a matrix [X~12/2Y~12/2X~1Y~1/2X~62/2Y~62/2X~6Y~6/2]\left[\begin{array}[]{cccccc}\tilde{X}_{1}^{2}/2&\tilde{Y}_{1}^{2}/2&\tilde{X}_{1}\tilde{Y}_{1}/2\\ \vdots&\vdots&\vdots\\ \tilde{X}_{6}^{2}/2&\tilde{Y}_{6}^{2}/2&\tilde{X}_{6}\tilde{Y}_{6}/2\end{array}\right]. We then explicitly get the corotational smoothed hinge curvature operator

𝐋g=(𝐋p𝐂p)1𝐋p\mathbf{L}_{g}=(\mathbf{L}_{p}\mathbf{C}_{p})^{-1}\mathbf{L}_{p} (50)

to express the generalized curvature of the smoothed hinge bending model in the initial configuration as

𝜿0=𝐋g𝐍0T𝐗e.\bm{\kappa}_{0}=\mathbf{L}_{g}\mathbf{N}_{0}^{T}\mathbf{X}^{e}. (51)

It should be mentioned that the constant curvature of the quadratic surface can also be computed by the least square method to solve a sixth order linear system for each curvature operator. In practice, we find that our presented method is more stable compared to this approach. Another explicit formulation is presented in a follow-up note by Reisman et al. [RGZ07], which continues the work of Grinspun et al. [GGRZ06], they highlight certain drawbacks of the curvature operator fitted on the quadratic surface. Notably, near-conic degenerate configurations can lead to numerical instabilities and challenges in boundary condition treatment. Thanks to our small strain/curvature assumption within the corotational framework, the bending energy Hessian matrix can be assembled once using the initial geometric data. A good mesh initialization can effectively mitigate the numerical issue. In our numerous numerical exercises, even with no special initialization, we find that our model remains stable. More detailed results can be found in the Section 6. Additionally, we provide a concise treatment of boundary conditions on our corotational smoothed hinge curvature operator, which will be elaborated upon later.

Corotational smoothed hinge thin plate. The bending energy of the corotational smoothed hinge thin plate is

ΨbSP=A2𝜿T𝐃b𝜿.\Psi_{{b}}^{SP}=\frac{A}{2}\bm{\kappa}^{T}\mathbf{D}_{{b}}\bm{\kappa}. (52)

The destination of the corotational smoothed hinge bending energy Hessian

ΨbSP𝐱e=A(𝐋gT𝐃b𝐋g𝐈)\frac{\partial\Psi_{{b}}^{SP}}{\partial\mathbf{x}^{\mathrm{e}}}=A(\mathbf{L}_{g}^{T}\mathbf{D}_{{b}}\mathbf{L}_{g}\otimes\mathbf{I}) (53)

is also constant, and the linear gradient can also be computed by the approach in Eq.(22).

Corotational smoothed hinge thin shell. The bending energy of the corotational smoothed hinge thin shell is

ΨbSS=A2(𝜺bSS)T𝐃b𝜺bSS,\Psi_{\mathrm{b}}^{SS}=\frac{A}{2}(\bm{\varepsilon}_{b}^{SS})^{T}\mathbf{D}_{\mathit{b}}\bm{\varepsilon}_{b}^{SS}, (54)

where the curvature change vector 𝜺bSS\bm{\varepsilon}_{b}^{SS} is

𝜺bSS=𝜿𝜿0=𝐋g𝐍T𝐱e𝐋g𝐍0T𝐗e.\bm{\varepsilon}_{b}^{SS}=\bm{\kappa}-\bm{\kappa}_{0}=\mathbf{L}_{g}\mathbf{N}^{T}{\mathbf{x}}^{e}-\mathbf{L}_{g}\mathbf{N}_{0}^{T}{\mathbf{X}}^{e}. (55)

The gradient of the bending energy of corotational smoothed hinge thin shell is

ΨbSS𝐱e=A(𝜺bSS)T𝐱e𝐃b𝜺bSS,\frac{\partial\Psi_{\mathrm{b}}^{SS}}{\partial\mathbf{x}^{\mathrm{e}}}=A\frac{\partial(\bm{\varepsilon}_{b}^{SS})^{T}}{\partial\mathbf{x}^{e}}\mathbf{D}_{{b}}\bm{\varepsilon}_{b}^{SS}, (56)

where the gradient of the curvature change vector is

(𝜺bSS)T𝐱e=(𝐱e)T𝐍𝐱e𝐋gT+𝐍𝐋gT.\frac{\partial(\bm{\varepsilon}_{b}^{SS})^{T}}{\partial\mathbf{x}^{e}}=({\mathbf{x}}^{e})^{T}\frac{\partial\mathbf{N}}{\partial\mathbf{x}^{e}}\mathbf{L}_{g}^{T}+\mathbf{N}\mathbf{L}_{g}^{T}. (57)

The bending energy Hessian is the same as that of the corotational smoothed hinge thin plate model. The rationale behind this similarity is consistent with the explanation provided for the corotational edge-based hinge thin shell model.

Refer to caption
Figure 4: The artificial node LL^{\prime} (shown in blue) and node LL are symmetric with respect to the midpoint PP of the boundary edge NMNM.

Boundary conditions for corotational smoothed hinge. Within the context of the boundary edge MNMN depicted in Figure 4, the mesh topology informs that the nodal label L=L+3L^{\prime}=L+3. Consequently, the curvature in the boundary shell stencil can be expressed as

𝜿=𝐋gjw~j+𝐋g(L+3)w~L+3,forj=N,M,L,N+3,M+3.\bm{\kappa}=\sum\mathbf{L}_{gj}\tilde{w}_{j}+\mathbf{L}_{g(L+3)}\tilde{w}_{L+3},\ \text{for}\ j=N,M,L,N+3,M+3. (58)

Here, 𝐋gj\mathbf{L}_{gj} is the jj column of the curvature operator matrix 𝐋g\mathbf{L}_{g}.

The Clamped Edge Boundary Condition. To integrate the zero-slope condition, using Eq. (30), the modified curvature with a clamped edge can be written as

𝜿clamp=(𝐋gL+𝐋g(L+3))w~L+𝐋gMw~M+𝐋gNw~N+𝐋g(N+3)w~N+3+𝐋g(M+3)w~M+3.\begin{split}\bm{\kappa}_{clamp}=&(\mathbf{L}_{gL}+\mathbf{L}_{g(L+3)})\tilde{w}_{L}+\mathbf{L}_{gM}\tilde{w}_{M}\\ &+\mathbf{L}_{gN}\tilde{w}_{N}+\mathbf{L}_{g(N+3)}\tilde{w}_{N+3}+\mathbf{L}_{g(M+3)}\tilde{w}_{M+3}.\end{split} (59)

The Free Edge Boundary Condition. For the zero-curvature condition, the virtual transverse displacement of the missing node should satisfy

w~L=2w~Pw~L,\tilde{w}_{L^{\prime}}=2\tilde{w}_{P}-\tilde{w}_{L}, (60)

where w~P=(w~M+w~N)/2\tilde{w}_{P}=(\tilde{w}_{M}+\tilde{w}_{N})/2 is the transverse displacement of the middle point PP of the boundary edge NMNM. We can deduce the modified curvature with a free edge as follows

𝜿free=(𝐋gN+𝐋g(L+3))w~N+(𝐋gM+𝐋g(L+3))w~M+(𝐋gL𝐋g(L+3))w~L+𝐋g(N+3)w~N+3+𝐋g(M+3)w~M+3.\begin{split}\bm{\kappa}_{free}=&(\mathbf{L}_{gN}+\mathbf{L}_{g(L+3)})\tilde{w}_{N}+(\mathbf{L}_{gM}+\mathbf{L}_{g(L+3)})\tilde{w}_{M}\\ &+(\mathbf{L}_{gL}-\mathbf{L}_{g(L+3)})\tilde{w}_{L}+\mathbf{L}_{g(N+3)}\tilde{w}_{N+3}+\mathbf{L}_{g(M+3)}\tilde{w}_{M+3}.\end{split} (61)

If a boundary triangle includes one more boundary edge, the operations outlined in Eq. (59) and Eq. (61) can be superimposed.

Refer to caption
Figure 5: Linear plate bending benchmark. Convergence and consistency analysis of a simply supported linear plate under uniform load across three different mesh structures. The vertical axis represents the computed deflection normalized by the analytical value. EP/ES yield identical predictions, as do FP/FS and SP/SS. MidedgeSin and MidedgeTan also produce the same predictions, so a single marker is used for each group. MidedgeAve results in "NaN" values on the equilateral triangular mesh, and therefore its corresponding line is omitted.

5 Implementations

Dynamics Simulation. The incremental potential (IP) [KMOW00] for elastodynamic simulations can be expressed as

E(𝒙)=12(𝒙𝒙^)T𝑴(𝒙𝒙^)+Δt2Ψelastic+B(𝒙)+D(𝒙),E(\bm{x})=\frac{1}{2}(\bm{x}-\hat{\bm{x}})^{T}\bm{M}(\bm{x}-\hat{\bm{x}})+\Delta t^{2}\Psi_{{elastic}}+B(\bm{x})+D(\bm{x}), (62)

where 𝑴R3n×3n\bm{M}\in{R}^{3n\times 3n} is the mass matrix, Δt\Delta t is the time step, 𝒙^=𝒙t+Δt𝒗t+Δt2𝑴1𝒇ext\hat{\bm{x}}=\bm{x}^{t}+\Delta t\bm{v}^{t}+\Delta t^{2}\bm{M}^{-1}\bm{f}_{{ext}} represents the predicted position from the implicit Euler integration, with 𝒇extR3n\bm{f}_{{ext}}\in{R}^{3n} is the external force, 𝒙tR3n\bm{x}^{t}\in{R}^{3n} and 𝒗tR3n\bm{v}^{t}\in{R}^{3n} stack the nodal positions and nodal velocities at time tt, respectively. Ψelastic\Psi_{{elastic}} refers to elastic potential, which contains the elastic shell energy Ψshell\Psi_{shell}. B(𝒙)B(\bm{x}) and D(𝒙)D(\bm{x}) are respectively the contact barrier potential and the friction potential [LFS20, LKJ21]. In this unified formulation, both elastic and contact interactions are incorporated. The nodal positions at time t+1t+1 are updated by minimizing the total potential

𝒙t+1=argmin𝒙E(𝒙),\bm{x}^{t+1}=\operatorname{argmin}_{\bm{x}}E(\bm{x}), (63)

where the solution is obtained iteratively using a Newton-type solver along with a continuous collision detection filter, ensuring intersection-free trajectories.

Linear and Quasi-static Simulations. In quasi-static simulations, used for evaluating the accuracy and efficiency of different formulations in Section 6.1, contact is absent, and stable equilibria are determined by setting the gradient of the total potential to zero

Ψshell𝒙+𝒇ext=𝟎.\frac{\partial\Psi_{{shell}}}{\partial\bm{x}}+\bm{f}_{ext}=\bm{0}. (64)

As quantitative benchmark problems will be compared with the general FEA package ©ABAQUS in the engineering field, we use a standard Newton-Raphson method [BHBS78] under one load step to solve this system. The convergence criteria is Ψshell/𝒙<ϵf𝒇ext\lVert\partial\Psi_{\text{shell}}/\partial\bm{x}\rVert<\epsilon_{f}\lVert\bm{f}_{\text{ext}}\rVert, where ϵf\epsilon_{f} is the residual force tolerance. At each Newton iteration, Δ𝒙\Delta\bm{x} is the incremental displacement. If its infinity norm Δ𝒙\lVert\Delta\bm{x}\rVert_{\infty} exceeds the incremental displacement limit ϵu\epsilon_{u}, the line search step is scaled by ϵu/Δ𝒙\epsilon_{u}/\lVert\Delta\bm{x}\rVert_{\infty}. When the solution is far from equilibrium, this method can effectively reduce the step size for geometrically non-linear problems, including bending-dominated problems. For the linear plate bending test, the solution can be obtained with one linear system solve.

6 Numerical Experiments

Quantitative benchmark problems are compared with reference solutions, including the analytical solution for the linear plate bending benchmark and results from ©ABAQUS for geometrically non-linear benchmarks. We also compare against state-of-the-art formulations from the discrete geometry shell library, libshell [CSvRV18], which includes three types of formulations: MidedgeTan, MidedgeSin, and MidedgeAve. Additionally, we consider Quadratic and Cubic Shells [BWH06b, GGWZ07], all of which employ constant bending energy Hessians. These comparisons demonstrate the accuracy and efficiency of our models. Furthermore, qualitative numerical experiments highlight the stability and robustness of our models in elastodynamics simulations. All formulations are implemented on the codebase of libshell [CSvRV18, CCK21] for quantitative comparison, and all our formulations are integrated into the C-IPC [LKJ21] for qualitative experiments. All experiments were performed on a workstation equipped with an AMD Ryzen Threadripper 3970X CPU (2.2 GHz, 32 cores) and 128 GB of RAM.

6.1 Quantitative Experiments

Linear plate bending benchmark. We investigate the analytical linear benchmark using three distinct mesh structures (refer to Figure 5) to evaluate how our models and existing formulations depend on the mesh structure and to observe their convergence behaviour under mesh refinement. The membrane deformation can be neglected in this pure bending test, so the membrane formulation is excluded. Since comparable studies do not provide the detailed implementation of clamped boundary conditions, we apply simply supported boundary condition on the entire boundary of the square plate, which is subjected to a uniform load perpendicular to its plane, to ensure a fair comparison. The square plate has an edge length of a=8a=8, with a uniform load of B=9.81B=9.81 acting on the body. The material properties are defined by E=2×1011E=2\times 10^{11}, ν=0.3\nu=0.3, and h=0.01h=0.01. The analytical solution for the maximum deflection is 0.048744Ba4(1ν2)/(Eh3)0.048744Ba^{4}(1-\nu^{2})/(Eh^{3}) [TWK59].

As shown in Figure 5, both the EP and ES models pass the test only on the equilateral triangular mesh. However, the Quadratic Shell and Cubic Shell models fail all tests, even on the equilateral triangular mesh. The primary issue, as mentioned in Appendix D, is that the bending energy formulation in the Quadratic and Cubic Shell models is three times higher than ours. The MidedgeAve model also fails on the equilateral triangular mesh due to numerical issues resulting in "NaN" values. On the regular triangular mesh, our FP, FS, SP, and SS models perform slightly better than the MidedgeSin and MidedgeTan formulations. On the irregular mesh, MidedgeSin and MidedgeTan exhibit better consistency than other methods. Among our models, SP and SS outperform FP and FS, which have comparable performance to the MidedgeAve formulation.

The data from the last column in Table 1 highlights that our FP, FS, SP, and SS models are nearly twice as fast as the MidedgeSin and MidedgeTan formulations in one linear system solve on the equilateral triangular mesh. Additionally, the EP/ES and Quadratic/Cubic Shell models in the edge-based stencil demonstrate exceptional speed. The numerical performance differences across various mesh tessellations primarily arise from the curvature operators used in these formulations.

Geometrically non-linear benchmarks. In this subsection, we aim to verify the expected accuracy and efficiency of our models in geometrically non-linear cases (see Table 1). The tested cases are derived from engineering obstacles [SLL04]. The reference solutions are obtained using the S4R shell element in ©ABAQUS with a sufficiently high mesh density. The underlined geometry of S4R is quadrilateral, so the tested mesh is generated by splitting each quadrilateral into two triangles. For each simulation, the residual force tolerance ϵf\epsilon_{f} is 0.0010.001, and the incremental displacement limit is ϵu=0.1\epsilon_{u}=0.1.

Model Cantilever Hemisphere Shell Linear Plate Bending
wtipw_{tip} Iterations (Time) uminu_{min} vmaxv_{max} Iterations (Time) Time (7459 nodes)
EP 5.388 61 (0.293s) 1.758s
ES 5.387 61 (0.343s) -4.072 2.799 56 (27.334s) 1.778s
FP 6.056 68 (0.412s) 3.713s
FS 6.072 68 (0.464s) -5.752 3.403 84 (44.153s) 3.788s
SP 6.055 67 (0.535s) 3.620s
SS 6.072 67 (0.595s) -5.923 3.534 87 (45.035s) 3.759s
Quadratic Shell 2.510 29 (0.145s) 1.757s
Cubic Shell 2.510 29 (0.153s) -3.193 2.414 51 (17.784s) 1.761s
MidedgeTan 5.405 77 (2.545s) -5.831 3.422 93 (173.531s) 6.963s
MidedgeSin 5.418 77 (2.596s) -5.886 3.451 94 (180.139s) 6.979s
MidedgeAve 5.380 76 (2.213s) -5.564 3.331 93 (105.898s) NaN
©ABAQUS S4R 6.012 106 -5.902 3.406 112
Table 1: Displacement, Newton iteration and time data for the Cantilever under End Shear Force, Hemispherical Shell under Alternating Radial Forces, and Linear Plate Bending examples. "NaN" represents numerical issues encountered by the model. The results of ©ABAQUS S4R act as reference solutions. wtipw_{\text{tip}} represents the displacement along the positive Z-direction of the midpoint on the right-hand side of the cantilever plate. uminu_{\min} is the maximum displacement along the negative X-direction and vmaxv_{\max} is the maximum displacement along the positive Y-direction.

Cantilever Subjected to End Shear Force. In this test, a flat plate of dimensions 10×110\times 1 is subjected to an end shear force, applied as concentrated loads of equal magnitude F=4/3F=4/3 distributed across the nodes on the right side, as illustrated in Figure 6. The concentrated loads are along the ZZ-axis. The geometry is discretized into 51 nodes, with two adjacent rows at the left end clamped to enforce the hard constraints. The material parameters are E=1.2×106E=1.2\times 10^{6}, ν=0.1\nu=0.1, and h=0.1h=0.1. As summarized in Table 1, our FP, FS, SP, and SS models demonstrate superior accuracy compared to others. The MidedgeTan and MidedgeSin formulations, which offer the second-highest accuracy, are nearly five times slower than our FP, FS, SP, and SS models, thanks to their constant bending energy Hessians. Our EP and ES models rank third in accuracy, outperforming the MidedgeAve model. While the Quadratic and Cubic Shell models are very fast, they produce smaller deflections due to the overestimation of bending rigidity. If we scale down the bending rigidity of the Quadratic and Cubic Shell models, they can predict deflections comparable to those of our EP model. Among our models, EP, FP and SP, specifically designed for rest-flat shell configurations, perform slightly better in terms of accuracy and speed compared to ES, FS and SS, which can handle both rest-flat and rest-curved shells.

Hemispherical Shell Subjected to Alternating Radial Forces. To test the performance of the rest-curved shell models, we simulate a hemispherical shell with radius R=10R=10 and an 1818^{\circ} circular cutout at the pole. The shell is subjected to alternating radial point forces of P=200P=200 at 9090^{\circ} intervals (as shown in Figure 6). Two point forces along the XX-axis induce compression, while two along the YY-axis induce tension. To minimize boundary condition effects across different formulations, the entire shell structure is analyzed instead of only a quarter section. Boundary conditions are applied as follows: for nodes lying in the YZY-Z plane, the XX-direction DoFs are fixed; for nodes in the XZX-Z plane, the YY-direction DoFs are fixed. Additionally, for nodes on the top circular cut that lie in the YZY-Z plane, the ZZ-direction DoFs are constrained to ensure equivalence with the benchmark case provided in [SLL04]. The shell geometry is discretized using 1088 nodes. The material parameters are E=6.825×107E=6.825\times 10^{7}, ν=0.3\nu=0.3, and h=0.04h=0.04. As shown in Table 1, our ES model outperforms the Cubic Shell models in terms of accuracy. However, the ES model still deviates more from the reference solution. While the MidedgeTan and MidedgeSin models provide more accurate results overall, our FS and SS models deliver competitive accuracy with nearly four times the computational speed of the MidedgeTan and MidedgeSin models.

6.2 Qualitative Experiments

We introduce two challenging codimensional simulation benchmarks from C-IPC [LKJ21] to demonstrate the robustness and stability of our models. The first test case involves a flat geometry, which is well-suited to all of our models, while the second features a cylindrical geometry, requiring compatible models for rest-curved meshes. Both cases use material properties corresponding to cotton from C-IPC, with E=0.8MPaE=0.8\text{MPa}, ν=0.243\nu=0.243, and a cloth density of 472.6kg/m3472.6\,\text{kg/m}^{3}. The simulations are time-stepped at Δt=0.04s\Delta t=0.04\text{s}, also consistent with the solver settings from the C-IPC study. Simulation videos can be found in the supplementary materials.

Cloth on Rotating Sphere. This test evaluates the robustness of our formulations (EP, ES, FP, FS, SP and SS) under extreme stress-test conditions, such as tight wrinkling, friction, and contact processing, following the setup used in prior research [BFA02, LKJ21]. A square cloth with 85K nodes (strain limiting up to 1.0608) is dropped onto a sphere and floor, both having a friction coefficient μ=0.4\mu=0.4. As the sphere rotates, friction draws the cloth inward, creating a complex structure of wrinkles and folds, effectively capturing fine details of the cloth’s behaviour (see Figure 7).

Twisted Cylinder. In this test, we simulate a cotton cylinder (1m width and 0.25m radius) with 88K nodes. The thickness offset is set to 1.5mm to account for geometric thickness, and the IPC [LFS20] contact force is began at a threshold distance of 1mm. The cylinder is simultaneously twisted at a rate of 72/s72^{\circ}/s while the two sides are brought together at 5mm/s. Gravity is excluded from the simulation to prevent sagging. As illustrated frame in Figure 8, global wrinkling and folding effects emerge as the cylinder is deformed, showcasing the ability of our models (ES, FS and SS) to handle rest-curved geometry robustly. It’s worthy to mention that SS generate 20 wrinkles, but ES and FS both give 19 waves.

Refer to caption
Figure 6: Geometrically non-linear benchmarks. (a) Cantilever plate (51 nodes) subjected to an end shear force FF and (b) hemisphere shell with a 1818^{\circ} cut (1088 nodes) subjected to alternating radial forces PP are tested to evaluate the accuracy and efficiency of different bending formulations in geometrically non-linear analysis [SLL04]. The green structure with a white wireframe represents the deformed configuration, while the black wireframe illustrates the undeformed configuration for comparison. XYZX-Y-Z is the world frame.

7 Conclusions

In this study, our edge-stenciled models (EP and ES) are more accurate compared to the Quadratic and Cubic Shell models. The formulations of quadratic thin plate/shell (QTP/QTS), a variation of our EP/ES that quantifies the curvature operator in the world frame, are provided in Appendix D. By introducing the formulations of QTP/QTS, the accuracy discrepancy between our edge-stenciled models with the Quadratic/Cubic Shells [BWH06b, GGWZ07] is clarified. Like the Quadratic and Cubic Shell models, the EP and ES models are computationally efficient. However, they share the same limitations common to all edge-based hinge approaches, such as sensitivity to mesh structure, as also discussed by Grinspun et al. [GGRZ06]. Our triangle-stenciled models (FP, FS, SP, and SS) partially address this issue. Among these models, the consistency of FP and FS across different mesh patterns is weaker compared to SP and SS, which benefit from the smoothing effect of quadratic interpolation functions. Nevertheless, these models are constrained by small strain and small curvature assumptions, and failure modes may occur when the bend angle between a flap triangle and the central triangle exceeds 9090^{\circ}, leading to underestimation of the bending energy. Methods such as adaptive mesh refinement [GKS02, NSO12, FSKP23] can be employed in regions of folding turns to mitigate this issue with lower mesh density. Despite these assumptions, the use of a corotational approach to handle large rotations offers significant advantages, allowing the bending energy Hessian to remain constant in Newton-type implicit solvers. Our experience indicates that the global constant bending energy Hessian assembled from those of stencils is more robust, helping to avoid potential numerical issues and achieve better accuracy [GGRZ06, RGZ07], if a quality mesh is employed. In our quasi-static simulations, we employ a basic Newton solver to evaluate the quantitative performance of different bending formulations in comparison to the shell element provided in ©ABAQUS. Therefore, we recommend integrating these formulations into a robust, well-designed solver to fully exploit their efficiency in practical applications.

Due to our models’ simplicity, accuracy, efficiency, and generality, we anticipate that our models will have practical applications in both computer animation and specialized engineering simulations.

Acknowledgments

The author sincerely thanks the anonymous reviewers for their valuable comments. Special gratitude is extended to Prof. K.Y. Sze for his insightful suggestions. The author also gratefully acknowledges the support provided by the Centre for Transformative Garment Production (TranGP).

Refer to caption
Figure 7: Cloth on rotating sphere and floor. The images (the 100th frame) show the cloth’s response to being dropped onto a rotating sphere and floor (both with a friction coefficient μ=0.4\mu=0.4). The cloth, with 85K nodes and a strain limit of 1.0608, is pulled inward by friction, generating a complex structure of wrinkles and folds. The top row (lighter) illustrates the cloth behaviour for corotational edge-based hinge thin plate (EP), corotational FVM hinge thin plate (FP), and corotational smoothed hinge thin plate (SP) models, while the bottom row displays results for corotational edge-based hinge thin shell (ES), corotational FVM hinge thin shell (FS), and corotational smoothed hinge thin shell (SS) models, highlighting the stability of each formulation in challenging cloth benchmark.
Refer to caption
Figure 8: Twisted cylinder. Simulation (the 10th frame) of a 1m-wide, 0.25m-radius cotton cylinder (88K nodes) with a 1.5mm thickness offset. The cylinder is twisted at 72/s72^{\circ}/s while the ends are drawn together at 5mm/s. Contact barrier is triggered at a 1mm threshold, and gravity is excluded to prevent sagging, resulting in pronounced wrinkling and folding, demonstrating our model’s robustness with rest-curved geometry. From left to right, the simulated frames are respectively generated by our corotational edge-based hinge thin shell (ES), corotational FVM hinge thin shell (FS), and corotational smoothed hinge thin shell (SS) models.

References

  • [BBHH11] Benson D. J., Bazilevs Y., Hsu M.-C., Hughes T.: A large deformation, rotation-free, isogeometric shell. Computer Methods in Applied Mechanics and Engineering 200, 13-16 (Mar 2011), 1367–1378. doi:10.1016/j.cma.2010.12.003.
  • [BFA02] Bridson R., Fedkiw R., Anderson J.: Robust treatment of collisions, contact and friction for cloth animation. ACM TOG 21, 3 (Jul 2002), 594–603. doi:10.1145/566654.566623.
  • [BHBS78] Bergan P., Horrigmoe G., Bråkeland B., Søreide T.: Solution techniques for non-linear finite element problems. International Journal for Numerical Methods in Engineering 12, 11 (1978), 1677–1696. doi:10.1002/nme.1620121106.
  • [BHW94] Breen D. E., House D. H., Wozny M. J.: Predicting the drape of woven cloth using interacting particles. In Proc. SIGGRAPH ’94 (1994), p. 365–372. doi:10.1145/192161.192259.
  • [BMF03] Bridson R., Marino S., Fedkiw R.: Simulation of clothing with folds and wrinkles. In Proceedings of the 2003 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2003), SCA ’03, p. 28–36. doi:10.5555/846276.846281.
  • [BW98] Baraff D., Witkin A.: Large steps in cloth simulation. In Proc. SIGGRAPH ’98 (1998), p. 43–54. doi:10.1145/280814.280821.
  • [BWH06a] Bergou M., Wardetzky M., Harmon D., Zorin D., Grinspun E.: Discrete quadratic curvature energies. In ACM SIGGRAPH 2006 Courses (2006), SIGGRAPH ’06, p. 20–29. doi:10.1145/1185657.1185663.
  • [BWH06b] Bergou M., Wardetzky M., Harmon D., Zorin D., Grinspun E.: A quadratic bending model for inextensible surfaces. In Proceedings of the Fourth Eurographics Symposium on Geometry Processing (2006), SGP ’06, p. 227–230. doi:/10.5555/1281957.1281987.
  • [CCK21] Chen Z., Chen H.-Y., Kaufman D. M., Skouras M., Vouga E.: Fine wrinkling on coarsely meshed thin shells. ACM TOG 40, 5 (Aug 2021). doi:10.1145/3462758.
  • [CK02] Choi K.-J., Ko H.-S.: Stable but responsive cloth. ACM TOG 21, 3 (Jul 2002), 1–19. doi:10.1145/566654.566624.
  • [COS00] Cirak F., Ortiz M., Schröder P.: Subdivision surfaces: a new paradigm for thin-shell finite-element analysis. International Journal for Numerical Methods in Engineering 47, 12 (Apr 2000), 2039–2072. doi:10.1002/(SICI)1097-0207(20000430)47:12<2039::AID-NME872>3.0.CO;2-1.
  • [Cri97] Crisfield M. A.: Non-Linear Finite Element Analysis of Solids and Structures: Advanced Topics. John Wiley & Sons, Inc., 1997.
  • [CSvRV18] Chen H.-Y., Sastry A., van Rees W. M., Vouga E.: Physical simulation of environmentally induced thin shell deformation. ACM TOG 37, 4 (jul 2018). doi:10.1145/3197517.3201395.
  • [EKS03] Etzmuß O., Keckeisen M., Straßer W.: A fast finite element solution for cloth modelling. In Proceedings of the 11th Pacific Conference on Computer Graphics and Applications (2003), PG ’03, pp. 244–251. doi:10.5555/946250.946946.
  • [FHXW22] Feng X., Huang W., Xu W., Wang H.: Learning-based bending stiffness parameter estimation by a drape tester. ACM TOG 41, 6 (nov 2022). doi:10.1145/3550454.3555464.
  • [FSKP23] Ferguson Z., Schneider T., Kaufman D., Panozzo D.: In-timestep remeshing for contacting elastodynamics. ACM TOG 42, 4 (Jul 2023). doi:10.1145/3592428.
  • [GDP06] Grinspun E., Desbrun M., Polthier K., Schröder P., Stern A.: Discrete differential geometry: an applied introduction. In ACM SIGGRAPH 2006 Courses (2006), SIGGRAPH ’06. doi:10.1145/3245634.
  • [GGRZ06] Grinspun E., Gingold Y. I., Reisman J. L., Zorin D.: Computing discrete shape operators on general meshes. Computer Graphics Forum 25, 3 (Sept. 2006), 547–556. (Proc. Eurographics’06) https://dlold.eg.org/handle/10.2312/CGF.v25i3pp547-556. doi:10.1111/j.1467-8659.2006.00974.x.
  • [GGWZ07] Garg A., Grinspun E., Wardetzky M., Zorin D.: Cubic shells. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2007), SCA ’07, p. 91–98. doi:10.5555/1272690.1272703.
  • [GHDS03] Grinspun E., Hirani A. N., Desbrun M., Schröder P.: Discrete shells. In Proceedings of the 2003 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2003), SCA ’03, p. 62–67. doi:10.5555/846276.846284.
  • [GKS02] Grinspun E., Krysl P., Schröder P.: Charms: a simple framework for adaptive simulation. ACM TOG 21, 3 (Jul 2002), 281–290. doi:10.1145/566654.566578.
  • [GSH04] Gingold Y., Secord A., Han J. Y., Grinspun E., Zorin D.: A discrete model for inelastic deformation of thin shells. In Proceedings of the 2004 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2004), SCA ’04.
  • [GT07] Gärdsback M., Tibert G.: A comparison of rotation-free triangular shell elements for unstructured meshes. Computer Methods in Applied Mechanics and Engineering 196, 49-52 (Nov 2007), 5001–5015. doi:10.1016/j.cma.2007.06.017.
  • [KKB18] Kugelstadt T., Koschier D., Bender J.: Fast corotated fem using operator splitting. In Proceedings of the 2018 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2018), SCA ’18. doi:10.1111/cgf.13520.
  • [KMOW00] Kane C., Marsden J. E., Ortiz M., West M.: Variational integrators and the newmark algorithm for conservative and dissipative mechanical systems. International Journal for Numerical Methods in Engineering 49, 10 (Dec 2000), 1295–1325. doi:10.1002/1097-0207(20001210)49:10<1295::AID-NME993>3.0.CO;2-W.
  • [LDB23] Le Q., Deng Y., Bu J., Zhu B., Du T.: Second-order finite elements for deformable surfaces. In SIGGRAPH Asia 2023 Conference Papers (2023). doi:10.1145/3610548.3618186.
  • [LFFJB24] Löschner F., Fernández-Fernández J. A., Jeske S. R., Bender J.: Curved three-director cosserat shells with strong coupling. In Proceedings of the 2024 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2024), SCA ’24. doi:10.1111/cgf.15183.
  • [LFS20] Li M., Ferguson Z., Schneider T., Langlois T., Zorin D., Panozzo D., Jiang C., Kaufman D. M.: Incremental potential contact: Intersection- and inversion-free large deformation dynamics. ACM TOG 39, 4 (2020). doi:10.1145/3386569.3392425.
  • [Lia24] Liang Q.: smoothed hinge model for cloth simulaiton. In Proceedings of the 2024 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2024), SCA ’24. doi:10.2312/sca.20241161.
  • [LKJ21] Li M., Kaufman D. M., Jiang C.: Codimensional incremental potential contact. ACM TOG 40, 4 (Jul 2021). doi:10.1145/3450626.3459767.
  • [MDM02] Müller M., Dorsey J., McMillan L., Jagnow R., Cutler B.: Stable real-time deformations. In Proceedings of the 2002 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2002), SCA ’02, p. 49–54. doi:10.1145/545261.545269.
  • [NSO12] Narain R., Samii A., O’Brien J. F.: Adaptive anisotropic remeshing for cloth simulation. ACM TOG 31, 6 (nov 2012). doi:10.1145/2366145.2366171.
  • [OZ00] Onate E., Zárate F.: Rotation-free triangular plate and shell elements. International Journal for Numerical Methods in Engineering 47, 1-3 (Jan 2000), 557–603. doi:10.1002/(SICI)1097-0207(20000110/30)47:1/3<557::AID-NME784>3.0.CO;2-9.
  • [PNdJO14] Pfaff T., Narain R., de Joya J. M., O’Brien J. F.: Adaptive tearing and cracking of thin sheets. ACM TOG 33, 4 (jul 2014). doi:10.1145/2601097.2601132.
  • [RGZ07] Reisman J., Grinspun E., Zorin D.: A note on the triangle-centered quadratic interpolation discretization of the shape operator: Technical report. Tech. rep., NYU and Columbia, 2007.
  • [RLR21] Romero V., Ly M., Rasheed A. H., Charrondière R., Lazarus A., Neukirch S., Bertails-Descoubes F.: Physical validation of simulators in computer graphics: a new framework dedicated to slender elastic structures and frictional contact. ACM TOG 40, 4 (jul 2021). doi:10.1145/3450626.3459931.
  • [SLL04] Sze K., Liu X., Lo S.: Popular benchmark problems for geometric nonlinear analysis of shells. Finite elements in analysis and design 40, 11 (July 2004), 1551–1569. doi:10.1016/j.finel.2003.11.001.
  • [SZH24] Sauer R. A., Zou Z., Hughes T. J.: A simple and efficient hybrid discretization approach to alleviate membrane locking in isogeometric thin shells. Computer Methods in Applied Mechanics and Engineering 424 (May 2024), 116869. doi:10.1016/j.cma.2024.116869.
  • [Tam13] Tamstorf R.: Derivation of discrete bending forces and their gradients. Tech. rep., Walt Disney Animation Studios, 2013.
  • [TG13] Tamstorf R., Grinspun E.: Discrete bending forces and their jacobians. Graph. Models 75, 6 (nov 2013). doi:10.1016/j.gmod.2013.07.001.
  • [TPBF87] Terzopoulos D., Platt J., Barr A., Fleischer K.: Elastically deformable models. In Proc. SIGGRAPH ’87 (1987), p. 205–214. doi:10.1145/37401.37427.
  • [TWK59] Timoshenko S., Woinowsky-Krieger S., et al.: Theory of plates and shells. McGraw-hill New York, 1959.
  • [TWS06] Thomaszewski B., Wacker M., Straßer W.: A consistent bending model for cloth simulation with corotational subdivision finite elements. In Proceedings of the 2006 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2006), SCA ’06, p. 107–116. doi:10.5555/1218064.1218079.
  • [VCMT95] Volino P., Courchesne M., Magnenat Thalmann N.: Versatile and efficient techniques for simulating cloth and other deformable objects. In Proc. SIGGRAPH ’95 (1995), p. 137–144. doi:10.1145/218380.218432.
  • [WB23] Wen J., Barbič J.: Kirchhoff-love shells with arbitrary hyperelastic materials. ACM TOG 42, 6 (Dec 2023). doi:10.1145/3618405.
  • [WBH07] Wardetzky M., Bergou M., Harmon D., Zorin D., Grinspun E.: Discrete quadratic curvature energies. Computer Aided Geometric Design 24, 8 (2007), 499–518. doi:https://doi.org/10.1016/j.cagd.2007.07.006.
  • [Wei12] Weischedel C.: A discrete geometric view on shear-deformable shell models. Georg-August-Universität Göttingen., 2012.
  • [Zor05] Zorin D.: Curvature-based energy for simulation and variational modeling. In Proceedings of the International Conference on Shape Modeling and Applications 2005 (2005), SMI ’05, p. 198–206. doi:10.1109/SMI.2005.14.
  • [ZS12] Zhou Y., Sze K. Y.: A geometric nonlinear rotation-free triangle and its application to drape simulation. International journal for numerical methods in engineering 89, 4 (Jan 2012), 509–536. doi:10.1002/nme.3250.
  • [ZSTB10] Zhu Y., Sifakis E., Teran J., Brandt A.: An efficient multigrid method for the simulation of high-resolution elastic solids. ACM TOG 29, 2 (Apr 2010). doi:10.1145/1731047.1731054.

Appendix A Corotational Transformation

Consider a point 𝐱~\tilde{\mathbf{x}} on the shell stencil in the current corotational frame, originating at 𝐱o\mathbf{x}_{{o}}. This point is related to its counterpart 𝐱\mathbf{x} in the world frame by the transformation

𝐱~=[𝐧x~𝐧y~𝐧z~]T(𝐱𝐱o),\tilde{\mathbf{x}}=\begin{bmatrix}\mathbf{n}_{\tilde{x}}&\mathbf{n}_{\tilde{y}}&\mathbf{n}_{\tilde{z}}\end{bmatrix}^{{T}}(\mathbf{x}-\mathbf{x}_{{o}}), (65)

where 𝐧x~\mathbf{n}_{\tilde{x}}, 𝐧y~\mathbf{n}_{\tilde{y}}, and 𝐧z~\mathbf{n}_{\tilde{z}} define the local coordinate axes. For the triangle-centered stencil, the origin 𝐱1\mathbf{x}_{1} of one shell stencil is used, while the edge-based stencil takes 𝐱2\mathbf{x}_{2} as its origin. The x~\tilde{x}-axis direction 𝐧x~\mathbf{n}_{\tilde{x}} is defined as 𝐧x~=𝐱12/𝐱12\mathbf{n}_{\tilde{x}}=\mathbf{x}_{12}/\lVert\mathbf{x}_{12}\rVert along edge 𝐱12\mathbf{x}_{12} for the triangle-centered stencil, and as 𝐧x~=𝐱23/𝐱23\mathbf{n}_{\tilde{x}}=\mathbf{x}_{23}/\lVert\mathbf{x}_{23}\rVert along edge 𝐱23\mathbf{x}_{23} for the edge-based stencil. The normal direction 𝐧z~\mathbf{n}_{\tilde{z}} is computed using Eq.(8) for the edge-based stencil and Eq.(15) for the triangle-centered stencil. The y~\tilde{y}-axis direction, 𝐧y~=𝐧z~×𝐧x~\mathbf{n}_{\tilde{y}}=\mathbf{n}_{\tilde{z}}\times\mathbf{n}_{\tilde{x}}, is determined to adhere to the right-hand rule. Similarly, points in the initial corotational frame can be transformed using the same approach.

Appendix B Gradient of Normal Direction of Corotational Shell Stencil

The direction of z~\tilde{z}-axis, which corresponds to the normal direction of the corotational shell stencil, is given by

𝐧z~=𝐧c𝐧c,\mathbf{n}_{\tilde{z}}=\frac{\mathbf{n}_{c}}{\lVert\mathbf{n}_{c}\rVert}, (66)

where 𝐧c\mathbf{n}_{c} represents the unnormalized normal vector. In this appendix, the gradient operator is denoted by =/(𝐱e)T\nabla={\partial}/{\partial(\mathbf{x}^{e})^{T}}. The gradient of the z~\tilde{z}-axis direction is then expressed as

𝐧z~=(𝐈𝐧z~𝐧z~T)𝐧c𝐧c.\nabla\mathbf{n}_{\tilde{z}}=({\mathbf{I}-\mathbf{n}}_{\tilde{z}}\mathbf{n}_{\tilde{z}}^{T})\frac{\nabla\mathbf{n}_{c}}{\lVert\mathbf{n}_{c}\rVert}. (67)

For the corotational edge-based hinge model, let 𝐩=𝐱P1\mathbf{p}=\mathbf{x}_{P1}, 𝐪=𝐱Q4\mathbf{q}=\mathbf{x}_{Q4} as the triangle height vectors, and 𝐞=𝐱23\mathbf{e}=\mathbf{x}_{23} as the hinge edge vector. The gradient of 𝐧c\mathbf{n}_{c} is given by

𝐧c=(𝐩𝐩)+(𝐪𝐪),\nabla\mathbf{n}_{c}=\nabla(\frac{\mathbf{p}}{\lVert\mathbf{p}\rVert})+\nabla(\frac{\mathbf{q}}{\lVert\mathbf{q}\rVert}), (68)

where the gradient of the triangle height directions are

(𝐩𝐩)=(𝐩𝐈𝐩𝐩T𝐩3)𝐩,and(𝐪𝐪)=(𝐪𝐈𝐪𝐪T𝐪3)𝐪.\nabla(\frac{\mathbf{p}}{\lVert\mathbf{p}\rVert})=(\frac{\lVert\mathbf{p}\rVert\mathbf{I}-\mathbf{p}\mathbf{p}^{T}}{\lVert\mathbf{p}\rVert^{3}})\nabla\mathbf{p},\text{and}\ \nabla(\frac{\mathbf{q}}{\lVert\mathbf{q}\rVert})=(\frac{\lVert\mathbf{q}\rVert\mathbf{I}-\mathbf{q}\mathbf{q}^{T}}{\lVert\mathbf{q}\rVert^{3}})\nabla\mathbf{q}. (69)

The components of 𝐩\nabla\mathbf{p} are

𝐩(𝐱1)T=𝐈𝐞𝐞T𝐞2,𝐩(𝐱2)T=(1sp)(𝐈𝐞𝐞T𝐞2)+𝐞𝐩T𝐞2,𝐩(𝐱3)T=sp(𝐈𝐞𝐞T𝐞2)𝐞𝐩T𝐞2,𝐩(𝐱4)T=𝟎,\begin{gathered}\frac{\partial\mathbf{p}}{\partial(\mathbf{x}_{1})^{T}}=\mathbf{I}-\frac{\mathbf{e}\mathbf{e}^{T}}{\mathbf{e}^{2}},\frac{\partial\mathbf{p}}{\partial(\mathbf{x}_{2})^{T}}=-\left(1-s_{p}\right)\left(\mathbf{I}-\frac{\mathbf{e}\mathbf{e}^{T}}{\mathbf{e}^{2}}\right)+\frac{\mathbf{e}\mathbf{p}^{T}}{\mathbf{e}^{2}},\\ \frac{\partial\mathbf{p}}{\partial(\mathbf{x}_{3})^{T}}=-s_{p}\left(\mathbf{I}-\frac{\mathbf{e}\mathbf{e}^{T}}{\mathbf{e}^{2}}\right)-\frac{\mathbf{e}\mathbf{p}^{T}}{\mathbf{e}^{2}},\frac{\partial\mathbf{p}}{\partial(\mathbf{x}_{4})^{T}}=\mathbf{0},\end{gathered} (70)

and the components of 𝐪\nabla\mathbf{q} are

𝐪(𝐱1)T=𝟎,𝐪(𝐱2)T=(1sq)(𝐈𝐞𝐞T𝐞2)+𝐞𝐪T𝐞2,𝐪(𝐱3)T=sq(𝐈𝐞𝐞T𝐞2)𝐞𝐪T𝐞2,𝐪(𝐱4)T=𝐈𝐞𝐞T𝐞2.\begin{gathered}\frac{\partial\mathbf{q}}{\partial(\mathbf{x}_{1})^{T}}=\mathbf{0},\frac{\partial\mathbf{q}}{\partial(\mathbf{x}_{2})^{T}}=-\left(1-s_{q}\right)\left(\mathbf{I}-\frac{\mathbf{e}\mathbf{e}^{T}}{\mathbf{e}^{2}}\right)+\frac{\mathbf{e}\mathbf{q}^{T}}{\mathbf{e}^{2}},\\ \frac{\partial\mathbf{q}}{\partial(\mathbf{x}_{3})^{T}}=-s_{q}\left(\mathbf{I}-\frac{\mathbf{e}\mathbf{e}^{T}}{\mathbf{e}^{2}}\right)-\frac{\mathbf{e}\mathbf{q}^{T}}{\mathbf{e}^{2}},\frac{\partial\mathbf{q}}{\partial(\mathbf{x}_{4})^{T}}=\mathbf{I}-\frac{\mathbf{e}\mathbf{e}^{T}}{\mathbf{e}^{2}}.\end{gathered} (71)

Here, the coefficients sp=𝐱21𝐱23/𝐱232s_{p}=\mathbf{x}_{21}\cdot\mathbf{x}_{23}/{\mathbf{x}_{23}^{2}}, and sq=𝐱24𝐱23/𝐱232s_{q}=\mathbf{x}_{24}\cdot\mathbf{x}_{23}/{\mathbf{x}_{23}^{2}} are defined accordingly.

For the corotational FVM hinge and smoothed hinge bending model, the normal 𝐧c\mathbf{n}_{c} is given by

𝐧c=𝐱12×𝐱13,\mathbf{n}_{c}=\mathbf{x}_{12}\times\mathbf{x}_{13}, (72)

so the components of 𝐧c\nabla\mathbf{n}_{c} are

𝐧c(𝐱1)T=(𝐱3𝐱2)×,𝐧c(𝐱3)T=(𝐱2𝐱1)×,𝐧c(𝐱5)T=𝟎,𝐧c(𝐱2)T=(𝐱1𝐱3)×,𝐧c(𝐱4)T=𝟎,𝐧c(𝐱6)T=𝟎,\begin{gathered}\frac{\partial\mathbf{n}_{c}}{\partial(\mathbf{x}_{1})^{T}}=(\mathbf{x}_{3}-\mathbf{x}_{2})^{\times},\frac{\partial\mathbf{n}_{c}}{\partial(\mathbf{x}_{3})^{T}}=(\mathbf{x}_{2}-\mathbf{x}_{1})^{\times},\frac{\partial\mathbf{n}_{c}}{\partial(\mathbf{x}_{5})^{T}}=\mathbf{0},\\ \frac{\partial\mathbf{n}_{c}}{\partial(\mathbf{x}_{2})^{T}}=(\mathbf{x}_{1}-\mathbf{x}_{3})^{\times},\frac{\partial\mathbf{n}_{c}}{\partial(\mathbf{x}_{4})^{T}}=\mathbf{0},\frac{\partial\mathbf{n}_{c}}{\partial(\mathbf{x}_{6})^{T}}=\mathbf{0},\end{gathered} (73)

where the operator ×\times applied to a vector 𝐯=[xyz]T\mathbf{v}=\begin{bmatrix}x&y&z\end{bmatrix}^{T} yields the skew-symmetric matrix

𝐯×=[0zyz0xyx0],\mathbf{v}^{\times}=\begin{bmatrix}0&-z&y\\ z&0&-x\\ -y&x&0\end{bmatrix}, (74)

which corresponds to the cross product 𝐯×()\mathbf{v}\times(*).

Finally, by vectorizing the (𝐧c)T(\nabla\mathbf{n}_{c})^{T}, we obtain

𝐧z~𝐱e=vec((𝐧c)T).\frac{\partial\mathbf{n}_{\tilde{z}}}{\partial\mathbf{x}^{e}}=vec\left((\nabla\mathbf{n}_{c}\right)^{T}). (75)
Refer to caption
Figure 9: Definition of geometric quantities. The heights of the triangles are denoted as hih_{i} where ii ranges from 1 to 6, and the perpendicular feet are represented by M,N,P,Q,R,andSM,N,P,Q,R,andS.

Appendix C The Directional Curvature Operator

The directional curvature operator can be quantified using the geometry quantities in Figure 9, as follow

𝐋p=𝐇𝜽,\mathbf{L}_{p}=-\mathbf{H}\bm{\theta}, (76)

where

𝐇=[2h1+h40002h2+h50002h3+h6],\mathbf{H}=\begin{bmatrix}\frac{2}{h_{1}+h_{4}}&0&0\\ 0&\frac{2}{h_{2}+h_{5}}&0\\ 0&0&\frac{2}{h_{3}+h_{6}}\end{bmatrix}, (77)

and 𝜽\bm{\theta} collects the linearized bend angles as follow

[1h1(𝐗~M3ah5+𝐗~N3ah2)(𝐗~R2bh6+𝐗~S2bh3)(𝐗~Q3ch4+𝐗~P3ch1)1h2(𝐗~R1bh6+𝐗~S1bh3)(𝐗~Q2ch4+𝐗~P2ch1)(𝐗~M1ah5+𝐗~N1ah2)1h31h40001h50001h6]T,\begin{bmatrix}-\frac{1}{h_{1}}&\left(\frac{\lVert\tilde{\mathbf{X}}_{M3}\rVert}{ah_{5}}+\frac{\lVert\tilde{\mathbf{X}}_{N3}\rVert}{ah_{2}}\right)&\left(\frac{\lVert\tilde{\mathbf{X}}_{R2}\rVert}{bh_{6}}+\frac{\lVert\tilde{\mathbf{X}}_{S2}\rVert}{bh_{3}}\right)\\ \left(\frac{\lVert\tilde{\mathbf{X}}_{Q3}\rVert}{ch_{4}}+\frac{\lVert\tilde{\mathbf{X}}_{P3}\rVert}{ch_{1}}\right)&-\frac{1}{h_{2}}&\left(\frac{\lVert\tilde{\mathbf{X}}_{R1}\rVert}{bh_{6}}+\frac{\lVert\tilde{\mathbf{X}}_{S1}\rVert}{bh_{3}}\right)\\ \left(\frac{\lVert\tilde{\mathbf{X}}_{Q2}\rVert}{ch_{4}}+\frac{\lVert\tilde{\mathbf{X}}_{P2}\rVert}{ch_{1}}\right)&\left(\frac{\lVert\tilde{\mathbf{X}}_{M1}\rVert}{ah_{5}}+\frac{\lVert\tilde{\mathbf{X}}_{N1}\rVert}{ah_{2}}\right)&-\frac{1}{h_{3}}\\ -\frac{1}{h_{4}}&0&0\\ 0&-\frac{1}{h_{5}}&0\\ 0&0&-\frac{1}{h_{6}}\end{bmatrix}^{T}, (78)

with a=𝐗~31a=\lVert\tilde{\mathbf{X}}_{31}\rVert, b=𝐗~12b=\lVert\tilde{\mathbf{X}}_{12}\rVert and c=𝐗~23c=\lVert\tilde{\mathbf{X}}_{23}\rVert.

Appendix D Quadratic Thin Plate/Shell and Accuracy Discrepancy

In this Appendix, the terminologies come from the Section 4.3.

Quadratic Thin Plate (QTP). When the directional curvature operator is quantified in the world frame, the bending energy of our EP model in Eq. (20) can be rewritten as

ΨbQTP=A2kb(𝐱e)T(𝐋nT𝐋n𝐈)𝐱e,\Psi_{b}^{QTP}=\frac{A_{\mathcal{E}}}{2}k_{b}(\mathbf{x}^{e})^{T}(\mathbf{L}_{n}^{T}\mathbf{L}_{n}\otimes\mathbf{I})\mathbf{x}^{e}, (79)

where the curvature operator 𝐋n\mathbf{L}_{n} is

ch[1h1(𝐗P3𝐗23h1+𝐗Q3𝐗23h4)(𝐗P2𝐗23h1+𝐗Q2𝐗23h4)1h4]c_{h}\begin{bmatrix}\frac{1}{h_{1}}&-\left(\frac{\lVert{\mathbf{X}}_{P3}\rVert}{\lVert{\mathbf{X}}_{23}\rVert h_{1}}+\frac{\lVert{\mathbf{X}}_{Q3}\rVert}{\lVert{\mathbf{X}}_{23}\rVert h_{4}}\right)&-\left(\frac{\lVert{\mathbf{X}}_{P2}\rVert}{\lVert{\mathbf{X}}_{23}\rVert h_{1}}+\frac{\lVert{\mathbf{X}}_{Q2}\rVert}{\lVert{\mathbf{X}}_{23}\rVert h_{4}}\right)&\frac{1}{h_{4}}\end{bmatrix} (80)

with ch=2/(h1+h4)c_{h}=2/(h_{1}+h_{4}). The Hessian of the QTP’s bending energy is

2ΨbQTP𝐱e(𝐱e)T=kbA𝐋nT𝐋n𝐈,\frac{\partial^{2}\Psi_{b}^{QTP}}{\partial\mathbf{x}^{e}{\partial(\mathbf{x}^{e})^{T}}}=k_{b}A_{\mathcal{E}}\mathbf{L}_{n}^{T}\mathbf{L}_{n}\otimes\mathbf{I}, (81)

and the gradient of the QTP’s bending energy is

ΨbQTP𝐱e=(2ΨbQTP𝐱e(𝐱e)T)𝐱e.\frac{\partial\Psi_{b}^{QTP}}{\partial\mathbf{x}^{e}}=(\frac{\partial^{2}\Psi_{b}^{QTP}}{\partial\mathbf{x}^{e}{\partial(\mathbf{x}^{e})^{T}}})\mathbf{x}^{e}. (82)

Quadratic Thin Shell (QTS). The curvature operator in Eq. (79) can also be extended to the bending energy of our ES model. The bending energy of QTS is

ΨbQTS=12Akbϵb2,\Psi_{b}^{QTS}=\frac{1}{2}A_{\mathcal{E}}k_{b}\epsilon_{b}^{2}, (83)

where the curvature change ϵb\epsilon_{b} is

ϵb=κm(κm)0=𝐋n𝐍T𝐱e𝐋n𝐍0T𝐗e.\epsilon_{b}={\kappa}_{m}-({\kappa}_{m})_{0}=\mathbf{L}_{n}\mathbf{N}^{T}{\mathbf{x}}^{e}-\mathbf{L}_{n}\mathbf{N}_{0}^{T}{\mathbf{X}}^{e}. (84)

The gradient of the QTS’s bending energy is

ΨbES𝐱e=Akbϵb𝐱eϵb,\frac{\partial\Psi_{b}^{ES}}{\partial\mathbf{x}^{e}}={A_{\mathcal{E}}}k_{b}\frac{\partial\epsilon_{b}}{\partial\mathbf{x}^{e}}\epsilon_{b}, (85)

where the gradient of the curvature change can be generalized from Eq. (26), i.e.,

ϵb𝐱e=(𝐱e)T𝐍𝐱e𝐋nT+𝐍𝐋nT.\frac{\partial\epsilon_{b}}{\partial\mathbf{x}^{e}}=({\mathbf{x}}^{e})^{T}\frac{\partial\mathbf{N}}{\partial\mathbf{x}^{e}}\mathbf{L}_{n}^{T}+\mathbf{N}\mathbf{L}_{n}^{T}. (86)

The Hessian of QTS’ bending energy is the same as the Hessian of QTP’. QTP/QTS can be seen as a variation of our EP/ES that quantifies the curvature operator in the world frame.

Accuracy Discrepancy. In comparison, the Quadratic Shell model [BWH06b] is the linearized version of the Discrete Shell model [GHDS03] of which detailed numerical formulations and isotropic bending rigidity can be found in [TG13, Tam13]. By expressing the discretized bending energy in Eq. (79) using the terminologies from the Quadratic Shell paper [BWH06b], we can conclude that the bending energy of our EP/QTP model is three times less than the bending energy of Quadratic Shell. The Cubic Shell model [GGWZ07] builds on a foundation laid out from Quadratic Shell [BWH06b], so the accuracy discrepancy holds. Also, the Quadratic Shell can be seen as a rest-flat version of the Cubic Shell.

To account for the accuracy discrepancy of our edge-stenciled models (EP/QTP/ES/QTS) with Quadratic/Cubic Shells [BWH06b, GGWZ07], we example the bending energy of thin plate model we computed from Eq. (16), i.e.,

Ψb=12Akbκm2.\Psi_{b}=\frac{1}{2}A_{\mathcal{E}}k_{b}\kappa_{{m}}^{2}. (87)

Under the small strain/curvature assumption, the directional curvature κm\kappa_{{m}} in Eq. (4) is

κm=2θh1+h4=θlA1+A4,\kappa_{{m}}=\frac{2\theta}{h_{1}+h_{4}}=\frac{\theta l}{A_{1}+A_{4}}, (88)

and A=A1+A4A_{\mathcal{E}}=A_{1}+A_{4} is consistent with the area on which the curvature κm\kappa_{{m}} is defined. A1A_{1} and A4A_{4} are the triangle areas of one edge stencil in the initial configuration. ll is the length of the hinge edge. By using our terminologies, the underlined bending energy of Quadratic/Cubic Shells from [GHDS03, TG13, Tam13] is

Ψb=12Akb(κm)2.\Psi_{b}^{{}^{\prime}}=\frac{1}{2}A_{\mathcal{E}}^{{}^{\prime}}k_{b}(\kappa_{{m}}^{{}^{\prime}})^{2}. (89)

Here,

κm=θl13(A1+A4)=32θh1+h4=3κm,\kappa_{{m}}^{{}^{\prime}}=\frac{\theta l}{\frac{1}{3}(A_{1}+A_{4})}=3\frac{2\theta}{h_{1}+h_{4}}=3\kappa_{{m}}, (90)

and the A=(A1+A4)/3=A/3A_{\mathcal{E}}^{{}^{\prime}}={(A_{1}+A_{4})}/{3}=A_{\mathcal{E}}/3 is consistent with the area on which the curvature κm\kappa_{{m}}^{{}^{\prime}} is defined. By comparing Eq. (87) and Eq. (89), we can obtain

Ψb=3Ψb.\Psi_{b}^{{}^{\prime}}=3\Psi_{b}. (91)

Thus, scaling down the Quadratic/Cubic Shell’s bending energy allows the Quadratic/Cubic Shell to yield accurate predictions in the linear (small deflection) plate bending benchmark (Section 6.1).