1 Introduction
Complex and high-frequency wrinkling patterns give thin-sheet and membrane materials, like cloth and plastic film, their characteristic fine details. Yet the rich diversity of wrinkling behaviors observable in these everyday materials also pose a significant modeling and simulation challenge: failure to represent the material using sufficient degrees of freedom to adequately sample the surface’s highest-frequency wrinkle features leads to noisy, aliased results, or else overly smoothed surfaces whose fine wrinkles are missing altogether. Thus computational meshes with hundreds of thousands of vertices can be required in computer animation or garment modeling applications to capture accurate and/or expressive wrinkles.
Toward the efficient and accurate simulation of wrinkling, we propose a new model and algorithm to capture the high-definition statics of thin shells via coarse meshes. Our goal is to model the complex and fine wrinkles that arise in the interplay between tension and compression while utilizing just a small number of degrees of freedom. For example, in the dress shown in Figure
1, we simulate with
\(1.{ 4\text{k}}\) degrees of freedom (compare to a full resolution simulation result using
\(40{ \text{k}}\) vertices in Figure
17). The key idea of our approach is to split the kinematics of wrinkled shells into a
base mesh, representing the coarse envelope of the shell without its fine wrinkles, and a
wrinkle field parameterized over the base mesh, encoding the amplitude and wavelength of high-frequency wrinkles. In the first half of our article, we formulate a reduced-order model of shell statics in terms of these degrees of freedom. In the second, we propose a concrete algorithm for computing the wrinkled static shape of tension-dominated thin materials, such as draped garments or inflated balloons, based on the choice of
tension field theory for computing the base mesh shape.
Our model predicts global, fine-scale wrinkling at frequencies much higher than the resolution of the base mesh and, in contrast to previous heuristic approaches for wrinkle augmentation, is grounded in the geometric analysis of elasticity, and does not require manual guidance, a corpus of training examples, nor tuning of ad hoc parameters. We validate our approach against both physical experiments and numerical simulations, show that our algorithm generates both well-known experimental results and simulations with wrinkle quality comparable to those obtained by classical cloth solvers utilizing orders of magnitude more degrees of freedom.
Wrinkle Fields. Augmenting a coarse simulation with additional high-frequency detail, via techniques such as normal or displacement mapping (either crafted by artists or learned from data [Lähner et al.
2018]), is a long-standing and powerful strategy. We adopt the approach of several prior works in physics and computer graphics that parameterize wrinkles as spatially varying amplitude and phase fields. To solve for these wrinkle fields and add fine wrinkles to a base mesh, previous methods explore several ideas based on
local analyses of its deformation, either by assuming that the base mesh has a very simple geometry, so that wrinkle behavior can be predicted analytically; by restricting to materials like skin where a volumetric substrate drives local wrinkling; or by procedurally modeling wrinkles based on heuristics, user guidance, or data-driven models. While such local models can capture the wrinkling of pinched skin or tight-fitting spandex, where the wrinkle frequency and amplitude are indeed determined by local rather than long-range interactions, they are inapplicable to loose-fitting clothing (such as the dress in Figure
1) or draped cloth. In contrast, we develop a principled
global model of wrinkle fields, grounded in the physics of thin shells.
Problem Scope. We apply our reduced-order wrinkle model to the problem of simulating the static shape of thin shells under a mix of tension and compression, subject to boundary conditions. Here, we focus exclusively on this statics problem with potential applications to virtual try-on, garment design, draping, and modeling. We do not consider dynamics, although see Section
7 for discussion of how the theory we develop might be applied to dynamics. We solve the statics problem by first computing the base mesh shape, and then solving for the wrinkle orientation, frequency, and amplitude.
Choice of Base Mesh. Although a coarse-resolution simulation of the shell may be the most obvious choice of base mesh, this choice is flawed (see Figure
2). If a shell would wrinkle at a frequency higher than can be resolved by the tessellation, then the coarse-resolution simulated shell will buckle but at an aliased frequency much coarser than the physically correct wrinkle features. Augmenting such a base mesh with plausible wrinkles would thus require
both removing the existing, spurious coarse buckling, and then inserting new high-frequency wrinkles. Instead, we propose computing a base mesh free of any wrinkles using
tension field theory( TFT); this
TFT base mesh then serves as a blank canvas upon which we can optimize for a wrinkle field encoding fine details at the correct frequency and amplitude.
Tension Field Theory. The key insight of tension field theory [Pipkin
1986; Steigmann
1990] is that tension-dominated thin shell deformation can be understood at two independent scales: the coarse structure and the fine wrinkles. Consider, for instance, manipulating a piece of cloth: the cloth strongly resists
extension, but allows
compression with almost no resistance. When compressed, the cloth buckles into a wrinkled shape, at very low energy cost, since the bending stiffness of real materials is orders of magnitude weaker than the stretching stiffness. The dominant forces determining the
coarse structure of cloth that is being tugged or draped are therefore internal tension forces, gravity and other external loads, and bending; the internal compression forces and the buckling and wrinkling they induce play a negligible role in the cloth’s overall shape.
Despite their relative unimportance in determining coarse shape, compression forces are the chief source of numerical difficulty when simulating shell statics. Not only does resolving the wrinkles induced by compression require finely tessellated elements, but the elastic energy of compression is non-convex (since there is symmetry in whether a small, compressed strip of cloth will buckle upwards or downwards; there is also phase-shift symmetry in the wrinkle pattern on a larger cloth patch). In cases where simulating detailed wrinkling is not required, such as when designing inflatable balloons [Skouras et al.
2014], there has been great profit in neglecting the compressive forces altogether: the resulting
TFT simulation minimizes a convex elastic energy, which accurately predicts a surface’s coarse-scale shape even when the simulation mesh has few degrees of freedom. For tension-dominated problems, such as simulating cloth drapes or deformation of pressurized chambers,
TFT is thus ideal for generating an approximate coarse base mesh for applying our wrinkle fields (constructed in Section
3).
Contributions. To summarize, our core contributions include:
•
a new formulation of thin shell kinematics that splits degrees of freedom between coarse-scale deformation of the surface, and high-frequency wrinkling, expressed as functions on the coarse surface. We derive an energy model for the shell in terms of these degrees of freedom (Section
3);
•
we propose an algorithm that uses the above energy model to solve for the static shape of cloth and other thin materials, when subject to loads that induce a mix of tension and compression (Section
4). At its heart, this algorithm first solves for the coarse shape using
TFT simulation, and then, given the coarse mesh, solves a sequence of quadratic programs to compute the wrinkle field parameters;
•
we evaluate our model and algorithm on a variety of test cases, including experiments drawn from the physics literature, and simulations of garment drapes and inflatable structures (Section
6). We show qualitative agreement between our results and those of both established experiments and full degree-of-freedom shell solvers, even when our method is discretized very coarsely, e.g., using
\(\approx 1,000\) degrees of freedom; and
•
although low-level performance optimization is not our focus here, we show that our method’s advantage of working on much coarser meshes translates into speedups (up to one or two orders of magnitude) when compared to a baseline, optimized Newton-type solver for shell statics (Section
6).
We find that coarse base meshes, together with wrinkle fields, are a powerful representation for simulating cloth and other thin materials with complex, highly detailed, high-frequency wrinkle-like features, and yield striking results in comparison to simulations using classic bending and stretching elements. We hope our model will serve as a foundation for further research into simulation using wrinkle-field kinematics, not only for forward problems but also for inverse design problems, where the wrinkle amplitude and direction are more natural and semantically meaningful deformation degrees of freedom than traditional vertex displacements.
2 Related Work
Thin shell simulation has long been a research focus in both computational mechanics and computer graphics. Considerable effort has focused on improving computational efficiency of generic cloth and shell solvers. This work was pioneered by Baraff and Witkin’s [
1998] application of implicit time integration to accelerate cloth simulation. Subsequent research proposes many improvements including implicit-explicit methods [Boxerman and Ascher
2004], adaptive remeshing [Narain et al.
2012;,
2013; Li et al.
2018; Grinspun et al.
2002], distributed memory parallelism [Selle et al.
2009], position-based dynamics [Müller et al.
2007], subdivision thin shell element methods [Vetter et al.
2014], multi-grid methods [Tamstorf et al.
2015], and various approaches to incorporating yarn-level dynamics [Kaldor et al.
2008], such as by homogenization [Sperl et al.
2020] or enrichment of a triangle mesh by yarn patches [Casafranca et al.
2020].
Theoretical Analysis of Wrinkles. The interplay of thin shell mechanics and wrinkling has been significantly stud ied in the physics community. Cerda and Mahadevan [
2003] derive a scaling law that relates the wrinkle wavelength to the material parameters of a stretched elastic thin sheet; this experiment was analyzed systematically in follow-on computational work [Healey et al.
2013; Li and Healey
2016; Wang et al.
2018]. The Cerda and Mahadevan model was later extended to more complex deformations and geometries [Paulsen et al.
2016; Aharoni et al.
2017]. The work of Paulsen et al. [
2016] is particularly notable as it accounts for the role of surface curvature on wrinkling: their extension can be used to predict the wavelength of wrinkles on simple, rotationally symmetric 3D geometries like cylinders and hemispheres. However, their analysis assumes that the wrinkle direction is known in advance and that wavelength is constant in this direction, which is not true for everyday, complex geometries, for example, in draped dresses or pants.
Physically Inspired Wrinkle Simulation. Given the importance of fine wrinkles to the visual quality of cloth simulation, several methods have studied augmenting simulations to better reproduce high-quality wrinkles, either by modifying the solve itself or adding wrinkles as a post-process. Bergou et al. [
2007] use constrained Lagrangian mechanics to force a high resolution simulation to track the coarse motion of an art-directed low-resolution target surface, thereby enhancing the coarse motion with fine-scale details. Remillard and Kry [
2013] apply a similar idea to simulation of skin, by using a sparse set of constraints to couple the motion of outer skin layers to the underlying volumetric substrate. In a similar vein, Wrinkle Meshes [Müller and Chentanez
2010] computes fine wrinkles by simulating high-resolution patches constrained to an initial, low-resolution simulation. Although both methods generate a high-resolution wrinkled surface whose coarse shape matches a coarse target, these tracking-based methods still require simulating wrinkles on a high-resolution mesh, in contrast to our approach based on coarse wrinkle-field kinematics. Several post-processing methods have been proposed that add dynamic wrinkles based on analyzing the strain tensor after a coarse-scale simulation [Gillette et al.
2015; Rohmer et al.
2010]; although real-time, these methods rely on user guidance to choose the proper wrinkle size, rather than inferring the correct wrinkles from the cloth physics.
Zuenko et al. [
2019] predict the wrinkling of human skin, and other materials consisting of a stiff film coupled to a soft substrate. Similar to our approach, Zuenko et al. solve for an amplitude and phase field discretized on a surface mesh. Different from us, however, Zuenko et al. compute wrinkle frequency based on local phenomenological laws drawn from the physics literature that relate wrinkle frequency to the film-to-substrate shear modulus ratio. Their method is thus only applicable to wrinkled skin or spandex, and not to wrinkling of loose-fitting cloth and other shells, which are not bonded to any substrate.
In case of no substrate, one way to extend Zuenko et al.’s approach is to use an ad hoc value of film-to-substrate shear modulus ratio to control the wrinkle frequency; this appears to be how Zuenko et al. simulated Figures 8(a) and 8(b) in their paper, for instance (showing wrinkling on a toroidal balloon and a gold sheet draped on a sphere). As in the techniques above that add dynamics as a postprocess, the downside of this idea is that one now needs to manually tune this parameter, rather than allowing the physics to create the wrinkles automatically. As an alternative, for shells with no substrate, Zuenko et al. also extended their approach by using the scaling law of Vandeparre et al. [
2011] instead of film-to-substrate shear modulus ratio to determine wrinkle frequency. The main idea of Vandeparre et al. is to predict the frequency of cloth wrinkles in the interior based on inward propagation from a nearby compressed, clamped boundary. This scaling law gives good results for simulations involving hanging curtains, or other problems where wrinkling is coming from compression at a boundary (see, for instance, their Figure 8(c)). Note that to be applicable, the Vandeparre et al. scaling law requires (1) that the wrinkling in the interior of the cloth is explainable by wrinkles propagating inward from a nearby boundary, and (2) that the wrinkles at the boundary are caused by compression and clamping at that boundary. Wrinkles due to contact and draping (see the dress in Figure
1) in the cloth interior; or shearing of a boundary that is
not compressed (for instance, see our later experiments: the sheared rectangle, Figure
9, and twisted cylinder, Figure
21); or strain in the interior that vanishes towards the clamped boundary (like in Cerda and Mahadevan’s model problem of a stretched elastic sheet; see Figure
6) violate the modeling assumptions of Vandeparre et al. See our comparison with the extended Zuenko et al.’s approach with Vandeparre’s law on the stretched sheet and sheared rectangle examples in Figures
8 and
10 highlighting these issues.
Finally, there has been work on augmenting fluid simulation with high-frequency wave packets [Jeschke and Wojtan
2017]; these wave packets are “wrinkles” of a sort, but are governed by a very different physics than the shell elasticity considered in our article.
Tension Field Theory. As discussed above in our introduction,
TFT was successfully applied to the design of inflatable structures [Skouras et al.
2014], and has been used successfully to explain physical and biological phenomena such as the wrinkling of scar tissue [Cerda
2005] and the inflation of parachutes [Baginski
2005]. The convexity of
TFT was also exploited to optimize the design of skin-tight clothing using sensitivity analysis [Montes et al.
2020]. Although not explicitly grounded in tension field theory, several computer graphics techniques for simulating cloth [Choi and Ko
2002; Jin et al.
2017] adopt a similar idea of neglecting or significantly weakening the elastic forces that resist compression. By reducing the likelihood that small strains induce numerically challenging out-of-plane buckling, these methods are computationally efficient. Likewise weakening the compression forces offers other advantages as well, such as alleviation of membrane locking.
Data-driven Approaches. A final stream of research on efficiently augmenting simulations with fine wrinkles uses data (gathered from the real world; e.g., via motion capture [Lähner et al.
2018], or collected from offline high-resolution simulations) to learn cloth deformation. To accelerate the latter idea, Kim et al. [
2013] constructed a compressible secondary cloth motion graph to sample the dynamic space and reduce storage requirements by a factor of 1000. A common idea, especially useful for adding fine details to T-shirts and other relatively skin-tight garments, is to condition the learned deformation on the pose of an underlying mannequin [Wang et al.
2010; Hahn et al.
2014; Santesteban et al.
2019]. This idea can be further applied to transfer of cloth motion from one body shape onto another [Guan et al.
2012]. Different from the pose-based methods, Kavan et al. [
2011] and Seiler et al. [
2012] learn a dense upsampling operator to obtain more geometric details on a coarse simulated mesh, and does not assume an underlying mannequin.
Although highly efficient, these methods suffer from the usual issues of data-driven strategies : artifacts appear and quality degrades when the method is applied to simulations that require extrapolation rather than interpolation of existing training data. Methods conditioned on mannequin pose, thus, cannot be applied to free-floating, environmental cloth.
3 Wrinkle Field Modeling
We model the kinematics of wrinkled thin shells in terms of a coarse
base surface, augmented by wrinkles parameterized by amplitude and phase fields over the base surface. In this section, we discuss the mathematical details of these ideas. The main result of our analysis is the formulation of the shell energy in Equation (
27), written in terms of the base surface and wrinkle-field degrees of freedom; a discretization of this energy will form the basis of our algorithm in Section
4 for computing the static shape of thin shells. Note that for the theory we develop in this section, we do not assume any particular choice of base surface: later in Section
4.1, we will discuss our proposed use of
TFT simulation to compute the base surface. We then cover discretization and implementation details in Section
5.
Throughout this section, we apply tools and ideas from the physics literature on the geometry of wrinkled sheets [Aharoni et al.
2017; Cerda and Mahadevan
2003] and simple curved membranes [Paulsen et al.
2016]. However, to our knowledge, the general analysis of wrinkle shape and energy on curved shells that we perform here, and the resulting formulas in Equations (
19) and (
27), are novel.
3.1 Preliminaries
We begin with conventions and notation. We assume that we are modeling a hyperelastic shell of fixed thickness
\(h\), and adopt the usual Kirchhoff-Love assumption [Ciarlet
2000] that the shell’s 3D volume is formed by extruding a
midsurface 
a distance
\(h/2\) in both directions along the midsurface normal
\(\hat{\boldsymbol {n}}(u, v)\), where
\(U\) is a planar
parameter domain. For simplicity, we assume a St. Venant-Kirchhoff linear constitutive model,
1 in which case it can be shown (see, e.g., Weischedel [
2012]) that the elastic energy of the shell, as a function of the midsurface embedding
\(\boldsymbol {r}\), is given by the
Koiter energy:
where
\(W_s\) and
\(W_b\) are stretching and bending energy densities,
\({\boldsymbol {I}}\) and
\({\boldsymbol {I\!I}}\) are the midsurface first and second fundamental forms, respectively, expressed as
\(2\times 2\) matrices in the parameter coordinates. The tensors
\({\boldsymbol {I}}_u\) and
\({\boldsymbol {I\!I}}_u\) are “rest” fundamental forms encoding the strain-free shell configuration. In the case where the shell is rest-flat and the domain
\(U\) represents the shell’s strain-free shape,
\({\boldsymbol {I}}_u = {\boldsymbol {id}}\) (the identity matrix) and
\({\boldsymbol {I\!I}}_u=\boldsymbol {0}.\) All of our examples are rest-flat, though we will include the rest fundamental forms in the expressions we derive in this section, so that our results extend seamlessly to shells with rest curvature. The norm
\(\Vert { \cdot }\Vert _{\mathrm{SV}}\) is a quadratic form depending on the material Lamé parameters
\(\alpha\) and
\(\beta\):
See Appendix
A for a more detailed overview of shell theory.
Following foundational work in the physics community on wrinkling of sheets [Aharoni et al.
2017], our fundamental modeling assumption is that the shell midsurface can be decomposed into
where
\(\boldsymbol {r}_b\) is a low-frequency
base surface, from which the shell midsurface is constructed by applying a high-frequency
wrinkle correction \(\boldsymbol {r}_w\). This wrinkle correction can have components in both the normal and tangential directions to the base surface. That is, consider a local frame formed by
\(\left\lbrace \frac{\partial \boldsymbol {r}_b}{\partial u}, \frac{\partial \boldsymbol {r}_b}{\partial v}, \hat{\boldsymbol {n}}_b\right\rbrace\) at a point on the base surface. The wrinkled shell
\(\boldsymbol {r}_w(u, v)\) can be expressed as
where
\(\boldsymbol {v}_t = \left(f_1, f_2\right)\) encodes the tangential displacement due to wrinkling, and
\(f_3\) the normal displacement. Note that
\(\boldsymbol {v}_t\) is a vector field on the
parameter domain \(U\), which the embedding Jacobian
\({{ \mathrm{d}}\boldsymbol {\boldsymbol {r}_b}}\) maps to a tangent vector on the base surface. We will write
\({\boldsymbol {I}}_b, {\boldsymbol {I\!I}}_b\) for the first and second fundamental forms of the base surface, respectively.
Notice that we are working with three distinct surfaces, each with their own geometry: the (2D) parameterization domain, the (3D) base surface, and the (3D) wrinkled midsurface. We will use subscript \(u\) and \(b\) to denote quantities associated with the parameterization domain and base surface, respectively.
3.2 Wrinkle Correction from Wrinkle Fields
As in the analyses of Cerda and others [Cerda and Mahadevan
2003; Aharoni et al.
2017; Paulsen et al.
2016], we assume that the wrinkles in the shell have wavelength that can vary spatially over the surface, but that at each point, the wrinkles have a single predominant wavelength and locally coherent wave direction and amplitude. We can thus write the wrinkle correction in terms of the local geometry and deformation of the base surface, together with a non-negative
amplitude and periodic
phase field:
In particular, we can write
\(f_3\) explicitly in terms of amplitude and phase:
with base surface normal
\(\hat{\boldsymbol {n}}_b\), where our remaining task is to determine the in-plane part
\(\boldsymbol {v}_t\) of the wrinkle correction (which control s the wrinkle shape profile) as well as the wrinkle amplitude and phase fields
\(a\) and
\(\phi .\)A first observation is that, to a good approximation, surfaces wrinkle to compensate for surface area lost to compression. If the strain in the wrinkle direction
\(\boldsymbol {w}\) is
\(\epsilon _{\boldsymbol {w}}\), then we should expect the arclength of one wrinkle period to match original material length of that period in the shell at rest:
This relationship coupling wave amplitude and frequency has been widely exploited, in both physics and computer graphics [Rohmer et al.
2010], but it does not tell us the relative magnitude of
\(a\) and
\({ \mathrm{d}}\phi\). We observe that this tradeoff is usually
globally determined by the boundary conditions, strain, and curvature of the base surface. For instance, if you take a rectangular sheet of paper and shear it by displacing its four corners, the sheet will buckle and form a single,
\(\Omega\)-shaped bump. But if the entire top and bottom boundaries of the sheet are clamped and the sheet is sheared, a high-frequency pattern of wrinkles appears (see Figure
9). A second issue is that
\({ \mathrm{d}}\phi\) must be integrable; i.e., it must be the derivative of some phase function
\(\phi : U\rightarrow S^1\), which is well-defined, at minimum, on the patches of
\(U\) where
\(a\gt 0\). It is therefore not possible to arbitrarily prescribe
\({ \mathrm{d}}\phi\) using Equation (
8), even if the wrinkle amplitude
\(a\) could somehow be inferred.
The punchline is that there is no general local rule for choosing \(a\) and \({ \mathrm{d}}\phi\), without resorting to user guidance or ad hoc heuristics. We must instead solve for both terms globally over \(U\).
3.3 Fast and Slow Variables
Before dealing with
\(a\) and
\(\phi\), we begin by analyzing the in-plane correction unknown
\(\boldsymbol {v}_t\). A tempting idea, which we tried in early unsuccessful experiments, is to solve for
\(\boldsymbol {v}_t\) along with
\(\boldsymbol {r}_b\),
\(a\), and
\(\phi\), as an additional kinematic degree of freedom. To understand why this approach was misguided, consider that even if we assume no in-plane wrinkle correction (
\(\boldsymbol {v}_t=\boldsymbol {0}\)), the midsurface shape given by Equations (
5) and (
7) is underdetermined. Wrinkles in the midsurface could be represented either by
•
adding wrinkles to the base surface \(\boldsymbol {r}_b\) and setting \(a=0\);
•
using a smooth base surface but absorbing all midsurface undulation into the amplitude \(a\) of the wrinkle field, while keeping \(\phi =0\);
•
using a smooth base surface and a slowly varying \(a\), with the undulations of the wrinkles induced by variations in the phase \(\phi\) over the surface.
Thinking ahead to when we will want to discretize \(\boldsymbol {r}_b\), \(a\), and \(\phi\) on a coarse mesh, it is clear that only the third solution is acceptable, since it is the only one that will not lead to aliasing of the fine wrinkles of \(\boldsymbol {r}\) when \(\boldsymbol {r}_b\), \(a\), and \(\phi\) are restricted to low frequencies.
Carrying this idea further, we classify variables as slow or fast. Slow variables change at length scales larger than the wavelength of a single wrinkle, whereas fast variables cannot be approximated as constant, even at the wrinkle scale. Fast variables include \(\phi\), \({ \boldsymbol {v}_t}\), and \(\boldsymbol {r}_b\). We assume that the following variables are slow:
•
the base surface fundamental forms \({\boldsymbol {I}}_b\) and \({\boldsymbol {I\!I}}_b\); equivalently, the base surface strain and curvature;
•
wrinkle frequency and orientation \({ \mathrm{d}}\phi\);
•
the wrinkle shape profile, so that \(\boldsymbol {v}_t\) is a superposition of periodic vector fields with slow direction and amplitude.
Notice that the wrinkle frequency
\({ \mathrm{d}}\phi\) is slow despite
\(\phi\) itself being fast, and that the characterization of
\(a\) as slow and
\(\phi\) as fast breaks the symmetry between
\(a\) and
\(\phi\) both controlling the wrinkle frequency. We will now derive closed-form expressions for
\(\boldsymbol {v}_t\), based on an analysis of shell statics at the scale of a single wrinkle, baking our assumptions about fast and slow variables into our wrinkle correction model.
23.4 In-plane Wrinkle Correction Formulae
Since we assume that the wrinkle shape is a slow variable,
\({ \Vert \boldsymbol {v}_t\Vert }\) must be a periodic function of
\(\phi\), at the scale of individual wrinkles. Moreover, we can assume without loss of generality that there is no in-plane translation of the wave crests and valleys:
\(\Vert \boldsymbol {v}_t\Vert \vert _{\phi = 0}= \Vert \boldsymbol {v}_t\Vert \vert _{\phi =\pi }=0\), since any such translation could be accomplished instead by a phase shift in
\(\phi\). We thus approximate
\({ \boldsymbol {v}_t}\) by the first couple of terms in its discrete sine expansion,
with
\(\boldsymbol {v}_1\) and
\(\boldsymbol {v}_2\) slow vector fields on
\(U\).
There are geometric reasons for expecting both of these terms to be important (see Figure
3). Consider the case of perfectly sinusoidal wrinkles, where
\({ \boldsymbol {v}_t=\boldsymbol {0}}\). These wrinkles induce large variations in strain in the shell over one wavelength, with maximum strain at
\({ \phi }=\pi /2,3\pi /2\) and minimum strain at the wrinkle peaks and valleys. The
\(\boldsymbol {v}_2\) term allows a redistribution of material within a wrinkle period to equalize strain.
The
\(\boldsymbol {v}_1\) term accounts for strain variation over one wrinkle period, due to curvature of the underlying base surface. Consider, for instance, a wrinkled cylinder, where the wrinkling direction
\({ \mathrm{d}}\phi\) travels azimuthally around the cylinder (similar to the wrinkles shown in Figure
4). Wrinkle peaks are more highly strained than wrinkle valleys, due to the base surface curvature, and the
\(\boldsymbol {v}_1\) term allows redistribution of material within a wavelength to compensate. Neglecting
\(\boldsymbol {v}_1\) artificially penalizes coarse wrinkles where the base surface is highly curved in the
\({ \mathrm{d}}\phi\) direction, and relatively flat in the perpendicular direction (see also the discussion in Section
3.6).
Finding \(\boldsymbol {v}_1\) and \(\boldsymbol {v}_2\). The idea now is to solve for expressions for
\(\boldsymbol {v}_1\) and
\(\boldsymbol {v}_2\), which minimize the shell’s elastic energy density, integrated over a small neighborhood of the surface of size on the order of one wavelength. Since stretching energy dominates bending energy, it is enough to focus on the stretching energy density Equation (
2), which is quadratic in the midsurface strain.
The directions
\(\boldsymbol {v}_1\) and
\(\boldsymbol {v}_2\) are slow variables, and so
We can use this expression, as well as the definition
\({\boldsymbol {I}}= {{ \mathrm{d}}\boldsymbol {\boldsymbol {r}}}^T{{ \mathrm{d}}\boldsymbol {\boldsymbol {r}}}\), to write down a formula for the strain of the midsurface:
Here, we use the notation
\(M_T\) to denote the symmetrization
\(M+M^T\). All variables in this expression are slow, except for the trigonometric functions in
\(\phi\). Intuitively, strain, and hence elastic energy, is minimized by minimizing each of the trigonometric coefficients; this idea can be formalized by use of a
coarse-graining operator [Aharoni et al.
2017],
which estimates quantities
\(X\) averaged over a neighborhood
\(\Omega\) of radius comparable to one wrinkle wavelength. Applying coarse-graining to the thin-shell stretching energy density Equation (
2) allows us to simplify the energy expression by eliminating oscillatory terms, which might be non-zero pointwise but average to zero (like
\(\sin \phi\)) or a value independent of
\(\phi\) (like
\(\sin ^2\phi\)) over a wrinkle wavelength:
Notice that
\(\boldsymbol {v}_1\) and
\(\boldsymbol {v}_2\) appear exclusively in Equations (
14) and (
15), respectively, and so we can solve for these variables by minimizing each term independently:
where
where to de-clutter notation, we define
\(\boldsymbol {w}= {\boldsymbol {I}}_u^{-1} d\phi ^T\) to be the vector field on
\(U\) aligned with the wrinkle travel direction, and
\(\boldsymbol {w}^{\perp }, d\phi ^{\perp }\) the vector field and one-form orthogonal to
\(\boldsymbol {w}\) and
\(d\phi\) under the natural
\({\boldsymbol {I}}_u\) and
\({\boldsymbol {I}}_u^{-1}\) inner products, respectively. The constants
\(\alpha\) and
\(\beta\) are the Lamé parameters. Notice that on a flat sheet,
\(\boldsymbol {v}_1 = 0\), confirming the intuition that the role of this term is to modulate the wrinkle shape to accommodate curvature on the underlying base surface. See Appendix
C for the derivation of these expressions.
To summarize, we now can replace the wrinkle correction term
\(\boldsymbol {r}_w\) in Equation (
5) with an explicit formula in terms of
\(\boldsymbol {r}_b\),
\(a\), and
\(\phi\), based on the above derivations of the in-plane part of the correction term:
3.5 Wrinkle Field Energy
Equipped with Equation (
19) giving the geometry of the midsurface as a function of the base surface
\(\boldsymbol {r}_b\) and wrinkle field
\(a,\phi\), we can now write down an expression for the elastic energy of the wrinkled shell in terms of these kinematics. Note that, unlike in Section
3.4, where we were operating at the length scale of individual wrinkles, and could assume that slow variables are approximately constant, the elastic energy of the shell is a
global quantity, and we cannot simply eliminate terms depending on, e.g., the amplitude field derivative
\({ \mathrm{d}}a\), which, while they might be negligible locally, since
\(a\) is slow, might integrate up into a non-negligible energy contribution on the scale of the entire shell.
Deriving the elastic energy of the wrinkle field is, in principle, simply a matter of plugging in Equation (
19) into the Koiter energy Equation (
1) and simplifying by analyzing the scaling of each energy contribution and eliminating negligible terms. Here, we summarize the results of this (in practice, rather involved) procedure (see Appendix
D for the derivation).
We consider the stretching and bending terms in the energy separately.
Stretching Term. As discussed above, the expression in Equation (
11) cannot be used to measure the strain of the midsurface for the purpose of calculating elastic energy, since that formula neglected terms that are non-negligible on the scale of the whole shell. In Appendix
D, we derive the following energy expression, by coarse-graining and simplifying the first term in Equation (
1). We make use of our assumptions in Section
3.3 about fast and slow variables:
where the vector field parallel to the wrinkle crests
\(\boldsymbol {w}^{\perp }\) is defined as in Equation (
19), and
\(\kappa _{\perp } = { (\boldsymbol {w}^{\perp })^T{\boldsymbol {I\!I}}_b\boldsymbol {w}^{\perp } / \Vert \boldsymbol {w}^{\perp }\Vert ^2_{{\boldsymbol {I}}_b}}\) is the normal curvature of the base surface along the
\(\boldsymbol {w}^{\perp }\) direction.
Although this expression is rather involved, each term can be understood, in retrospect, in the context of the geometry of the fine-scale wrinkling:
•
In regions of pure tension, the base surface strain tensor is positive-definite. Since \({ \mathrm{d}}a^T{ \mathrm{d}}a\) and \(a^2{ \mathrm{d}}\phi ^T{ \mathrm{d}}\phi\) are also positive-semidefinite, any amount of wrinkling simply drives up the energy contribution \(W_s^1\); this term therefore inhibits wrinkling in regions of pure tension.
•
Both
\({ \mathrm{d}}a\) and
\({ \mathrm{d}}\phi\) play an interchangeable role in
\(W_s^1\). However as discussed in Section
3.3, we want wrinkle frequency, and
not wrinkle amplitude, to absorb compression strain.
\(W_s^4\) penalizes large variations in winkle amplitude, enforcing that the compression is absorbed by
\({ \mathrm{d}}\phi\), not
\({ \mathrm{d}}a\) in
\(W_s^1\). In other words,
\(W_s^4\) enforces that
\(\phi\) is the fast variable, and
\(a\) is slow.
•
In regions of mixed tension and compression, assuming that amplitude is constant (
\({ \mathrm{d}}a=0\)),
\(W_s^1\) is minimized by aligning the wrinkle direction
\({ \mathrm{d}}\phi\) with the principal compression direction. Moreover, we therefore recover the intuitive coupling between amplitude, frequency, and strain described in Equation (
8).
•
The
\(W_s^2\) term injects dependence on curvature into the determination of wrinkle amplitude and frequency: high-amplitude wrinkles whose peaks and valleys run along directions of high curvature are penalized. Wrinkles where the isolines of
\(\phi\) run along directions of low curvature do not suffer this penalty, even if the surface is highly curved in the wrinkle travel direction
\({ \mathrm{d}}\phi\). This behavior matches the expected effect of the
\(\boldsymbol {v}_2\) on wrinkle shape, as described in Section
3.4.
•
Finally, \(W_s^3\) penalizes large changes in amplitude along crests of the wrinkle waves. This matches intuition: amplitude is free to change from one wave to the next, but since wrinkle crests align with directions of tension in the shell, we do not expect variations in wrinkle amplitude along one wrinkle.
Bending Term. Bending of the wrinkled shell at two scales contributes to the total bending energy: (1) bending of the base surface itself, which contributes energy with formula directly analogous to Equation (
3); (2) bending at the fine scale, due to wrinkling. We estimate this latter term from Equation (
19) by assuming that the contribution to wrinkle curvature from variations in
\(\phi\) dominate any contributions from changes in
\(a\) or
\(\hat{\boldsymbol {n}}_b\). In other words, at the fine scale
\({\boldsymbol {I\!I}}_u \approx 0\) and
Coarse-graining this second contribution and adding it to the first yields an expression for bending energy,
To sum up, the total elastic energy, in terms of the base surface embedding
\(\boldsymbol {r}_b\) and the wrinkle field degrees of freedom
\(a\) and
\(\phi\), is
Notice that this energy depends only on the wrinkle frequency and direction (
\({ \mathrm{d}}\phi\)) and not directly on the phase itself (
\(\phi\)), as expected, since applying a global phase shift to
\(\phi\) changes only fast variables and should not change the coarse-grained energy of the full shell. We will exploit this invariance when we discretize Equation (
27) in Section
5.
3.6 Necessity of In-plane Wrinkle Correction
Given the complexity of the stretching energy
\(E_s\), one might look for further simplifications. One source of the complexity are the in-plane wrinkle correction terms in Equation (
19). Dropping one or both of these terms (and in doing so, modifying our assumptions about the shape of the wrinkles at the fine scale) significantly modifies the energy
\(E_s\). Without
\(\boldsymbol {v}_2\), there is no longer an asymmetry (from
\(W_s^4\)) between frequency induced by
\({ \mathrm{d}}\phi\) and by
\({ \mathrm{d}}a\); in other words, there is no longer enforcement of
\(a\) being slow and
\(\phi\) being fast. Dropping
\(\boldsymbol {v}_1\) significantly changes the curvature term
\(W_s^2\). Both modifications severely degrade the accuracy of wrinkles we recover using the numerical procedure we next describe in Section
4, suggesting that both in-plane correction terms, and all resulting terms in
\(E_s\), are essential to the wrinkle model. In Figure
4, we perform an ablation study on
\(\boldsymbol {v}_1\).
4 Solving for Static Wrinkled Shape
We now describe an algorithm for using the wrinkle field model of Section
3 to optimize for the static equilibrium shape of draped cloth, inflatable structures, and other wrinkled shells.
One could entertain jointly optimizing the wrinkle field elastic energy in Equation (
27) for both the base surface shape as well as the
\(a\) and
\(\phi\) fields. The challenge with this approach, though, is that our analysis in Section
3 assumed that the base surface was smooth, with curvature a
slow variable. Optimizing jointly for both the base surface and wrinkle fields without enforcing the slow-ness of
\(\boldsymbol {r}_b\) leads to spurious, aliased solutions similar to Figure
2. See Section
7 for more discussion of joint optimization. Here we instead propose a simpler scheme, where we first estimate the base surface shape, and then fix
\(\boldsymbol {r}_b\) and separately solve for the wrinkle field parameters
\(a,\phi\) on that base surface.
4.1 Computing the Base Surface
As argued in the introduction, a low-resolution FEM simulation of the shell is not a good choice for \(\boldsymbol {r}_b\): not only does the coarse simulation lack high-frequency wrinkles, it also already possesses incorrect aliased, low-frequency wrinkles, which our wrinkle field model is not equipped to correct.
For tension-dominated problems, optimizing \(\boldsymbol {r}_b\) using tension field theory is a better choice. A thin shell is tension-dominated if, at most points on the surface, the shell is either in pure tension, or in a mix of tension and compression (it is in these latter regions that wrinkles typically form). Examples of tension-dominated shells include garments hung or draped against gravity, chambers under internal pressure, and fabrics or films tugged by external loads or boundary constraints. Shells under primarily pure compression (such as cloth that is balled up on the floor, or axially crushed coke cans) are not tension-dominated, and out of scope for our approach.
Tension field theory exploits the fact that wrinkles play little role in force transmission, by formulating a simplified description of local stresses as having only tension components, directed along directions of positive principal stress [Mansfield
1989; Steigmann
1990; Pipkin
1986;,
1994]. The theory can be viewed in terms of a modified or
relaxed variant of the membrane energy density in Equation (
2) [Pipkin
1986;,
1994]; see Appendix
B for an overview.
TFT optimizes for the coarse envelope of the shell, ignoring local high-frequency wrinkling by allowing the shell to compress without buckling. The
TFT result is thus ideal as a base surface
\(\boldsymbol {r}_b\) for wrinkle augmentation, using the theory of wrinkle fields developed in Section
3. Since the
TFT solution expresses only low-frequency geometric features, it remains accurate even for very coarse discretizations of the domain
\(U\); moreover the modified stretching energy is
convex and efficient to minimize [Skouras et al.
2014]. Figure
1, left, shows a
TFT simulation of a dress draped on a mannequin. Notice the smooth, wrinkle-free shape and coarse tessellation. We present many more
TFT base meshes in Section
6.
Base Surface Bending Model. Tension field theory gives a convex replacement for stretching energy, when solving for the base surface shape
\(\boldsymbol {r}_b\). With an eye toward additional improvements in efficiency and robustness of the base mesh solve, for rest-flat shells, we recommend also replacing the elastic bending energy density (Equation (
3)) with Bergou et al. [
2006]’s Quadratic Bending model,
where
\(\Delta _u\) denotes the Laplace-Beltrami operator on
\({ U}\) with respect to the metric
\({\boldsymbol {I}}_u\), and
\(\alpha\) is the first Lamé parameter. We also adopt Wang et al. [
2015]’s correction terms to account for the bending energy at the free shell boundaries.
Advantages of quadratic bending over the full shell bending energy include:
•
\(W_b^{\textrm {qb}}\), being quadratic in the base surface embedding \(\boldsymbol {r}_b\), is convex, so that the total elastic energy of the base mesh (TFT+Quadratic Bending) is convex;
•
the energy is very easy to implement .
Quadratic Bending assumes that the shell is deforming isometrically; this assumption is violated in many of our examples, where the base surface compresses significantly. Nevertheless, we did not observe much change in the shape of the base mesh by substituting Quadratic Bending for Equation (
3). For the dress examples in Figures
15 and
17, the Hausdorff distance between the base surface computed using full bending, and Quadratic Bending, is 1% of the dress diameter.
4.2 Computing the Wrinkle Fields
Once we have found the base surface, we compute a wrinkle field over that surface by minimizing Equation (
27). Here, we describe a couple of additional simplifications and reformulations we recommend to simplify this task.
Approximation of \(\boldsymbol {w}\). Notice that in the
\(W_s^2\) term in the wrinkle field stretching energy, the
direction of
\(\boldsymbol {w}\) is used (both in computing
\(\kappa _{\perp }\) and in the formula for
\(W_s^2\) itself), but not its
magnitude. Moreover, as discussed in Section
3, the main unknown in solving for the wrinkle field is the tradeoff between amplitude and wrinkle frequency. Wrinkle direction is strongly encouraged to align with the principal compression direction of base surface strain, by the energy term
\(W_s^1\). We therefore approximate
\(\boldsymbol {w}\) as a constant (rather than a function of
\(d\phi\)) given by the solution to the generalized eigenvalue problem,
with most negative eigenvalue
\(\lambda\). In regions where neither eigenvalue is negative (i.e., in regions of pure tension), we simply ignore the
\(W_s^2\) term, under the assumption that
\(a\approx 0\) in those regions.
Solving for Frequency Instead of Phase. In our formulation in Section
3, we assume that
\(\phi\) is a periodic function. The need for periodicity is evident even in very simple wrinkling scenarios, such as the drape of a square piece of cloth over a sphere (see Figure
5): rotationally symmetric wrinkles appear around the circumference of the draped cloth, corresponding to a
\(\phi\), which continuously linearly increases as you circulate around the draped portion of the cloth (as shown in Figure
5, middle-right). Since Equation (
27) depends only on the phase field derivative
\({ \mathrm{d}}\phi\) and not on the phase itself, we eschew optimizing for
\(\phi\), and instead borrow from the surface parameterization and stripe pattern optimization [Knöppel et al.
2015] literature the idea of expressing the wrinkle field elastic energy in terms of the one-form
\(\omega ={ \mathrm{d}}\phi\). In other words, we solve
Here, the first constraint enforces that wrinkles cannot have negative amplitude, and the second ensures that the recovered
\(\omega\) can be written, at least locally, as the derivative of a phase field
\(\phi\), everywhere where wrinkles are visible (amplitude is positive). We provide more detail about how to discretize and solve this variational problem in the next section and in Appendix
E.
6 Evaluation and Discussion
Below, we consider the behavior of the
TFW pipeline on a wide range of test examples designed to investigate both fidelity to experimental results as well as comparison to results obtained by large degree-of-freedom, traditional shell simulators. For the latter, we utilize three representative simulators:
•
As a best-in-class academic library for shell modeling, we apply
ARC Sim [Narain et al.
2012;,
2013], a widely deployed dynamics cloth simulator. Critically for our comparison,
ARC Sim offers the option of adaptive remeshing, which allows traditional shell simulation to capture fine wrinkle details with lower degree-of-freedom meshes by only refining specific triangles. To apply
ARC Sim for solving statics, we apply critically damped time-steps to equilibria. In the following, for each ARCsim example, we will indicate when the adaptive remeshing option is applied or not.
•
As a high-performance commercial cloth simulator, we also include comparisons with
Marvelous Designer [
2020], a widely used industrial garment-design tool that deploys its own proprietary statics physics solver for predicting garment drape. In the following, we will denote this simulator as
MD.
•
Finally, to compare with a baseline, consistent shell model, we implement a thin shell statics simulator that solves for the St. Venant-Kirchhoff material model with constant-strain stretching elements and mid-edge bending (Morley) elements [Weischedel
2012; Chen et al.
2018; Grinspun et al.
2003]. In the following, we will denote this simulator as
StVK. We made a best effort to optimize this baseline code, while restricting computation to the CPU; 70% of each Newton iteration is consumed by our chosen third-party linear solver (SuiteSparse’s CHOLMOD [
2008]), which gives us confidence that our code is free of gross inefficiencies. See Appendix
F.1 for a detailed timing breakdown.
The full data set of meshes used in our evaluation is provided as supplemental material, and we will release the source code of both our TFW and StVK reference implementations.
6.1 Draping Behavior
We begin by analyzing the qualitative behavior of TFW on a series of real-world draping examples exhibiting complex wrinkling geometries and nontrivial wrinkle topology. Notice that unlike data-driven wrinkle-recovery methods, our method is purely model-driven. No user guidance nor extra data beyond material parameters and boundary conditions are required. For example, with this level of complexity, exact comparisons do not make sense (many of these drapes likely have multiple metastable states, even before taking differences in how each solver models physics and frictional contact into account). In later sections, we will perform exact comparisons on simpler model problems where experimental and/or analytic results are known; here, instead, we show that TFW results are comparable qualitatively to those generated by traditional solvers. To set the material parameters, we first choose one of the predefined fabrics given in ARCSim (Navy Sparkle Sweat), then derive approximate physical parameters from the provided bending and stretching stiffnesses. We get the following material parameters for TFW and StVK: density 200 kg/m\(^3\), 0.3 Poisson’s ratio, 0.1MPa Young’s modulus and thickness 1 mm. MD does not expose these same material parameters, so we instead manually select a material from MD’s predefined palette of material types that gives us closest-matching results to StVK/ARCSim.
Sphere Drape. We first drape a square cloth (1 m
\(\times\)1 m) over a sphere of radius
\(0.2\)m. In Figure
5, we demonstrate the resulting base surface
\(\boldsymbol {r}_b\), from the joint
TFT and Quadratic Bending modeling on a domain with
\(1.6\text{k}\) vertices, and the resulting
TFW-generated surface after we visualize the wrinkle field on the base surface. We also show results for
ARCSim (with adaptive remeshing) and
MD: for the former, the final adaptive mesh has
\(32\text{k}\) vertices. For
MD, we manually search for the coarsest mesh able to resolve the cloth’s wrinkles; in this case,
\(72\text{k}\) vertices. The resulting
TFW wrinkles are qualitatively similar in frequency and amplitude, especially compared to
MD, although, as discussed, it is hard to infer ground truth here, since we see broken symmetry in both
ARCSim and
MD results, where two sides of the front corner have differing shapes, suggesting that there are many metastable solutions. One noticeable difference is that
TFW does not “puff out” as much as the other two simulations; and the wrinkles do not collapse and flatten under their own weight in the manner that is seen in the
ARCSim and
MD results. See Section
7 for more discussion of these limitations.
Garments. We next consider garment drapes. We pose two dress patterns (from the Berkeley Garment Library) and a pair of pants on mannequins. Figures
15,
16, and
17 detail results and relevant mesh resolutions for all solvers. These examples all demonstrate complex geometry and topology; notice that our results recover wrinkle fields with widely varying frequency and direction, and that despite the coarse base mesh employed,
TFW generates results qualitatively close to the three traditional, high-degree-of-freedom cloth solvers. The last column in Figures
15,
16, and
17 present final results when employing
ARCSim with
adaptive remeshing enabled. Here these adapted-mesh examples give a sense as to why traditional simulations generally succeed in recovering wrinkle details only when the simulation mesh is at quite high resolution (over
\(40{ \text{k}}\) vertices were needed for these three garment examples). Our
TFW model generates comparable wrinkle patterns with just a few thousands vertices per example (
\(3.4{ \text{k}}\),
\({ 1.4}{ {k,}}\) and
\({ 4\text{k}}\) for the two dresses and pants, respectively).
6.2 Resolution Analysis
We consider the sensitivity of traditional shell simulators to their mesh resolution, and contrast with the
TFW pipeline’s low-resolution requirements for its base mesh. To do so, we study the asymmetric dress as well as a new example, a twisted cylinder (see Figure
21): here a cylindrical (but rest-flat) shell of radius 1m, height 5m, and thickness
\(0.1\)mm, clamped at the top and bottom boundaries, is twisted at the top boundary by
\(10^{\circ }\) while keeping the distance between the top and bottom boundaries constant. This example uses 0.44 Poisson’s ratio and 10MPa Young’s modulus. The cylinder example is ideally suited for a convergence analysis, as the number of wrinkles around the cylinder is objective, discrete, and easily counted. We can thus use the number of wrinkles as a proxy for how rapidly each simulation method converges under refinement.
We first test
TFW on irregular meshes for these examples with increasing resolutions. For the dress, we start from a base mesh with only
\(3{ 82}\) vertices and monotonically increase the mesh resolution. We observe that our model converges to a consistent shape at
\({ \approx }1.{ 4\text{k}}\) vertices (see Figure
20). Applying the same test on the twisted cylinder yields an even more impressive result, where a consistent shape emerges at
\({ \approx }180\) vertices (see Figure
21).
We next probe the behavior of the traditional solvers by performing the following experiments: (1) we run
StVK, for irregular meshes of increasing resolution; (2) we do the same for
ARCsim, with adaptive remeshing disabled to force use of a mesh with given resolution; and (3) we run
ARCSim with adaptive remeshing enabled. See Figures
19 and
21 for results. Clear aliasing of high frequencies are evident, as expected, at coarse resolutions. For the twisted cylinder, it is difficult to say how close
StVK and
ARCSim are to converging, as the wrinkle number keeps changing for them even for meshes with over
\(96{ \text{k}}\) vertices. Similarly, adaptive remeshing also has trouble determining a final, consistent state. Here, we show the result of adaptive meshing after waiting two days (8,000 simulation steps). This example illustrates that adaptive meshing is not a silver bullet for effectively resolving wrinkle features: adaptivity does not provide appreciably smaller meshes in examples like this when fine wrinkles cover a large portion of the shell surface . Moreover, this example illustrates how local refinement can introduce artifacts in the final shape: earlier decisions about where to refine biases how the shell later deforms; see the unequal wrinkle spacing in Figure
21, left column.
Unlike the cylinder example, a careful convergence analysis is not possible for the dress example, as we observe that for all methods, the same code and the same mesh with different initializations can converge to different solutions. We can determine that the traditional simulators all appear to roughly converge for this example with meshes in the range of about 20–\(40{ \text{k}}\) vertices for each solver. We also observe that ARCSim, both with and without remeshing, yields qualitatively different solutions for the dress example. Despite the lack of quantitative certainly, we can confidently conclude, however, that the resolution required to reproduce wrinkles with frequency and fidelity qualitatively equal to those predicted by our method generally requires approximately an order of magnitude higher resolution than TFW for all three simulators (ARCSim, StVK, and MD) for both the cylinder and dress examples.
6.3 Meshing Independence
We next probe mesh-dependence of
TFW by testing four differently generated simulation meshes for the same dress-drape example. We consider meshes generated by: (a) direct Delaunay triangulation (via the Triangle library [Shewchuk
1996]); (b) upsampling from a lower-resolution Delaunay mesh, where we use a modified Loop subdivision to keep vertices along seams of the garment stitch pattern unchanged; (c) downsampling from a finer Delaunay mesh, where we also keep the seam vertices unchanged; and (d) extracting a mesh from
ARCSim after allowing it to take one step with its adaptive remeshing enabled. We run our
TFW pipeline for each of the four simulation meshes. Figure
18 demonstrates that, despite these variations in triangulation, the final wrinkled shapes are consistent.
However, as the tension field theory provides no penalty on compression, a given amount of compression applied to region of a surface may not equidistribute within that region, so that compressive strain may end up concentrated in only a narrow strip of triangles. In practice, we do observe some inconsistency (
\({ \approx }15\%\)) in our model (see the third and fourth columns of Figure
21) for regular, structured meshes, due to this phenomenon. For example, while for the irregular Delaunay mesh (
\(1.3{ \text{k}}\) vertices) we get 46 waves, for the regular mesh generated by diagonalizing a regular
\(N \times K\) quad mesh, where
\(N\) refers to the number of uniform azimuthal samples, and
\(K\) the number of uniform axial samples, we get varying wave numbers: for the ones diagonalized to align with the twist direction, we have 39 and 38 waves, and for the ones with opposite diagonalization, this number is 40, where we tested with
\(N = 80, K= 12\) and
\(N = 120\),
\(K = 9\).
In turn, we observe that traditional solvers can also suffer from artifacts on regular meshes aligned unfavorably with the wrinkles. First consider the
StVK simulator. The last three columns in Figure
21 illustrate this effect, where we test the
StVK simulator with mesh resolutions ranging from
\(6{ \text{k}}\) vertices and then doubling resolution until
\(96{ \text{k}}\). The seventh column in Figure
21 shows the results for irregular Delaunay meshes, where the wrinkle frequency increases from 10 to 19. For the regular mesh diagonalized along the twist direction, the number of wrinkles oscillates (the eighth column in Figure
21), whereas for the meshes diagonalized in the opposite way, this number increases from 12 to 20 (the ninth column in Figure
21). For such problems, we observe that even
ARCSim has convergence issues, ultimately producing an irregular wrinkle pattern with
\(69{ \text{k}}\) vertices; see the first two columns in Figure
21.
6.4 Accuracy
To further investigate accuracy of the TFW model, we now consider examples where the wrinkling behavior is known either through analysis or experiment.
Stretched Sheets. In a pioneering experiment, Cerda and Mahadevan [
2003] studied wrinkling in a thin sheet whose left and right boundaries are clamped and then pulled apart. The sheet compresses in the perpendicular (vertical) direction due to Poisson’s ratio and horizontal wrinkles appear. They provide scaling laws for determining the wrinkle frequency and amplitude. A range of successive works have extended the detailed study of this problem analytically and numerically with varying elasticity models [Healey et al.
2013; Li and Healey
2016; Wang et al.
2018].
We simulate this model problem with a rectang ul ar sheet of size
\(0.25~{m} \times 0.1~{m}\), with thickness 0.1 mm, Poisson ratio
\(\nu = 0.5\) and Young’s modulus
\(Y = 1~{MPa}\).
TFW produces wrinkles with 5 wave periods and a peak amplitude
\(0.4{ 2 }{mm}\) on a base mesh of 522 vertices. These values are within
\({ 20}\%\) of the results determined by Wang et al. [
2018] (
\(0.35~{mm}\) for peak amplitude). In comparison,
ARC Sim with adaptive remeshing enabled, generates a mesh of
\(13{ \text{k}}\) vertices, producing 5 wrinkles and peak amplitude of
\(0.34~{mm}\). See Figure
6 for visualization of these results.
Despite the seeming simplicity of this example set-up, traditional simulation methods struggle to correctly predict the wrinkling behavior here and so it provides a simple “unit-test” for accuracy.
StVK can produce wrinkles, but success is sensitive to resolution. We test
StVK on a sequence of Delaunay meshes of the rectangle, doubling the number of vertices each time. Wrinkles first appear at
\(32{ \text{k}}\) vertices, but the predicted pattern still does not converge to a consistent result, even as we extend
StVK to a
\(260{ \text{k}}\)-vertex mesh. For this highest-resolution mesh
StVK generated a solution with three wave periods and peak amplitude
\(0.33~{mm}\) (Figures
7 and
6(c)). Given that the amplitude of the wrinkles is quite small compared to the dimension of the overall structure, membrane locking [Chapelle and Bathe
2011] is likely responsible for artificially stiffening the material, especially on “coarse” meshes.
We also use this model problem to probe the scaling law proposed by Vandeparre et al. [
2011], and suggested by Zuenko et al. [
2019] for use in cases where a wrinkling shell is not bonded to a volumetric substrate. As shown in Figure
8, although the Vandeparre et al. scaling law is suitable for predicting frequency cascades in wrinkles that propagate inward from clamped boundaries, it is not suitable for predicting more general wrinkling patterns, even in simple cases like the stretched sheet experiment.
Sheared Rectangles. Wong and Pellegrino [
2006] study the wrinkle profile of a sheared rectangle whose top and bottom boundaries are clamped and sheared in the horizontal direction while its left and right boundaries are left free. We reproduce their experimental set-up in simulation, where
TFW generates
\(2{ 5}\) wrinkles with
\(1{ \text{k}}\) vertices . As in the previous experiments, we search for the minimum-resolution of the simulation for which
ARCSim and
StVK does not exhibit significantly degraded wrinkling; under this methodology
ARCSim gives 26 wrinkles using an
\(18{ \text{k}}\)-vertex mesh, and
StV K produces 13 wrinkles on a
\(20{ \text{k}}\)-vertex mesh. Wong and Pellegrino report 19 wrinkles in the actual experiment. Visually, as presented in Figure
9,
TFW shows consistency with the real world example, where both the simulated wavelength and wrinkle direction are well-aligned with the experimental result. Finally, notice from the experimental photograph that our assumption of a single dominant wavelength is valid over most of the wrinkled surface, and that our model recovers these dominant wrinkles; however there is also a thin boundary layer near the clamped edges of the sheet where a superimposed second frequency of wrinkles can be seen. Our model cannot currently resolve these secondary wrinkles; see Section
7 for discussion of how our model might be extended to the case of multiple superimposed wrinkles.
For this problem, we also compute the wrinkles using the scaling law proposed by Vandeparre et al. [
2011], which is suggested by Zuenko et al. [
2019] as an extension of their method for shells with no substrate. Similar to the stretched sheet experiment, we observe unnatural behavior near the boundaries (see Figure
10).
Inflated Structures. Inflatable structures exhibit a wide range of complex wrinkling behaviors that have been modeled with direct application of tension-field simulations [Skouras et al.
2014]. Here, we consider
TFW’s behavior on a range of inflated examples by augmenting our
TFT model with Skouras et al.’s [
2014] pressure force. In each of the following three examples, we inflate a balloon design formed by sewing together two copies (panels) of a planar domain along their boundaries: an annulus, disk, and rectangle.
Sewing two annuli (Poisson ’s ratio
\(\nu = 0.44\), Young’s modulus
\(Y = 10{MPa}\)) together (inner radius 0.04 m and outer radius 0.1 m) yields a torus. We observe fine wrinkling around the outer equator of the torus when simulating
TFW with a
\(2{ \text{k}}\)-vertex base mesh. We perform the same experiment with
StVK, observing that wrinkles are not fully resolved until we reach a mesh of
\(40{ \text{k}}\) vertices (Figure
11).
Two disks (radius 0.1 m) sewn along their boundary yields the classic Mylar balloon, with wrinkles around the equator. Here, we use the same material parameters as in the previous example. Interestingly, for this example, inspecting a real-world balloon reveals features at two scales: a small number of coarse
creases appear equally spaced around the equator, with fine
wrinkles in between. Both features can also be seen in the
StVK simulation of the Mylar balloon, and in previous simulations of this problem using adaptive subdivision finite elements [Vetter et al.
2014]. Here, we find that
StVK requires a simulation mesh of at least
\(40{ \text{k}}\) vertices to resolve these features.
TFW also produces a result with both scales of features, despite its wrinkling model assuming only a single wrinkle frequency (Figure
11). This behavior is surprising at first, until we observe that the creases already begin in the
TFT base mesh. The
TFW wrinkle model then appropriately augments these creases with the fine wrinkles. We are currently uncertain when and why these sharp creases appear in the base mesh, but do verify that this is not an artifact due to the choice of our bending model: these sharp creases appear even if there is zero bending energy (Figure
12). We do observe that resolving the sharp creases requires a relatively high base mesh resolution relative to correctly predicting the compression field and fine wrinkling; in this case, we get sharp creases if our base mesh has at least
\({ 5\text{k}}\) vertices. There has been relatively little work in the physics literature studying
TFT in this regime; better understanding of creasing behavior in
TFT base meshes and likewise its corresponding implications for
TFW wrinkling remains promising future work .
Two rectangular patches (width 1.4 m, height 0.74 m), with thickness 1 mm, Poisson ’s ratio 0.3 and Young’s modulus
\(0.1~{MPa}\), when inflated yield the classic “teabag” shape. Understanding the coarse shape and wrinkling of this teabag is a classical problem in mathematics [Paulsen
1994; Pak and Schlenker
2010].
TFW with a
\(1{ \text{k}}\)-vertex mesh predicts fine wrinkles around the boundary of the teabag, but here we do not additionally recover the coarse creases evident in a
\(30{ \text{k}}\) StVK simulation (Figure
13). Again, as in the “Mylar balloon” discussion above, this behavior is closely related to how well the base mesh resolves creasing. Here, we only start to see creases in the base
TFT mesh at finer resolutions (
\({ \approx }30{ \text{k}}\) vertices).
Last, we simulate wrinkles on the Teddy bear example from Skouras et al. [
2014]. This bear has more complex inflated geometry —it is sewn from 17 planar patches.
TFW generates wrinkles in a
\(2{ \text{k}}\)-vertex base mesh that are qualitatively similar to those that appear in a
StVK simulation starting at around
\(98{ \text{k}}\) vertices (Figure
14).
6.5 Performance and Numerical Convergence
In this work, we have focused on accurately capturing the wrinkling features of thin shell elastica with as few computational degrees of freedom as possible. In so doing, we have derived the
TFW model, which successfully obtains fine wrinkling behavior over a wide range of examples, with generally an order-of-magnitude less degrees-of-freedom than standard shell methods; our method generally requires an order of magnitude less computation time as well. We summarize the resolution and timing of our experiments in Table
1. We ran our experiments on a desktop with a 8-core Intel Core i9-9900K CPU, clocked at 3.6 GHz and 128 GB of memory.
Resolution Comparisons. We compare TFW, StVK, and ARCSim in terms of the lowest-resolution mesh required to resolve the wrinkles without significant degradation. For TFW and StVK, we begin with a lowest-resolution Delaunay mesh, and solve for the static wrinkled shape; we double the resolution of the mesh and repeat the experiment until the wrinkle pattern converges to a consistent shape, or until the simulation takes more than a week to terminate (in which case, we halt the experiment). The resolution in the table is the lowest at which the result is the consistent wrinkled shape. We indicate with a “\(-\)” superscript the simulations where the coarsest-resolution simulation is already consistent (so that potentially even lower-resolution consistent simulations are possible) and with a “\(+\)” superscript those simulations that became too computationally expensive before yielding consistent results.
For
ARCSim, we enable adaptive remeshing and list the final mesh resolution in Table
1.
ARCSim requires specification of additional parameters, including most notably a minimum triangle size, which significantly affects the quality of the solved static shape. We set frame time to
\(0.04~{s}\), frame steps to 8, and end time to
\(40~{s}\); for the minimum triangle size, we try
\(0.01~{m}\), then
\(0.005~{m}\) and finally
\(0.001~{m}\), accepting the first result in which the wrinkles are not aliased. Note that we do not report
ARCSim results for the inflated structures, since
ARCSim does not implement a pressure force. For the other examples, we disable the
ARCSim “popfilter” module as well as the “collision” module, for examples without collisions.
Timing Comparisons. Computation of the TFW base mesh is now reduced via our choice of TFT and quadratic bending to an entirely convex problem on a coarse mesh. Similarly, computation of the wrinkle field is then likewise a small, sparse optimization of our discretized wrinkle energy subject to sparse curl-constraints and simple bound constraints on the amplitude degrees of freedom. In our experiment, the reduction in mesh resolution directly translates into reduction in computational cost, when comparing TFW to traditional solvers. That said, apples-to-apples comparisons are not straightforward: unlike for the resolution experiments above, timing comparisons depend significantly on the low-level implementation details of both our method and the baselines. Moreover, it is not clear how to determine a termination condition that is consistent across all methods: gradients with respect to vertex positions, and with respect to wrinkle field variables \(a\) and \(\omega\), have different units and cannot be compared.
Despite the above difficulties, we provide some timing data in Table
1. For each experiment that does not involve collision response,
3 we run
TFW and
StVK for 1,000 SQP iterations, or until the residual infinity norm is below
\(10^{-6}\), whichever comes first. For both methods, 1,000 iterations is far more than necessary to reach a visually stable static shape. We visually inspect the intermediate configurations and select the earliest iteration where the solution matches the visually stable shape; the wall-clock time of this iteration is listed as the
stable time in Table
1. We use the
TFT base mesh as the initial guess for both
TFW and
StVK (and the timings in the table do not include this preprocessing step); the time needed to compute the initial guess is negligible compared to the subsequent solve times. See Appendix
F.1 for timing numbers.
Although inherently subjective, this methodology allows us to give some sense of the relative performance of
TFW versus baselines, and we observe that the manually selected visually stable frame matches a “dogleg” in each example’s stationarity residual plots. See Appendices
F.2 and
F.3 for additional data and residual plots for all examples listed in the table. We observe that
TFW offers a speedup ranging from 1.28
\(\times\) (for the torus) to 345.1
\(\times\) (for the stretched sheet experiment) compared to
StVK. For all the experiments,
TFW succeeds in reaching a visually stable wrinkled shape within one minute.
Since commerical shell solvers like ABAQUS emphasize accuracy and generality over performance, and since we are not aware of any established computer graphics software for shell statics, we used our own implementation of Morley shell elements (based on the implementation hints provided by Grinspun et al. [
2003] and Weischedel [
2012]; see Appendix
A) as the
StVK baseline. We made best-effort optimizations to improve performance of both the
TFW and
StVK algorithms; in both cases the majority of the time spent each iteration is in the third-party solver (NASOQ [Cheshmi et al.
2020]) in the case of
TFW, and SuiteSparse’s parallel implementation of supernodal sparse Cholesky decomposition [Chen et al.
2008] in the case of
StVK). See Appendix
F.1 for more information including data about the timing breakdown within each optimization iteration.
Finally, in Figure
22, we visualize the progress of the
TFW and
StVK solvers on a wall-clock time axis, to give an equal-effort comparison of the two methods. On the timeline (which is in log scale), we indicate the range of times during which each simulation has not yet reached a visually stable state in red. The visually stable time (as listed in Table
1) corresponds to the transition on the timeline from red to blue. In cases where we terminate a simulation early, due to having reached very low stationarity residual (
\(10^{-6}\)), the termination time corresponds to the transition from blue to green. We show representative stills of each simulation; each still was sampled at the wall clock time of its left edge. Please see Appendix
F.3 for raw data and discussion of the blue-to-green transition, and the supplemental material for videos showing
\(a, \omega\) (for
TFW) and vertex displacement (for
StVK) versus wall clock time.
7 Conclusion, Limitations, and Future Work
We have introduced \(\emph {{ TFW}}\), a new model and algorithm for high-fidelity modeling of wrinkling thin shells suitable for low-resolution computational meshes. The key insight is that by decoupling the wrinkled shape into slow and fast variables, and deriving an approximate elastic energy in terms of the slow amplitude and frequency variables, high-resolution, physically principled detail can be added to a wrinkle-free coarse mesh without aliasing. We have demonstrated \(\emph {{ TFW}}\) ’s ability to generate realistic and often predictive results across a wide range of challenging examples with an order-of-magnitude less degree of freedoms and speedups of between 1.28\(\times\) and 345.1\(\times\) compared to traditional finite elements.
Although our solver implementation in Section
5 serves as proof of concept for applying wrinkle fields as a new approach to static simulation of fine wrinkling, many avenues of future work remain before a wrinkle-field approach is industry-ready as a practical replacement for the current, triangle-element-based approach:
Performance. This article largely focused on foundational theory, rather than low-level performance optimization (nevertheless, in the experiments of Section
6.5, we were able to achieve significantly faster performance with
TFW compared to baseline
StVK, due to the vastly coarser mesh needed by
TFW). To compete with commercial GPU-based cloth solvers,
TFW would need additional performance improvements. The performance bottleneck for
TFW (see Appendix
F.1 for a breakdown) is the SQP solve for amplitude and frequency (Section
5.2); at a mininum, a high-performance implementation of
TFW would need to use a parallelized QP solver on the GPU instead of the CPU-based NASOQ library. Other potential optimizations include starting from a better initial guess for amplitude and phase (based on additional analysis of the physics of wrinkling, or provided by a data-driven approach), simplifying the discretization of the reduced-order elastic energy (for example, by replacing three-point quadrature of the integrals in Equation (
30) with simpler expression derived using Discrete Exterior Calculus), or replacing our SQP strategy for minimizing elastic energy with a different optimization strategy.
Two-way Base Surface-Wrinkle Field Coupling. We derived an approximated elastic energy
\(E^{\mathrm{wf}}\) (Equation (
27)) that involves both a base surface
\(\boldsymbol {r}_b\) and wrinkle field variables
\(a, \omega\). In this article, we solve first for the base surface using tension field theory (
TFT), and then fix this surface and optimize independently for the wrinkle variables. A natural question is whether the
TFT base mesh is truly optimal in terms of minimizing
\(E^{\mathrm{wf}}\). As we can see from Figure
5, in some cases it is clear that the
TFT solution does not “puff out” enough: the wrinkling of the draped cloth corregated the surface, which in turn penalizes bending of the cloth perpendicular to the wrinkles, near where the cloth breaks contact with the sphere, so that the draped cloth has a more conical than cylindrical coarse shape. As discussed earlier, jointly optimizing
\(E^{\mathrm{wf}}\) for both
\(\boldsymbol {r}_b\) and
\(a,\omega\) does not work, since
\(E^{\mathrm{wf}}\) assumes that the base surface strain and curvature are slow variables, which is no longer necessarily true if
\(\boldsymbol {r}_b\) is allowed to vary arbitrarily. One idea might be to parameterize
\(\boldsymbol {r}_b\) using differential coordinates, a low-resolution subdivision surface, or some other space of deformations that ensures the base surface strain and curvatures stay slow. Another potential approach to two-way coupling would be to alternate solving for
\(\boldsymbol {r}_b\) and the wrinkle field, where an “effective” rest curvature is computed for
\(\boldsymbol {r}_b\) based on the current wrinkle field at each iteration.
Other Base Surface Limitations. Even when using TFT to compute the base surface, sometimes the base surface mesh can have large variations in strain, or defects such as inverted or collapsed triangles, which can cause TFW to struggle. For example, the relatively slow performance of TFW on the inflated torus example is due to high noise in the amount of compression in the corresponding base mesh. The root cause of this noise is that TFT has multiple possible solutions in regions of compression. For example, if a square piece of cloth is compressed in the horizontal direction, then both the deformation where the entire cloth has equal compression strain (desirable), and the deformation where only a thin vertical column of the cloth compresses while the rest of the cloth translates isometrically (undesirable), are minimizers of the TFT energy. The quality of the TFT base surface might be improved by adding some regularization terms to the TFT energy, or by incorporating two-way coupling of the base surface with the wrinkle patterns, as discussed above.
Phase Ambiguity. Our approach computes wrinkle amplitude and frequency, and then solves for phase
\(\phi\) as a post-process, with
\(d\phi = \omega\). This recovery procedure can determine phase only up to a global phase shift,
\(\phi \rightarrow \phi + k\); this shift cannot be determined from the wrinkle field. For statics problems the shift is unimportant, as it affects the precise wrinkled geometry, but not coarse-scale features of the wrinkled surface such as wrinkle orientation, amplitude, and frequency. The phase shift ambiguity does mean that the wrinkled surface
\(\boldsymbol {r}_w\) cannot be used to measure convergence of the wrinkle field optimizations, in experiments such as we did in Section
6.5. Any use of wrinkle fields for dynamics would also need to account for this phase ambiguity across time, as otherwise, sudden changes in the global phase shift would be perceived as “popping” in animations.
Dynamics. This article considers only shell statics. Extending TFW to dynamics is a natural follow-up direction; the simplest approach would be to animate the base mesh and then add wrinkles quasi-statically. The main new feature needed for such quasi-static simulation is a method for solving for a temporally coherent global phase shift in \(\phi\) at each time step (see previous point) so that wrinkles appear to change smoothly over time. More interesting, and more challenging, would be to equip the wrinkles themselves with inertia, and implement two-way coupling of the wrinkles and base mesh (see above).
Collisions. We currently consider only collisions of the TFT base mesh against the environment. There are many interesting directions for future work improving collision handling of wrinkled surfaces, such as taking into account collisions when solving for the wrinkle field (so that wrinkles in contact with other objects have flattened shape), detecting and resolving self-contact of the wrinkled surface (where \(\boldsymbol {r}_w\) self-collides but \(\boldsymbol {r}_b\) does not), anisotropic friction models that account for the wrinkling direction and amplitude when a wrinkled surface slides against another object, and so on. Most of these future directions will first require research into handling two-way coupling of the base surface and the wrinkle field (see above).
More General Constitutive Models. Real-world textiles are woven or knitted, and obey macroscopic constitutive laws that are far more complex than the
StVK isotropic material we assume in our derivations. Theoretically, there is no obstruction to extending our derivation in Section
3 to other constitutive laws. For orthotropic or anisotropic linear materials, the St. Venant-Kirchhoff material norm
\(\Vert \cdot \Vert _{\mathrm{SV}}\) would need to be replaced by a different quadratic norm, new expressions for the in-plane correction terms (Equation (
16); see also Appendix
C and Equation (
36)) would need to be derived for the new norm, and the in-plane energy term (Equation (
22)) updated accordingly. In our derivation, we exploited symmetries of the STVK material norm to simplify these calculations, and for other constitutive models, the corresponding equations may be less pleasant. Nonlinear materials would require more extensive rederivation, while still following the roadmap we sketch in Section
3. However, we suspect general nonlinear constitutive models would produce results that differ little from those of their linearizations, since
all hyperelastic material models reduce to an (isotropic or anisotropic) linear material in the small-strain limit, and note that in regions of wrinkling, the strain in the compression direction is typically small, since most of it has been relieved by buckling.
More General Wrinkling Model. Several of our modeling decisions in Section
3 might be revisited and extended in future work: for instance, we assume a single predominant wrinkling frequency at each point on the shell, and while this assumption appears to hold in physical experiments, we do know that near boundary layers, real-world shells often exhibit a second, finer frequency of wrinkling (see the sheared rectangle experiment in Figure
9 for instance). One could also explore more general expressions for the wrinkling waveform, for instance by adding additional frequencies to
\(f_t\), or changing the normal displacement from a cosine wave to other shapes such as
\(\operatorname{sinc}\) waves [Evgeny and Harders
2019].
Injecting Noise and Asymmetry. In some examples, such as the sphere drape (Figure
5) and the inflated structures, the
TFW wrinkles can look “too symmetric” compared to wrinkles in real materials, where imperfections and defects break symmetry. Real wrinkles often also collapse under gravity and fold on themselves (noticeable for the sphere drape, in particular), phenomena we do not attempt to model in this article. In future work, post-processing could be done on the wrinkle field to emulate these effects, while maintaining the correct wrinkle frequency and amplitude.