WO2018213607A1 - Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact - Google Patents

Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact Download PDF

Info

Publication number
WO2018213607A1
WO2018213607A1 PCT/US2018/033226 US2018033226W WO2018213607A1 WO 2018213607 A1 WO2018213607 A1 WO 2018213607A1 US 2018033226 W US2018033226 W US 2018033226W WO 2018213607 A1 WO2018213607 A1 WO 2018213607A1
Authority
WO
WIPO (PCT)
Prior art keywords
codimensional
particles
grid
elastic
deformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2018/033226
Other languages
French (fr)
Inventor
Joseph M. TERAN
Chenfanfu JIANG
Theodore F. GAST
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of California Berkeley
University of California San Diego UCSD
Original Assignee
University of California Berkeley
University of California San Diego UCSD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of California Berkeley, University of California San Diego UCSD filed Critical University of California Berkeley
Priority to US16/610,315 priority Critical patent/US11145099B2/en
Publication of WO2018213607A1 publication Critical patent/WO2018213607A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/20Three-dimensional [3D] animation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/12Cloth
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Definitions

  • the present disclosure relates to a physically based animation, and more particularly to a computerized simulation of 3 -dimensional (3D) objects having elastic surfaces or curves.
  • Physically based animation is used to simulate physically plausible behaviors of objects.
  • the techniques of physically based animation are particularly concerned with physical plausibility, numerical stability, and visual appeal of the objects being simulated or animated.
  • the techniques of physically based animation include simulations of, e.g., rigid bodies (e.g., metal objects, rocks), soft bodies (e.g., muscle, fat, hair, vegetation, clothing, fabric), fluid (e.g., water), particles (e.g., smoke, fire, moving water, cloud, snow, dust, stars), as well simulations of complex behaviors of various objects (e.g., humans, animals, plants, clothing, etc.) and interactions between objects.
  • FIG. 1 illustrates a simulation of a sand column being coupled with a piece of cloth.
  • the left figure illustrates three pieces of cloth with around 1.4 million (M) triangles pushed back and forth by a sphere, revealing intricate folds and contact.
  • the right figure illustrates 7M (millions) colored sand grains coupled with elastic cloth, exhibiting beautiful flow patterns.
  • FIG. 2 illustrates a simulation of a shag carpet with 1M particles that is pushed by a sphere and folds back, showing detailed folds.
  • FIG. 3 illustrates a simulation of a piece of cloth interacting with a ball, where the piece of cloth with 2M triangles falls onto a rotating sphere, and low friction on the ground and high friction on the sphere causes detailed wrinkles and folds.
  • FIG. 4 illustrates a simulation of a piece of cloth being twisted, where the piece of cloth with 1.14M triangles is twisted by a cylinder.
  • the simulation may run at 1.3 minutes per frame on average.
  • FIG. 5 illustrates a simulation of twisting a knitted cloth with a cylinder.
  • the method handles detailed contacts between individual yarn threads under tension as well as macroscopic collision between yarns as demonstrated by this knitted cloth being twisted. Complex per-yarn motion is well resolved through elastoplasticity.
  • FIG. 6 illustrates a simulation of tearing apart a fibrous material.
  • the method may capture many intricate features of tearing apart the fibrous material comprising, e.g., 2.15M particles.
  • FIG. 7 illustrates a simulation of dropping a knit sweater, where the sweater is dropped onto a rising sphere, stretched and then folded on the ground. The simulation may take 13 seconds per frame.
  • FIG. 8 illustrates a simulation of a curve in a 2-dimensional (2D) space.
  • the left figure shows F being decomposed into F p , a forgotten sliding and separation, and F E the remembered stretching, collision and shearing.
  • the right figure shows that F E deforms Di and D 2 into di and d 2 .
  • FIG. 9 illustrates a simulation of a two-way coupling between 7M sand grains and a piece of elastic cloth.
  • FIG. 10 illustrates effects of different choices of deformation gradient discretization as well as the effect of plasticity in a fiber piling example, (a) shows MPM deformation gradient; (b) shows the codimensional Lagrangian deformation gradient; (c) shows the disclosed model without plasticity; (d) shows the disclosed full elastoplasticity model.
  • FIG. 11 illustrates a simulation of particles of different classifications, including Material Point Method (MPM) particles, Lagrangian mesh vertex particles, and Lagrangian mesh element quadrature particles.
  • MPM Material Point Method
  • FIG. 12 illustrates effects of increasing friction in a 2-dimensional piling example. Friction increases from left to right.
  • FIG. 13 illustrates a simulation of a hair tube with 2655 strands that is dropped onto another tube of hairs, showing detailed dynamics due to fiictional contact between hairs.
  • the simulation may run at, e.g., 11 seconds per frame.
  • FIG. 14 illustrates a simulation of a knitted curtain being pushed by a sphere and folding back.
  • FIG. 15 illustrates a simulation of stretching, twisting and releasing a knitted cloth from different directions, which demonstrates handling yarn level anisotropic characteristics.
  • FIG. 16 illustrates a simulation of a return mapping for a 2D curve.
  • FIG. 17 illustrates a simulation of a character wearing a knitted poncho performing a jumping motion.
  • the fiber elastoplasticity model captures detailed frictional contact behavior at the yarn level with multiple fiber threads per yarn.
  • the simulation may run at, e.g., 1 minute per frame on average.
  • FIG. 18 illustrates a simulation of a two-way coupling of solids and fluids, as demonstrated with slime and a cloth bear.
  • FIG. 19 illustrates a simulation of a cloth curtain being hit by a ball and coupling with sand and a simulation of a cloth curtain being hit by a ball and coupling with goo.
  • FIG. 20 is a high-level block diagram illustrating an example of a hardware architecture of a computing device that may perform various processes as disclosed.
  • computerized simulation method of elastic surface or curve involves a hybrid approach combining a Lagrangian approach and an Eulerian approach.
  • the computerized simulation method can be used for applications such as computer-generated imagery for rendering 3 -dimensional (3D) objects in graphics, animations, videos, movies, video games, etc.
  • an elastic surface or curve simulation method involves, e.g., a Lagrangian approach and includes three components: time integration, collision detection and collision response.
  • the Lagrangian approach allows for tracking of the codimensional manifold. However, collision may be detected and resolved separately.
  • an elastic surface or curve simulation method involves, e.g., an Eulerian method, for which the collision processing is automatic.
  • the Eulerian method may be effective for volumetric objects. However, advection of a codimensional manifold may be relatively inaccurate.
  • codimensional refers to objects of submanifolds (e.g., less dimensions) in a space of manifolds (e.g., more dimensions). For example, a hair line (1 dimension) or a piece of paper (2 dimensions) can be a codimensional object simulated and visualized in a 3-dimentionsal space.
  • a hybrid approach combining a Lagrangian approach and an Eulerian approach, defines the collision response with an elastoplastic constitutive model.
  • an anisotropic hyperelastic constitutive model separately characterizes the collision response to manifold strain as well as shearing and compression in the directions orthogonal to the manifold.
  • the model is discretized with a Material Point Method (MPM) and a codimensional Lagrangian/Eulerian update of deformation gradient.
  • MPM Material Point Method
  • the hybrid approach can simulate a large number of collisions in a short time frame. For example, in some embodiments, collision intensive scenarios with millions of degrees of freedom may take a few minutes per frame (or less). In some embodiments, examples of collision intensive scenarios with up to one million degrees of freedom may run in less than thirty seconds per frame (or less).
  • Computer graphics may involve physically based animation of elastic surfaces and curves.
  • elastic surfaces and curves can include, e.g., layers of clothing in a virtual garment, individual strands in a head of hair, or yarns in a knit garment.
  • Realistic simulation of collision and contact phenomena of these materials allows for richness and realism provided by physics based simulation.
  • the thin nature of these materials may make collision detection and resolution challenging. The time-consuming process of collision detection and resolution of these materials can be the bottleneck in modern visual effects.
  • an approach for codimensional elasticity that uses a hybrid Lagrangian/Eulerian Material Point Method (MPM) discretization is disclosed for modeling frictional contact of these granular materials with a continuum view.
  • MPM Lagrangian/Eulerian Material Point Method
  • the elastoplastic description of the disclosed approach characterizes collision and/or contact response in the continuum and does not necessarily include separate post-processing (although post-processing is also feasible).
  • codimensional elastic objects are naturally represented with a Lagrangian mesh.
  • Lagrangian mesh model individual particles are tracked and mesh polygons or segments are used to approximate the spatial derivatives of the material deformation mapping (also referred to as the deformation gradient).
  • the mechanics of elasticity are naturally discretized with this Lagrangian view.
  • additional modeling may be used to model the effects of self and external contact since these phenomena may cause interactions between distant regions in the mesh. For example, mesh facets such as points and triangles or segment pairs may not pass through one another over a time step.
  • These constraints may be satisfied by some means external to the elasticity modeling. This can be done in number of ways including, e.g., repulsion penalties, impulsive change in momenta, and/or linear complimentary formulations of the constrained dynamics.
  • Eulerian methods in an Eulerian view, discrete samples of the solution are computed on a stationary background grid as material advects through the domain. While Lagrangian methods may involve two different components of the computation procedure: elasticity modeling and collision and/or contact resolution, Eulerian methods typically do not. The constitutive behavior of contact is expressed as that of the material itself. For example, for free-surface incompressible flow, no self-collision model is imposed beyond the velocity divergence condition specified to enforce incompressibility. In some embodiments, Eulerian methods may be used for collision and contact treatment for elastic materials. For elastic objects, accurate treatment of advection may be used to preserve an accurate rest state of the material, e.g. treatment for volumetric objects. However, Eulerian methods may face challenges for codimensional elasticity.
  • the disclosed hybrid approach combines the benefits of the Lagrangian and Eulerian approaches.
  • Particle-In-Cell (PIC) approaches like FLIP and MPM may combine a Lagrangian form of advection with a regular grid momentum update.
  • contact modeling may be simplified with Lagrangian methods, or the advection accuracy may be improved with Eulenan methods.
  • FLIP and Eulerian incompressibility may be used to efficiently model self-collision for hair.
  • Lagrangian hair velocities may be smoothed on an Eulerian grid.
  • a hybrid approach may define interaction penalties and constraints for Lagrangian objects after mapping mass, momentum and density to an Eulerian grid.
  • MPM has some similarities to this approach and may allow for the simulation of a wide range of elastoplastic materials in contact without a separate model for collision.
  • volumetric hyperelastic objects in contact with MPM may be simulated.
  • Frictional contact for sand, for example, may be modeled with a hybrid discretization of an appropriate plastic flow.
  • a hybrid approach may combine Lagrangian and Eulerian MPM methods, for modeling contact and collision via elastoplasticity of granular materials, and may be used to model volumetric objects.
  • MPM may update the deformation gradient on each particle independently with an Eulerian view.
  • this may lead to numerical plasticity and failure. While these phenomena may useful for simulating elastoplasticity with failure, it is desirable to avoid these phenomena for simulating hyperelastic objects.
  • the disclosed hybrid approach tracks the deformation of codimensional elastic objects in a Lagrangian way.
  • some approaches allowing for self-collision with volumetric objects may not be suitable for modeling codimensional objects.
  • the Lagrangian update of deformation may track components in the manifold, but may not capture deformation in the orthogonal directions. It may be the elastic response to deformation in these directions that allows for frictional contact with volumetric objects in MPM simulations.
  • the disclosed hybrid approach remedies the issue by updating the orthogonal components of the deformation gradient, e.g., in a standard MPM way.
  • the disclosed hybrid approach remedies this using a plastic flow that enforces a Coulomb friction inequality between shear and normal stresses in the directions orthogonal to the frictional surface or curve.
  • the disclosed approach prevents plasticity in the codimensional manifold, which may be purely elastic.
  • the disclosed approach defines the elasticity in an anisotropic way so that the response in the surface or curve cleanly relates to the response in the orthogonal directions.
  • the disclosed approach is computationally efficient, at least partially due to the simplicity of handling contact and collision through the constitutive modeling. Furthermore, the disclosed approach inherently and naturally allows for coupling with multiple materials. For example, the disclosed approach can simulate a range of coupled elastic surfaces and curves, fluids and granular materials with, e.g., millions of degrees of freedom in, e.g., a few minutes per frame. The disclosed approach may involve both implicit and explicit versions of the grid based momentum update in MPM. For explicit time stepping, the disclosed approach uses a damping model that may not penalize rigid motions and may not impact the time step restriction.
  • the disclosed approach use elasticity models that cleanly relate the elastic response in the surface or curve to the response in the orthogonal directions.
  • Anisotropic plasticity models are used to characterize frictional contact with elastic surfaces and curves.
  • a return mapping procedure is used to temporally discretize the plastic flow.
  • a hybrid version of Lagrangian and Eulerian MPM discretization is used for updating the deformation gradient.
  • the disclose approach involves an explicit damping model that may not penalize rigid modes.
  • clothing simulation may use dynamically defined stiff springs that prevent cloth-cloth penetration and apply an implicit integration scheme for efficiency.
  • a semi-implicit treatment may be used to efficiently handle buckling instabilities. Collisions for point/triangle and edge/edge pairs in the mesh may be processed via impulsive response.
  • Asynchronous variational integration may be combined with kinetic data structures. Collision resolution may be processed with barrier potentials which efficiently approximate with nested families of quadratic potentials.
  • An implicit treatment of complimentary collision constraints and a solver for large mixed linear complementarity problems may be used. Implicit time stepping for cloth may be performed efficiently via optimization with auxiliary variables representing strain.
  • Elastic curves representing individual yarns may be used to create knit garments. Infrequently updated locally co-rotated linear approximations of the barrier potential may be used to provide a speed up of, e.g., fivefold. Warp/weft intersections may be resolved with a point that connects the two curves.
  • hair may be modeled with various elasticity models per strand.
  • hair may also be modeled as inextensible.
  • Kirchhoff elastic rod models may be used, which naturally enforce inextensibility. Frictional effects may be included in the hair modeling.
  • impulse-based collision models for elastic rods may lead to instabilities via excitation of stretching modes, and an adaptively nonlinear model for collision may lead to robust and accurate simulations.
  • a distributed memory, parallel architecture may be used to simulate cloth meshes with, e.g., millions of triangles.
  • Components of a cloth solver may be implemented on, e.g., one or more graphics processing unit (GPU).
  • GPU graphics processing unit
  • An implicit GPU implementation may adopt inelastic impact zone response.
  • CPU central processing unit
  • GPU GPU level parallelism
  • the asynchronous contact mechanics approaches may be accelerated by, e.g., 12 times with a 384-core Cray XC30 parallel supercomputer.
  • reduced models may be used for simulating clothing at interactive rates in many scenarios.
  • a reduced model driven by high- resolution simulation data can be used to simulate hair, e.g., up to 150 thousand strands in real-time.
  • Adaptivity has also been shown to produce simulation detail at modest cost.
  • an Eulerian approach may be used to simulate viscoelastic materials without need for explicit contact modeling.
  • an Eulerian approach may be used to advect the reference configuration to volumetric elastic object simulation that may reduce the complexity of collision modeling.
  • hyperelastic solids can by handled by being coupled with incompressible fluids.
  • an Eulerian view of hyperelastic surfaces is used to model skin and tissue contact.
  • continuum friction models may be used for collision models of, e.g., crowd interactions.
  • a hybrid Lagrange and Eulerian PIC/MPM approach may be used for, e.g., sand animation.
  • MPM may be used for various elastoplastic materials.
  • the space surrounding elastic objects may be modeled by a mesh and an incompressibility constraint may be enforced on the mesh.
  • hair volume meshes may be used to simulate hair in real time.
  • meshes with dynamic connectivity may be used for collision processing.
  • the simulation involves modeling of both constitutive response and collision via constraints.
  • continuum fluid concepts may be used to accelerate collision processing for, e.g., hair.
  • a disclosed hybrid approach models codimensional objects as volumetric elastoplastic continua.
  • at least some objects being modeled have thin surfaces or even curves in 3D.
  • the dynamics of the objects may be modeled as if they have appreciable thickness in a continuum.
  • the state of an object may be described at each location by its density p(x,t) and velocity v(x,t).
  • the governing equations are based on conservation of mass and momentum: where cis the stress, g is gravity and is the material derivative.
  • the material deformation may be characterized in terms of the flow map ⁇ , which maps points in the original configuration of the material X to points in the time t configuration x as The Jacobian of this mapping may be referred
  • deformation gradient which represents the local deformation of the material. That is, the deformation gradient yields the best local linear approximation to the mapping:
  • Codimensional deformation may be expressed via components of F.
  • Material directions D x , D 2 , D 3 are defined at point X.
  • D x and D 2 are tangent to the initial configuration of the surface and D 3 is normal to the surface.
  • D x is tangent to the curve and D 2 and D 3 are orthogonal to D x .
  • deformation in the manifold may be expressed via di; for surfaces, deformation in the manifold may be expressed via d x and d 2 .
  • the remaining d ⁇ represents the deformation of material normal to the manifold.
  • the model can account for deformation in the manifold, deformation normal to the manifold and shearing of material relative to the manifold, in terms of the d ⁇ and their relation to one another.
  • D 3 is normal to the initial surface, d 3 will not be normal when there is a shearing motion relative to the manifold.
  • FIG. 8 illustrates modeling of a curve in a 2-dimensional (2D) space.
  • the plastic part F p may represent deformation history that has been lost and may no longer be penalized elastically.
  • the elastic part F £ may remain and may be penalized elastically.
  • a hyperelastic potential energy density may be used, which increases with increasing deformation in F £ .
  • frictional contact may be modeled with elastoplasticity.
  • the modeling of the elastic surface or curve may consider contact to occur in the direction orthogonal to the elastic surface or curve. Therefore, the plasticity may modify the codimensional components of the deformation.
  • the mechanical response to deformations in the manifold may be purely elastic, which places an anisotropic constraint on the multiplicative decomposition.
  • the plasticity model may satisfy (equivalently To guarantee that the
  • the model may additionally satisfy
  • plasticity may be allowed just to affect the components of the deformation that provide compression, extension and shearing in directions normal to the manifold.
  • the disclosed approach may use a model that is hyperelastic in F £ , where the elastic potential energy density increases with deformation of the elastic part of the deformation gradient.
  • the Cauchy stress in the material may be
  • the elastic energy density for penalizing non-rigid F £ is the elastic energy density for penalizing non-rigid F £ .
  • the elastic energy density for penalizing non-rigid F £ is the elastic energy density for penalizing non-rigid F £ .
  • the elastic energy density may serve at least two purposes.
  • the elastic energy density may express the resistance to deformations that change the shape of the surface or curve manifold.
  • the elastic energy density may define the resistance to contact and frictional sliding. In the case of codimensional elasticity, the resistance is due to deformations normal to the manifold.
  • the anisotropic energy density may take this dual nature into account.
  • the elastic potential may be invariant under world space rotations.
  • one choice may be given by orthogonalizing the vectors the elastically deformed material directions, with the Gram-Schmidt process to
  • model may define This is similar to the isotropic case where the additional material frame invariance allows a model to choose u t and v t such that and
  • another common stress measure may be the first Piola- Kirchhoff stress, defined as and related to ⁇ with . If F £ D is
  • T and D are operators on matrices that keep upper triangular part
  • Elastic curves may be modeled with rotational material symmetry around the fiber direction D x .
  • the material directions D 2 and D 3 may be regarded as essentially arbitrary, and any choices which are mutually orthogonal with D x may give the same potential.
  • this material symmetry may be decomposed into a composition of three deformations, where the first (R x ) is a stretching of the fibers, the second (R 2 ) is a shearing of the fibers and the third (R 3 ) is a deformation of the cross section of the fibers:
  • the elastic potential for curves may be expressed as a sum of 3 terms
  • the first term penalizes
  • the second term penalizes shearing along the
  • the third term /i(R 3 ) may be a form of a two dimensional elastic potential, since it naturally enforces the frictional contact (when combined with appropriate plasticity law). That is,
  • e 1 and e 2 are the logarithms of the nontrivial singular values of R 3 .
  • the surface may be assumed as being isotropic, e.g., the potential is invariant under rotation of the material directions D-, ⁇ and D 2 .
  • R R 3 R 2 R X is decomposed into a composition of three deformations.
  • the first (R x ) is an in- plane deformation of the surface.
  • the second (R 2 ) is a shearing of surface normal.
  • the third (R 3 ) is a compression or stretching of the surface normal:
  • the energy may be expressed as a sum of three terms,
  • the first term (R 3 ) may penalize compression of the material in the normal direction, since the surface may be mostly surrounded by empty space which can expand freely:
  • the second term may be a form of to penalize shearing of the
  • the third term hiR ⁇ may use a two dimensional version of a fixed corotated potential to penalize deformation of the surface.
  • any in-plane energy may be used, with no change except to the stress and stress derivatives.
  • the frictional force ff may be smaller than a constant c F (the coefficient of friction) times the normal force In a continuum view, at a given
  • the traction vector t represents the local force per area that the material on one side of the plane with normal n exerts on the other side.
  • the traction may have normal and shearing components
  • s(n, ⁇ ) is an arbitrary vector in the plane with normal n, and ⁇ indicates its direction in the plane.
  • contact may be assumed to happen in all directions.
  • the model considers the directions orthogonal to the manifold to be in frictional contact. Together with the choice of elastic potential, this results in a less restrictive constraint that does not affect elastic deformation in the manifold.
  • the disclosed approach may include MPM discretization, which translates from the theoretical continuum equations into a computation procedure for codimensional elasticity with contact.
  • PIC and MPM may be hybrid particle/grid methods.
  • the particles represent discrete samples of the continuous material and the grid is a helper for computing their physical interactions.
  • the particles may be rendered as individual grains and the grid update, whose essential features are inherited from the continuum, which can be seen as a means for processing their frictional contact interactions.
  • the continuum samples may be modeled as coherent surface or curve meshes, rather than as unstructured particles, which is different from other MPM approaches.
  • the disclosed MPM discretization may model self-collision and its ramifications in the grid momentum updates, as well as the associated elasticity and plasticity updates.
  • the discretization procedure may include:
  • the Lagrangian particle state may be the primary representation of material for MPM.
  • Particles can be classified as: (i) traditional MPM particles, (ii) Lagrangian mesh vertex particles, or (Hi) Lagrangian mesh element quadrature particles (e.g., see FIG. 11).
  • Type (ii) particles may be used to track the in-manifold deformation of the elements.
  • Type (Hi) particles may be used to track to the codimensional deformation in an updated Lagrangian manner.
  • the model stores the particle positions velocities initial mass m p .
  • D p is not stored for particles of type (i) and (ii). is not stored for particles of type (ii).
  • the mass is set as is set
  • the notation / ( , I m , I m may be used to represent the sets of particle indices of types (i),(ii) and (Hi) respectively.
  • the particle is in one of /( ; /(") or depending on its type.
  • the particle mass and momentum may be transferred to the grid using, e.g., APIC.
  • Each particle p and grid node i is associated with a weight
  • ⁇ ⁇ is the location of the grid node and N(x) are linear, quadratic or cubic
  • node i is a sum of the contributions from particles
  • each particle also stores matrix to define an affine velocity local to the
  • p is generated for grid momentum and then is divided by the grid mass to generate the grid velocity as
  • the Rigid Particle-in-Cell may be treated as a reduced APIC scheme that damps out stretching and shearing motions while conserving rigid velocity modes. APIC degrades to RPIC if just the skew symmetric part of is kept.
  • the model may stably introduce damping to the system by scaling
  • v G [0,1] is the damping coefficient. This allows controlling the damping on stretching and shearing without damping local or global rigid motions.
  • any value of v may be chosen depending on how energetic a simulation is.
  • the damping scheme may damp non-rigid motion in a stable way without introducing any additional time step restriction. For example, the damping scheme may work with explicit symplectic Euler time stepping.
  • the continuum samples may be treated as coherent surfaces or curves, rather than as unstructured particles.
  • the treatment may be applied to, e.g., elastic volumes and surfaces (without self-collision).
  • the Eulerian MPM update of the deformation gradient may be abandoned, and the mesh connectivity may be used to compute the manifold components of the deformation gradient.
  • This approach may also be applied to triangulated surfaces and segmented curves. This allows for a Lagrangian update of the deformation gradient that does not suffer from the numerical plasticity or fracture of the Eulerian update.
  • the approach allows for coupling of Lagrangian elastic meshes with MPM materials. However, self-contact with codimensional meshes may not be well resolved.
  • the disclosed approach further introduces an Eulerian deformation of the grid, to obtain the full rank deformation gradient.
  • the disclosed approach allows for penalizing self-contact, while still preventing numerical plasticity and fracture.
  • a comparison of the approaches with or without Eulerian deformation of the grid is shown in FIG. 10.
  • the deformation gradient may be updated in terms of the motion of the grid over a time step.
  • the motion of the grid may be described in terms of Xi , the Eulerian grid nodes at the beginning of the time step and x t their location after a grid update.
  • the grid momentum update may be treated in terms of the motion that it may cause on the grid. In particular, this allows defining the elastic grid forces through a differentiation of a potential.
  • the use of incremental grid node motion is referred to as an updated Lagrangian view. In other words, the motion of the grid is treated as Lagrangian, albeit from the grid configuration at time t n , instead of the rest configuration.
  • the locations are updated to denote the vector of all moved grid positions X; and velocities respectively, the deformation gradient update on particle p may be defined in terms of
  • the elastic deformation gradient may be updated as: where assuming no initial deformation.
  • the deformation gradient may not be stored, so elastic deformation gradient may not be updated.
  • a Lagrangian mesh element quadrature particle e.g., type (/ ' /)
  • the deformed edge vectors are interpolated from the deformed grid node positions
  • the ⁇ directions tangent to the manifold may not include superscript E since they may not experience plasticity.
  • the remaining 3 — ⁇ directions may be of unit length and normal to the manifold, and may be evolved as in MPM via
  • the update of the grid node momentum (e.g., velocities since the grid node masses do not change in the update) may be described as:
  • the hat in distinguishes the update from the velocities that may be transferred to the
  • the grid momentum update may be expressed as: where f is the elastic force, g is the gravitational acceleration and for symplectic Euler
  • the elastic force f may be defined in terms of the elastic potential energy. Given elastic energy density ⁇ , the total potential may be computed as over material
  • [00109] may be a third order tensor, and may not depend on because is linear in
  • the tensor allows splitting the computation into three parts.
  • the first part corresponds to MPM particles and the force is - y expressing F using a material space coordinate frame which is aligned with the element
  • the first ⁇ columns of F may be assumed to correspond to in-manifold deformation.
  • the first ⁇ columns of correspond to the stress response inside the manifold and these terms can be computed by first computing forces on Lagrangian mesh vertex particles (type (/ ' / ' )) and then transferring them to the grid. Denoting these vertex forces with their corresponding contribution to grid node forces may be computed as The last 3— ⁇ columns
  • the system when using backward Euler, the system may be modeled by utilizing the Hessian of ⁇ with respect to and ignoring the effects of plasticity during the process.
  • the action of this Hessian on an arbitrary increment Su may be expressed as where implicit summation
  • GMRES generalized minimal residual method
  • MINRES minimal residual method
  • the return mapping may be a discrete version of the yield condition and flow rule.
  • the return mapping may be a form of a projection, which enforces the yield condition on the stress, with the direction of the flow rule, defining the direction of the projection.
  • the return mapping may be applied after the deformation gradient update so that the updated stress may satisfy the yield condition.
  • the QR-decomposition may be generated as is projected from to satisfy the yield condition, before constructing
  • the stress satisfies for every normal n to the curve
  • + c F n T t ⁇ Ois satisfied, where n q 3 .
  • the traction may be expressed as
  • uniform scaling may be applied:
  • the magnitude of the tangential traction may change, but the direction may not change, corresponding to the uniform scaling.
  • the return mapping may be independent of the choice of in-plane energy /i(Ri). E.g., the in-plane surface energy may be used from instead.
  • FIG. 16 illustrates the return mapping of a 2D curve. is unchanged.
  • each shaded region corresponds to the feasible state of the deformed material normal and is determined by the yield function.
  • the right figure shows the same yield surface in r 12 r22 space.
  • the tip of the yield surface corresponds to the world space manifold normal and is usually different from d 2 .
  • the Return mapping may take a trial strain and results in the
  • the particle corresponding to is inside the yield surface and exhibits an elastic response.
  • the particle corresponding to is under compression but experiences more shear than friction allows.
  • Such a configuration is projected to the yield surface along the direction that avoids normal component change.
  • the particle corresponding to is experiencing tension and is projected to the tip of the yield surface.
  • the corresponding stress is zero, allowing materials to separate freely.
  • the particle corresponding to is inverted from the original side of material (due to discrete numerical step).
  • the shearing may be disabled by nullifying the r 22 component, and relying on elasticity to penalize such configuration.
  • Fibrous materials may have anisotropic friction.
  • hair may be smoother along the fiber direction than perpendicular to the fiber direction.
  • an anisotropic friction rule may be used, which is stricter and easier to apply.
  • mapping may be described in terms of the logarithms of
  • the model may choose to make
  • the model constructs .
  • the model determines if the condition for shearing tangent to the fibers is satisfied. If the
  • Table 1 lists parameter choices for some simulation examples.
  • Table 2 lists runtime performance results for some simulation examples. In some embodiments, some simulations may be run on Intel Xeon E5-2690 V2 with 19 threads.
  • Element # denotes number of triangles (for surfaces), number of segments (for curves) or the total count (for coupling simulations).
  • Memory usage is measured in the end of the first frame. At here means maximum allowed time step.
  • the actual running At is adaptive and may be restricted by Courant-Friedrichs-Lewy (CFL) condition when the particle velocities are high.
  • CFL number equals to 0.3, e.g., particles are not allowed to move further than 0.3 ⁇ in a time step.
  • FIG. 12 illustrates a simulation of 2D curves with different friction coefficients dropping on a block. Internal friction may be naturally controlled via adjusting c F .
  • the surface elastoplasticity model may simulate cloth triangulated surfaces in various scenarios involving numerous self-collisions (see, e.g., FIG. 1, FIG. 3, FIG. 4 and FIG. 14).
  • the elastoplasticity model can resolve frictional contacts with a modest computational cost.
  • the run time may not grow with the number of colliding primitives.
  • the fiber elastoplasticity may be simulated with yarn level simulation of knitted fabric.
  • multiple threads per yarn may be simulated.
  • a mesh model may be used to simulate different examples including, e.g., dropping a sweater (FIG. 7), a jumping character wearing a poncho (FIG. 17), twisting a knitted cloth with a cylinder (FIG. 5), and hitting a knitted cloth curtain with a ball (FIG. 14).
  • the fiber model may also be suitable for simulating hair (FIG. 13), shag carpet (FIG. 2) and other fibrous materials (FIG. 6).
  • each strand may be simulated.
  • the disclosed method scales well regardless of the complexity of segment contacts. RPIC damping may be used for stabilizing the simulations under large timesteps.
  • FIG. 1 and FIG. 9 illustrates a sand column with 7 millions particles coupled with a piece of cloth.
  • FIG. 19 illustrates a cloth curtain getting hit by a ball while interacting with sand and/or goo.
  • FIG. 18 illustrates dripping viscous green slime into an elastic bear geometry.
  • a relatively high collision stiffness (k) may be set on the cloth to prevent sand from sticking to it.
  • the result of disclosed method is compared with other MPM approaches by simulating multiple curves dropping onto a block (see FIG. 10).
  • Other meshless MPM causes numerical fracture of the material.
  • the other method may just model the manifold stress response, resulting in unnatural clumping and numerical cohesion of curves.
  • the disclosed method adopts a full elastoplasticity model, achieves natural and realistic dynamics, and exhibits a smooth frictional sliding appearance, without excessive frictional effects.
  • the disclosed method may use a regular grid to resolve material interactions.
  • the apparent thickness of the surface and/or curve may depend on the grid resolution and on the repulsion energy model.
  • the disclosed method may be modified to reduce or eliminate artifacts when if the grid resolution is large. For a large grid resolution, the artifacts may manifest as numerical separation where particles tend to stay separated by an amount about half a grid cell width or numerical stickiness. Thus, the motion of the grid may be accurate to resolve the proper behavior. Therefore the method may simulate frictionless materials and control the apparent thickness independent of the grid.
  • the disclosed method is suitable for situation where the size of the surface or curve elements is at most the size of the grid spacing.
  • the disclosed method may be modified to reduce or eliminate persistent wrinkles, which may manifest when a mesh is fine compared to the grid.
  • the disclosed method may be modified to reduce or eliminate self-penetration, which may manifest when a mesh is coarse compared to the grid because the material coverage is not resolved well enough on the grid. When penetration accidentally happens (due to At being too big), it may be resolved because elasticity may penalize that inverted collision direction.
  • the disclosed method may prevent the self- penetration by enforcing the CFL condition when choosing At. The disclosed method may use small time steps and increase overall run time.
  • the disclosed method when transferring from particles to grid, may determine local neighbor information.
  • the penalty on compression in the normal direction may be treated as repulsion springs.
  • no fail-safe is used to prevent self-penetration when the repulsions fail.
  • the disclosed method may have smaller time steps for high grid resolution simulation, without fail-safes.
  • the disclosed method performs well for high resolution examples. E.g., for the cloth curtain example (FIG. 14), the disclosed method may achieve computation times of, e.g., 2 minutes per frame on average for, e.g., 1.8 million triangles.
  • the disclosed method tends to scale as well as the particle-grid transfers.
  • the process may be performed in parallel over multiple CPU threads.
  • performance gains may be achieved with a GPU implementation.
  • the continuum based bending model may be used.
  • any that satisfy may be upper triangular. Specifically, it may be shown that given arbitrary upper triangular, 3 ⁇ such that
  • A may be ⁇ written in the Q basis.
  • the upper triangular part of A may be contstructed with , then
  • the process may choose to be the dilational part of the Kirchoff stress from the 2 x 2 Stvk Hencky Drucker-Prager.
  • Mohr friction criteria may lead to the following maximization: maximization of over all possible n that is perpendicular to
  • Lagrangian multiplier may solve the maximization and lead to the maximum
  • the yield surface may be The return
  • mapping is then simply a scaling on r so that the yield criteria is satisfied.
  • Surface may be similar to curve in the framework. With the codimensional discretization, the triangle may be mapped back to x-y plane. If the input 3D triangle at rest is the method may define This forms an imaginary whose QR decomposition leads to the rotation from x-y plane of this triangle as well as the top part of being the 2 X 2 version D m . The third column of is the rotated D 3 where
  • the full F may be constructed as:
  • the method performs thin QR decomposition: where may be 2 x 2 upper.
  • This tensor may be denoted with A
  • triangular part of A may be constructed with then symmetry of A is used.
  • r3 represents the deformation of D 3 . because is the length change
  • Shearing may also penalize length change.
  • Mohr friction criteria leads to the following maximization: Maximization of over all possible n that is perpendicular to the manifold plane, with all d perpendicular to n and has unit length. In other words, is maximized over all possible n that is perpendicular to the
  • n perpendicular to manifold plane means for some k (unit
  • the return mapping causes r to be zero.
  • the max may choose The return mapping is setting r to be 0. Otherwise, r may be scaled to satisfy
  • 2D derivation may follow 3D curve derivation: have the
  • This tensor may be denoted with
  • A may be ⁇ written in the Q basis.
  • the energy choice may be any one of [00179]
  • Mohr friction criteria may lead to the following maximization: maximization of over all possible n that is perpendicular to
  • scale r 12 may be scaled to satisfy
  • the undeformed segment or triangle may be treated as being aligned with the x-axis or xy-plane respectively.
  • the initial F may no longer be I, but rather the rotation which maps the axis aligned element to its initial position in space. This is may not be an issue as the elastic energy density ⁇ may be world space rotation invariant. However, this allows assuming that Drete is block diagonal of the form for segments and
  • FIG. 20 is a high-level block diagram illustrating an example of a hardware architecture of a computing device 1100 that may perform various processes as disclosed, according various embodiments of the present disclosure.
  • the computing device 1100 may execute some or all of the processor executable process operations or procedures described herein.
  • the computing device 1100 includes a processor subsystem that includes one or more processors 1102.
  • Processor 1102 may be or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such hardware based devices.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • PLDs programmable logic devices
  • the computing device 1100 can further include a memory 1104, a network adapter 1110, a cluster access adapter 1112 and a storage adapter 1114, all interconnected by an interconnect 1108.
  • Interconnect 1108 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus (sometimes referred to as "Firewire”) or any other data communication system.
  • PCI Peripheral Component Interconnect
  • ISA HyperTransport or industry standard architecture
  • SCSI small computer system interface
  • USB universal serial bus
  • IEEE Institute of Electrical and Electronics Engineers
  • the cluster access adapter 1112 includes one or more ports adapted to couple the computing device 1100 to other devices.
  • Ethernet can be used as the clustering protocol and interconnect media, although other types of protocols and interconnects may be utilized within the cluster architecture described herein.
  • the computing device 1100 can be embodied as a single- or multi-processor storage system executing a storage operating system 1106 that can implement a high-level module, e.g., a storage manager, to logically organize the information as a hierarchical structure of named directories and files at the storage devices.
  • the computing device 1100 can further include graphical processing unit(s) for graphical processing tasks or processing non-graphical tasks in parallel.
  • the memory 1104 can comprise storage locations that are addressable by the processor(s) 1102 and adapters 1110, 1112, and 1114 for storing processor executable code and data structures.
  • the processor 1102 and adapters 1110, 1112, and 1114 may, in turn, comprise processing elements and/or logic circuitry configured to execute the software code and manipulate the data structures.
  • the network adapter 1110 can include multiple ports to couple the computing device 1100 to one or more clients over point-to-point links, wide area networks, virtual private networks implemented over a public network (e.g., the Internet) or a shared local area network.
  • the network adapter 1110 thus can include the mechanical, electrical and signaling circuitry included to connect the computing device 1100 to the network.
  • the network can be embodied as an Ethernet network or a Fibre Channel (FC) network.
  • a client can communicate with the computing device over the network by exchanging discrete frames or packets of data according to pre-defined protocols, e.g., TCP/IP.
  • the storage adapter 1114 can cooperate with the storage operating system 1106 to access information requested by a client.
  • the information may be stored on any type of attached array of writable storage media, e.g., magnetic disk or tape, optical disk (e.g., CD- ROM or DVD), flash memory, solid-state disk (SSD), electronic random access memory (RAM), micro-electro mechanical and/or any other similar media adapted to store information, including data and parity information.
  • the storage adapter 1114 can include multiple ports having input/output (I/O) interface circuitry that couples to the disks over an I/O interconnect arrangement, e.g., a conventional high-performance, Fibre Channel (FC) link topology.
  • the cluster adapter 1112 and the storage adapter 1114 can be implemented as one adaptor configured to connect to a switching fabric, e.g., a storage network switch, in order to communicate with other devices and the mass storage devices.
  • Amounts, ratios, and other numerical values are sometimes presented herein in a range format. It is to be understood that such range format is used for convenience and brevity and should be understood flexibly to include numerical values explicitly specified as limits of a range, but also to include all individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly specified.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

At least some embodiments of the present disclosure relate to a method of visualizing objects having frictional contact. The method includes transferring masses and momentums of a plurality of particles of an object to a grid including a plurality of grid nodes; updating momentums of the grid nodes based on the transferred masses and momentums of the particles; transferring the updated momentums of the grid nodes to the particles of the object; updating positions of the particles and deformation gradients of the particles based on the updated momentums of the grid nodes; projecting the deformation gradients for plasticity of the object; updating elastic components and plastic components of the object; and outputting a visualization of the object based on the positions of the particles of the object.

Description

COMPUTERIZED RENDERING OF OBJECTS HAVING ANISOTROPIC ELASTOPLASTICITY FOR CODIMENSIONAL FRICTIONAL CONTACT
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of and priority to U.S. Provisional Patent Application No. 62/507,740, filed May 17, 2017, which is incorporated herein by reference in its entirety.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR
DEVELOPMENT
[0002] This invention was made with government support under W81XWH-15-1-0147 awarded by the U.S. Army, Medical Research and Materiel Command. The government has certain rights in the invention.
TECHNICAL FIELD
[0003] The present disclosure relates to a physically based animation, and more particularly to a computerized simulation of 3 -dimensional (3D) objects having elastic surfaces or curves.
BACKGROUND
[0004] Physically based animation is used to simulate physically plausible behaviors of objects. The techniques of physically based animation are particularly concerned with physical plausibility, numerical stability, and visual appeal of the objects being simulated or animated. The techniques of physically based animation include simulations of, e.g., rigid bodies (e.g., metal objects, rocks), soft bodies (e.g., muscle, fat, hair, vegetation, clothing, fabric), fluid (e.g., water), particles (e.g., smoke, fire, moving water, cloud, snow, dust, stars), as well simulations of complex behaviors of various objects (e.g., humans, animals, plants, clothing, etc.) and interactions between objects.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying drawings. It is noted that various features may not be drawn to scale, and the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
[0006] FIG. 1 illustrates a simulation of a sand column being coupled with a piece of cloth. The left figure illustrates three pieces of cloth with around 1.4 million (M) triangles pushed back and forth by a sphere, revealing intricate folds and contact. The right figure illustrates 7M (millions) colored sand grains coupled with elastic cloth, exhibiting beautiful flow patterns.
[0007] FIG. 2 illustrates a simulation of a shag carpet with 1M particles that is pushed by a sphere and folds back, showing detailed folds.
[0008] FIG. 3 illustrates a simulation of a piece of cloth interacting with a ball, where the piece of cloth with 2M triangles falls onto a rotating sphere, and low friction on the ground and high friction on the sphere causes detailed wrinkles and folds.
[0009] FIG. 4 illustrates a simulation of a piece of cloth being twisted, where the piece of cloth with 1.14M triangles is twisted by a cylinder. The simulation may run at 1.3 minutes per frame on average.
[0010] FIG. 5 illustrates a simulation of twisting a knitted cloth with a cylinder. The method handles detailed contacts between individual yarn threads under tension as well as macroscopic collision between yarns as demonstrated by this knitted cloth being twisted. Complex per-yarn motion is well resolved through elastoplasticity.
[0011] FIG. 6 illustrates a simulation of tearing apart a fibrous material. The method may capture many intricate features of tearing apart the fibrous material comprising, e.g., 2.15M particles.
[0012] FIG. 7 illustrates a simulation of dropping a knit sweater, where the sweater is dropped onto a rising sphere, stretched and then folded on the ground. The simulation may take 13 seconds per frame.
[0013] FIG. 8 illustrates a simulation of a curve in a 2-dimensional (2D) space. The left figure shows F being decomposed into Fp, a forgotten sliding and separation, and FE the remembered stretching, collision and shearing. The right figure shows that FE deforms Di and D2 into di and d2 .
[0014] FIG. 9 illustrates a simulation of a two-way coupling between 7M sand grains and a piece of elastic cloth.
[0015] FIG. 10 illustrates effects of different choices of deformation gradient discretization as well as the effect of plasticity in a fiber piling example, (a) shows MPM deformation gradient; (b) shows the codimensional Lagrangian deformation gradient; (c) shows the disclosed model without plasticity; (d) shows the disclosed full elastoplasticity model.
[0016] FIG. 11 illustrates a simulation of particles of different classifications, including Material Point Method (MPM) particles, Lagrangian mesh vertex particles, and Lagrangian mesh element quadrature particles.
[0017] FIG. 12 illustrates effects of increasing friction in a 2-dimensional piling example. Friction increases from left to right.
[0018] FIG. 13 illustrates a simulation of a hair tube with 2655 strands that is dropped onto another tube of hairs, showing detailed dynamics due to fiictional contact between hairs. The simulation may run at, e.g., 11 seconds per frame.
[0019] FIG. 14 illustrates a simulation of a knitted curtain being pushed by a sphere and folding back.
[0020] FIG. 15 illustrates a simulation of stretching, twisting and releasing a knitted cloth from different directions, which demonstrates handling yarn level anisotropic characteristics.
[0021] FIG. 16 illustrates a simulation of a return mapping for a 2D curve.
[0022] FIG. 17 illustrates a simulation of a character wearing a knitted poncho performing a jumping motion. The fiber elastoplasticity model captures detailed frictional contact behavior at the yarn level with multiple fiber threads per yarn. The simulation may run at, e.g., 1 minute per frame on average.
[0023] FIG. 18 illustrates a simulation of a two-way coupling of solids and fluids, as demonstrated with slime and a cloth bear.
[0024] FIG. 19 illustrates a simulation of a cloth curtain being hit by a ball and coupling with sand and a simulation of a cloth curtain being hit by a ball and coupling with goo.
[0025] FIG. 20 is a high-level block diagram illustrating an example of a hardware architecture of a computing device that may perform various processes as disclosed.
DETAILED DESCRIPTION
[0026] Common reference numerals are used throughout the drawings and the detailed description to indicate the same or similar components. Embodiments of the present disclosure will be readily understood from the following detailed description taken in conjunction with the accompanying drawings.
[0027] Various embodiments of the present disclosure are discussed in detail below. It should be appreciated, however, that the embodiments set forth many applicable concepts that can be embodied in a wide variety of specific contexts. It is to be understood that the following disclosure provides many different embodiments or examples of implementing different features of various embodiments. Specific examples of components and arrangements are described below for purposes of discussion. These are, of course, merely examples and are not intended to be limiting.
[0028] Embodiments, or examples, illustrated in the drawings, are disclosed below using specific language. It will nevertheless be understood that the embodiments and examples are not intended to be limiting. Any alterations and modifications of the disclosed embodiments, and any further applications of the principles disclosed in this document, as would normally occur to one of ordinary skill in the pertinent art, fall within the scope of this disclosure.
[0029] In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
[0030] According to at least some embodiments of the present disclosure, computerized simulation method of elastic surface or curve involves a hybrid approach combining a Lagrangian approach and an Eulerian approach. The computerized simulation method can be used for applications such as computer-generated imagery for rendering 3 -dimensional (3D) objects in graphics, animations, videos, movies, video games, etc. [0031] In some embodiments, an elastic surface or curve simulation method involves, e.g., a Lagrangian approach and includes three components: time integration, collision detection and collision response. The Lagrangian approach allows for tracking of the codimensional manifold. However, collision may be detected and resolved separately. In some embodiments, an elastic surface or curve simulation method involves, e.g., an Eulerian method, for which the collision processing is automatic. The Eulerian method may be effective for volumetric objects. However, advection of a codimensional manifold may be relatively inaccurate. The term "codimensional" refers to objects of submanifolds (e.g., less dimensions) in a space of manifolds (e.g., more dimensions). For example, a hair line (1 dimension) or a piece of paper (2 dimensions) can be a codimensional object simulated and visualized in a 3-dimentionsal space.
[0032] In some embodiments, a hybrid approach, combining a Lagrangian approach and an Eulerian approach, defines the collision response with an elastoplastic constitutive model. For example, an anisotropic hyperelastic constitutive model separately characterizes the collision response to manifold strain as well as shearing and compression in the directions orthogonal to the manifold. The model is discretized with a Material Point Method (MPM) and a codimensional Lagrangian/Eulerian update of deformation gradient. The hybrid approach can simulate a large number of collisions in a short time frame. For example, in some embodiments, collision intensive scenarios with millions of degrees of freedom may take a few minutes per frame (or less). In some embodiments, examples of collision intensive scenarios with up to one million degrees of freedom may run in less than thirty seconds per frame (or less).
[0033] 1. INTRODUCTION
[0034] Computer graphics may involve physically based animation of elastic surfaces and curves. For example, elastic surfaces and curves can include, e.g., layers of clothing in a virtual garment, individual strands in a head of hair, or yarns in a knit garment. Realistic simulation of collision and contact phenomena of these materials allows for richness and realism provided by physics based simulation. However, the thin nature of these materials may make collision detection and resolution challenging. The time-consuming process of collision detection and resolution of these materials can be the bottleneck in modern visual effects. [0035] According to at least some embodiments of the present disclosure, an approach for codimensional elasticity that uses a hybrid Lagrangian/Eulerian Material Point Method (MPM) discretization is disclosed for modeling frictional contact of these granular materials with a continuum view. The elastoplastic description of the disclosed approach characterizes collision and/or contact response in the continuum and does not necessarily include separate post-processing (although post-processing is also feasible).
[0036] In some embodiments, codimensional elastic objects are naturally represented with a Lagrangian mesh. With the Lagrangian mesh model, individual particles are tracked and mesh polygons or segments are used to approximate the spatial derivatives of the material deformation mapping (also referred to as the deformation gradient). The mechanics of elasticity are naturally discretized with this Lagrangian view. However, additional modeling may be used to model the effects of self and external contact since these phenomena may cause interactions between distant regions in the mesh. For example, mesh facets such as points and triangles or segment pairs may not pass through one another over a time step. These constraints may be satisfied by some means external to the elasticity modeling. This can be done in number of ways including, e.g., repulsion penalties, impulsive change in momenta, and/or linear complimentary formulations of the constrained dynamics.
[0037] In some embodiments, in an Eulerian view, discrete samples of the solution are computed on a stationary background grid as material advects through the domain. While Lagrangian methods may involve two different components of the computation procedure: elasticity modeling and collision and/or contact resolution, Eulerian methods typically do not. The constitutive behavior of contact is expressed as that of the material itself. For example, for free-surface incompressible flow, no self-collision model is imposed beyond the velocity divergence condition specified to enforce incompressibility. In some embodiments, Eulerian methods may be used for collision and contact treatment for elastic materials. For elastic objects, accurate treatment of advection may be used to preserve an accurate rest state of the material, e.g. treatment for volumetric objects. However, Eulerian methods may face challenges for codimensional elasticity.
[0038] The disclosed hybrid approach combines the benefits of the Lagrangian and Eulerian approaches. For example, Particle-In-Cell (PIC) approaches like FLIP and MPM may combine a Lagrangian form of advection with a regular grid momentum update. In some embodiments, contact modeling may be simplified with Lagrangian methods, or the advection accuracy may be improved with Eulenan methods. For example, FLIP and Eulerian incompressibility may be used to efficiently model self-collision for hair. In a hybrid approach, Lagrangian hair velocities may be smoothed on an Eulerian grid. A hybrid approach may define interaction penalties and constraints for Lagrangian objects after mapping mass, momentum and density to an Eulerian grid. MPM has some similarities to this approach and may allow for the simulation of a wide range of elastoplastic materials in contact without a separate model for collision. For example, volumetric hyperelastic objects in contact with MPM may be simulated. Frictional contact for sand, for example, may be modeled with a hybrid discretization of an appropriate plastic flow.
[0039] According to at least some embodiments of the present disclosure, a hybrid approach may combine Lagrangian and Eulerian MPM methods, for modeling contact and collision via elastoplasticity of granular materials, and may be used to model volumetric objects. In some embodiments, MPM may update the deformation gradient on each particle independently with an Eulerian view. However, this may lead to numerical plasticity and failure. While these phenomena may useful for simulating elastoplasticity with failure, it is desirable to avoid these phenomena for simulating hyperelastic objects. To prevent numerical plasticity and failure, the disclosed hybrid approach tracks the deformation of codimensional elastic objects in a Lagrangian way.
[0040] However, in some embodiments, some approaches allowing for self-collision with volumetric objects may not be suitable for modeling codimensional objects. For non- volumetric objects such as codimensional objects, the Lagrangian update of deformation may track components in the manifold, but may not capture deformation in the orthogonal directions. It may be the elastic response to deformation in these directions that allows for frictional contact with volumetric objects in MPM simulations. The disclosed hybrid approach remedies the issue by updating the orthogonal components of the deformation gradient, e.g., in a standard MPM way.
[0041] Furthermore, in some embodiments, while relying on the elastic response alone may be sufficient for self-collision simulation with volumetric objects, it may lead to artificial cohesion (stickiness) and excessive friction for codimensional elasticity. The disclosed hybrid approach remedies this using a plastic flow that enforces a Coulomb friction inequality between shear and normal stresses in the directions orthogonal to the frictional surface or curve. The disclosed approach prevents plasticity in the codimensional manifold, which may be purely elastic. The disclosed approach defines the elasticity in an anisotropic way so that the response in the surface or curve cleanly relates to the response in the orthogonal directions.
[0042] In some embodiments, the disclosed approach is computationally efficient, at least partially due to the simplicity of handling contact and collision through the constitutive modeling. Furthermore, the disclosed approach inherently and naturally allows for coupling with multiple materials. For example, the disclosed approach can simulate a range of coupled elastic surfaces and curves, fluids and granular materials with, e.g., millions of degrees of freedom in, e.g., a few minutes per frame. The disclosed approach may involve both implicit and explicit versions of the grid based momentum update in MPM. For explicit time stepping, the disclosed approach uses a damping model that may not penalize rigid motions and may not impact the time step restriction.
[0043] In some embodiments, the disclosed approach use elasticity models that cleanly relate the elastic response in the surface or curve to the response in the orthogonal directions. Anisotropic plasticity models are used to characterize frictional contact with elastic surfaces and curves. A return mapping procedure is used to temporally discretize the plastic flow. A hybrid version of Lagrangian and Eulerian MPM discretization is used for updating the deformation gradient. The disclose approach involves an explicit damping model that may not penalize rigid modes.
[0044] 2. RELEVANT TECHNIQUES
[0045] 2.1 Simulation of Clothing
[0046] In some embodiments, clothing simulation may use dynamically defined stiff springs that prevent cloth-cloth penetration and apply an implicit integration scheme for efficiency. A semi-implicit treatment may be used to efficiently handle buckling instabilities. Collisions for point/triangle and edge/edge pairs in the mesh may be processed via impulsive response. Asynchronous variational integration may be combined with kinetic data structures. Collision resolution may be processed with barrier potentials which efficiently approximate with nested families of quadratic potentials. An implicit treatment of complimentary collision constraints and a solver for large mixed linear complementarity problems may be used. Implicit time stepping for cloth may be performed efficiently via optimization with auxiliary variables representing strain.
[0047] 2.2 Simulation of Yarn and Knits
[0048] Elastic curves representing individual yarns may be used to create knit garments. Infrequently updated locally co-rotated linear approximations of the barrier potential may be used to provide a speed up of, e.g., fivefold. Warp/weft intersections may be resolved with a point that connects the two curves.
[0049] 2.3 Simulation of Hair
[0050] In some embodiments, hair may be modeled with various elasticity models per strand. In some other embodiments, hair may also be modeled as inextensible. For example, Kirchhoff elastic rod models may be used, which naturally enforce inextensibility. Frictional effects may be included in the hair modeling. In some embodiments, impulse-based collision models for elastic rods may lead to instabilities via excitation of stretching modes, and an adaptively nonlinear model for collision may lead to robust and accurate simulations.
[0051] 2.4 Parallel Computing
[0052] A distributed memory, parallel architecture may be used to simulate cloth meshes with, e.g., millions of triangles. Components of a cloth solver may be implemented on, e.g., one or more graphics processing unit (GPU). An implicit GPU implementation may adopt inelastic impact zone response. In some embodiments, central processing unit (CPU) and/or GPU level parallelism may be used for simulation. In some embodiments, the asynchronous contact mechanics approaches may be accelerated by, e.g., 12 times with a 384-core Cray XC30 parallel supercomputer.
[0053] 2.5 Reduced and Adaptive Models
[0054] In some embodiments, reduced models may be used for simulating clothing at interactive rates in many scenarios. In some embodiments, a reduced model driven by high- resolution simulation data can be used to simulate hair, e.g., up to 150 thousand strands in real-time. Adaptivity has also been shown to produce simulation detail at modest cost. [0055] 2.6 Eulerian and Continuum Collision and Contact
[0056] In some embodiments, an Eulerian approach may be used to simulate viscoelastic materials without need for explicit contact modeling. In some embodiments, an Eulerian approach may be used to advect the reference configuration to volumetric elastic object simulation that may reduce the complexity of collision modeling. In some embodiments, hyperelastic solids can by handled by being coupled with incompressible fluids. In some embodiments, an Eulerian view of hyperelastic surfaces is used to model skin and tissue contact. In some embodiments, continuum friction models may be used for collision models of, e.g., crowd interactions. In some embodiments, a hybrid Lagrange and Eulerian PIC/MPM approach may be used for, e.g., sand animation. In some embodiments, MPM may be used for various elastoplastic materials. In some embodiments, the space surrounding elastic objects may be modeled by a mesh and an incompressibility constraint may be enforced on the mesh. In some embodiments, hair volume meshes may be used to simulate hair in real time. In some embodiments, meshes with dynamic connectivity may be used for collision processing. In some embodiments, the simulation involves modeling of both constitutive response and collision via constraints. In some embodiments, continuum fluid concepts may be used to accelerate collision processing for, e.g., hair.
[0057] 3. MODELING OF CODIMENSIONAL OBJECTS
[0058] According to at least some embodiments of the present disclosure, a disclosed hybrid approach models codimensional objects as volumetric elastoplastic continua. In some embodiments, at least some objects being modeled have thin surfaces or even curves in 3D. The dynamics of the objects may be modeled as if they have appreciable thickness in a continuum. The state of an object may be described at each location by its density p(x,t) and velocity v(x,t). The governing equations are based on conservation of mass and momentum:
Figure imgf000012_0001
where cis the stress, g is gravity and is the material derivative.
Figure imgf000012_0002
[0059] 3.1 Deformation Gradient
[0060] The material deformation may be characterized in terms of the flow map φ, which maps points in the original configuration of the material X to points in the time t configuration x as The Jacobian of this mapping may be referred
Figure imgf000013_0001
Figure imgf000013_0002
to as deformation gradient, which represents the local deformation of the material. That is, the deformation gradient yields the best local linear approximation to the mapping:
Figure imgf000013_0003
Figure imgf000013_0004
For example, if the material is undeformed local to X then F will be a rotation. If det(F) < 1 , the material loses volume locally; if det(F) > 1, it gains volume locally.
[0061] Codimensional deformation may be expressed via components of F. Material directions Dx, D2, D3 are defined at point X. In the case of elastic surfaces, Dx and D2 are tangent to the initial configuration of the surface and D3 is normal to the surface. In the case of curves, Dx is tangent to the curve and D2 and D3 are orthogonal to Dx.
[0062] Defining dt = FDi( i = 1,2,3 , dt represents the local direction and stretching of material in the Ot direction under the flow map φ . Thus for curves, deformation in the manifold may be expressed via di; for surfaces, deformation in the manifold may be expressed via dx and d2. The remaining d^ represents the deformation of material normal to the manifold. Thus, the model can account for deformation in the manifold, deformation normal to the manifold and shearing of material relative to the manifold, in terms of the d^ and their relation to one another. For example for surfaces, while D3 is normal to the initial surface, d3 will not be normal when there is a shearing motion relative to the manifold. For example, FIG. 8 illustrates modeling of a curve in a 2-dimensional (2D) space.
[0063] 3.2 Codimensional Anisotropic Plasticity
[0064] In some embodiments, large strain elastoplasticity may be modeled by factoring the deformation gradient into elastic and plastic parts as F = F£FP . The plastic part Fp may represent deformation history that has been lost and may no longer be penalized elastically. The elastic part F£ may remain and may be penalized elastically. A hyperelastic potential energy density may be used, which increases with increasing deformation in F£.
[0065] In some embodiments, frictional contact may be modeled with elastoplasticity. However, unlike for granular materials where collision may occur in any direction local to a grain, the modeling of the elastic surface or curve may consider contact to occur in the direction orthogonal to the elastic surface or curve. Therefore, the plasticity may modify the codimensional components of the deformation. The mechanical response to deformations in the manifold may be purely elastic, which places an anisotropic constraint on the multiplicative decomposition. To guarantee that deformation in a curve is purely elastic, the plasticity model may satisfy (equivalently To guarantee that the
Figure imgf000014_0003
Figure imgf000014_0002
deformation in a surface is purely elastic, the model may additionally satisfy
Figure imgf000014_0005
(equivalently By satisfying these constraints, the model guarantees that the non-
Figure imgf000014_0004
rigid deformation of the surface or curve is penalized elastically. In some embodiments, plasticity may be allowed just to affect the components of the deformation that provide compression, extension and shearing in directions normal to the manifold.
[0066] 3.3 Codimensional Anisotropic Elasticity
[0067] In some embodiments, the disclosed approach may use a model that is hyperelastic in F£, where the elastic potential energy density increases with deformation of the elastic part of the deformation gradient. The Cauchy stress in the material may be Here
Figure imgf000014_0001
is the elastic energy density for penalizing non-rigid F£. In some embodiments, the
Figure imgf000014_0013
elastic energy density may serve at least two purposes. First, the elastic energy density may express the resistance to deformations that change the shape of the surface or curve manifold. Also, the elastic energy density may define the resistance to contact and frictional sliding. In the case of codimensional elasticity, the resistance is due to deformations normal to the manifold. The anisotropic energy density may take this dual nature into account.
[0068] In some embodiments, the potential with respect to the local material directions D = [D1( D2, D3] may be defined as
Figure imgf000014_0006
In some embodiments, the elastic potential may be invariant under world space rotations. Thus, the model is free to choose a convenient basis. In some embodiments, one choice may be given by orthogonalizing the vectors the elastically deformed material directions, with the Gram-Schmidt process to
Figure imgf000014_0007
obtain Equivalently, is the QR-decomposition of F£D . The
Figure imgf000014_0008
Figure imgf000014_0010
model may define
Figure imgf000014_0009
This is similar to the isotropic case where the additional material frame invariance allows a model to choose ut and vt such that and
Figure imgf000014_0011
define
Figure imgf000014_0012
[0069] In some embodiments, another common stress measure may be the first Piola- Kirchhoff stress, defined as and related to σ with . If F£D is
Figure imgf000015_0003
Figure imgf000015_0004
denoted with where
Figure imgf000015_0005
Here T and D are operators on matrices that keep upper triangular part and
Figure imgf000015_0006
diagonal part respectively.
[0070] 3.3.1 Codimensional Anisotropic Elasticity for Curves
[0071] Elastic curves may be modeled with rotational material symmetry around the fiber direction Dx. In other words, for curves, the material directions D2 and D3 may be regarded as essentially arbitrary, and any choices which are mutually orthogonal with Dx may give the same potential. Guided by this material symmetry,
Figure imgf000015_0007
may be decomposed into a composition of three deformations, where the first (Rx) is a stretching of the fibers, the second (R2) is a shearing of the fibers and the third (R3) is a deformation of the cross section of the fibers:
Figure imgf000015_0001
Based on the decomposition, the elastic potential for curves may be expressed as a sum of 3 terms
Figure imgf000015_0008
The first term penalizes
Figure imgf000015_0009
change of fiber length. The second term penalizes shearing along the
Figure imgf000015_0002
fibers. In absence of other deformations, a cross section of the fibers may behave like material in frictional contact, resisting compression and shearing. Thus, the third term /i(R3) may be a form of a two dimensional elastic potential, since it naturally enforces the frictional contact (when combined with appropriate plasticity law). That is,
Figure imgf000015_0010
where e1 and e2 are the logarithms of the nontrivial singular values of R3.
Figure imgf000015_0011
[0072] 3.3.2 Codimensional Anisotropic Elasticity for Surfaces
[0073] For the elastic surface energy, the surface may be assumed as being isotropic, e.g., the potential is invariant under rotation of the material directions D-,^ and D2 . Similarly, R = R3R2RX is decomposed into a composition of three deformations. The first (Rx) is an in- plane deformation of the surface. The second (R2) is a shearing of surface normal. The third (R3) is a compression or stretching of the surface normal:
Figure imgf000016_0001
The energy may be expressed as a sum of three terms,
Figure imgf000016_0002
The first term (R3) may penalize compression of the material in the normal direction, since the surface may be mostly surrounded by empty space which can expand freely:
Figure imgf000016_0003
[0074] The second term may be a form of to penalize shearing of the
Figure imgf000016_0004
normal to the surface. The third term hiR^ may use a two dimensional version of a fixed corotated potential to penalize deformation of the surface. Although in some embodiments, any in-plane energy may be used, with no change except to the stress and stress derivatives.
[0075] 3.4 Friction and Plastic Yield Condition
[0076] With Coulomb friction, the frictional force ff may be smaller than a constant cF (the coefficient of friction) times the normal force In a continuum view, at a given
Figure imgf000016_0005
point x in world space and a normal vector n, the traction vector t represents the local force per area that the material on one side of the plane with normal n exerts on the other side. The traction may have normal and shearing components
Figure imgf000016_0006
respectively where s(n, Θ) is an arbitrary vector in the plane with normal n, and Θ indicates its direction in the plane. Note that in the convention here, the compressive force fn may be positive as in the Coulomb model. If the material is in frictional contact in direction n, then ff = fs is the component of the frictional response in the direction s(n, Θ) and for angles Θ, and the inequality may be satisfied.
Figure imgf000016_0008
[0077] The traction may be expressed in terms of the Cauchy stress σ as t = ση, showing that the Coulomb model places constraints on the stress:
Figure imgf000016_0007
for all Θ given frictional contact direction n. In the case of a grain, contact may be assumed to happen in all directions. For elastic surfaces or curves (e.g. clothing), the model considers the directions orthogonal to the manifold to be in frictional contact. Together with the choice of elastic potential, this results in a less restrictive constraint that does not affect elastic deformation in the manifold. For frictional contact between surfaces, the model may consider contact in the direction normal to the surface: n = q3. For curves, there is a two dimensional normal space spanned by q2 and q3 and thus contact in all directions are considered
Figure imgf000017_0001
[0078] In order to satisfy the stress constraints the material will yield. Physically this yielding may manifest as the cloth or fibers sliding, and "forgetting" some of the shearing deformation. This "forgetting" occurs by some of the incremental deformation being stored in Fp as opposed to F£, as the stress is a function of F£ and not Fp.
[0079] 4. DISCRETIZATION
[0080] In some embodiments, the disclosed approach may include MPM discretization, which translates from the theoretical continuum equations into a computation procedure for codimensional elasticity with contact. PIC and MPM may be hybrid particle/grid methods. From the continuum point of view, the particles represent discrete samples of the continuous material and the grid is a helper for computing their physical interactions. For example, for sands, the particles may be rendered as individual grains and the grid update, whose essential features are inherited from the continuum, which can be seen as a means for processing their frictional contact interactions. However, for codimensional elasticity, the continuum samples may be modeled as coherent surface or curve meshes, rather than as unstructured particles, which is different from other MPM approaches.
[0081] The disclosed MPM discretization may model self-collision and its ramifications in the grid momentum updates, as well as the associated elasticity and plasticity updates. In some embodiments, the discretization procedure may include:
[0082] (1) Transfer to grid: transferring mass and momentum from particles to the grid, and dividing grid momentum by grid mass to define grid velocity.
[0083] (2) Update grid momentum: using either explicit symplectic Euler or backward Euler to update grid momentum.
[0084] (3) Transfer to particles: using APIC to transfer velocities and affine matrices from grid to particles. [0085] (4) Update particles: updating particles positions and deformation gradients.
[0086] (5) Update plasticity: projecting the deformation gradient for plasticity, and updating the elastic and plastic parts.
[0087] 4.1 Lagrangian State
[0088] In some embodiments, the Lagrangian particle state may be the primary representation of material for MPM. Particles can be classified as: (i) traditional MPM particles, (ii) Lagrangian mesh vertex particles, or (Hi) Lagrangian mesh element quadrature particles (e.g., see FIG. 11). Type (ii) particles may be used to track the in-manifold deformation of the elements. Type (Hi) particles may be used to track to the codimensional deformation in an updated Lagrangian manner.
[0089] At time tn, the model stores the particle positions velocities initial mass mp,
Figure imgf000018_0001
Figure imgf000018_0002
elastic deformation gradient initial volume affine velocity Cp and undeformed
Figure imgf000018_0004
Figure imgf000018_0003
material directions Dp. In some embodiments, Dp is not stored for particles of type (i) and (ii). is not stored for particles of type (ii). The mass is set as is set
Figure imgf000018_0006
Figure imgf000018_0005
according to the total volume divided by the number of particles for type (/') particles. For particles of type (ii) and (Hi), the volume of each triangle or segment is divided equally among the type (ii) and type (Hi) particles incident to it, and then is added to each particle's V°
[0090] Here the notation /( , Im, Im may be used to represent the sets of particle indices of types (i),(ii) and (Hi) respectively. E.g. for any particle index p, the particle is in one of /( ; /(") or depending on its type.
[0091] 4.2 Grid Transfers
[0092] 4.2.1 Particle to Grid
[0093] In some embodiments, the particle mass and momentum may be transferred to the grid using, e.g., APIC. Each particle p and grid node i is associated with a weight
Figure imgf000018_0007
where χέ is the location of the grid node and N(x) are linear, quadratic or cubic
Figure imgf000018_0008
b-spline kernels. These weights define the contribution of quantities on particle p to grid node i. The mass contribution from particle p to grid node i is The total mass on grid
Figure imgf000019_0004
node i is a sum of the contributions from particles
Figure imgf000019_0005
[0094] With APIC, each particle also stores matrix to define an affine velocity local to the
Figure imgf000019_0008
particle. With this convention, the momentum contribution from particle p to node i is
For each grid node /', a sum of the contribution from particles
Figure imgf000019_0006
p is generated for grid momentum and then is divided by the grid mass to generate the grid velocity as
Figure imgf000019_0007
[0095] 4.2.2 Grid to Particle
[0096] After the update of grid node momentum, the grid velocities are transferred to particles. vf+1 denote grid node velocities after the momentum updates. The grid to particle transfer with APIC may be written as and
Figure imgf000019_0001
where bd is the b-spline degree (bd = 3 for cubic
Figure imgf000019_0002
b-spline interpolation, bd = 2 for quadratic b-spline interpolation) and h is the Eulerian grid spacing. For the linear kernel reduces to the velocity gradient. In that case, it can be
Figure imgf000019_0009
computed as
Figure imgf000019_0003
[0097] For MPM particles and Lagrangian mesh vertex particles, the positions are updated with The positions of Lagrangian mesh element quadrature particles
Figure imgf000019_0010
are confined to (or around) the barycenters of their corresponding Lagrangian elements to prevent drifting that may occur with a MPM update of these positions.
[0098] 4.2.3 Dampening
[0099] In some embodiments, the Rigid Particle-in-Cell (RPIC) may be treated as a reduced APIC scheme that damps out stretching and shearing motions while conserving rigid velocity modes. APIC degrades to RPIC if just the skew symmetric part of is kept. Furthermore,
Figure imgf000019_0011
if is decomposed into the symmetric part and the skew symmetric part
Figure imgf000019_0013
Figure imgf000019_0012
Figure imgf000019_0014
the model may stably introduce damping to the system by scaling
Figure imgf000019_0015
Figure imgf000019_0016
where v G [0,1] is the damping coefficient. This allows controlling the damping on stretching and shearing without damping local or global rigid motions. In some embodiments, any value of v may be chosen depending on how energetic a simulation is. In some embodiments, the damping scheme may damp non-rigid motion in a stable way without introducing any additional time step restriction. For example, the damping scheme may work with explicit symplectic Euler time stepping.
[00100] 4.3 Deformation Gradient Update
[00101] In some embodiments, the continuum samples may be treated as coherent surfaces or curves, rather than as unstructured particles. The treatment may be applied to, e.g., elastic volumes and surfaces (without self-collision). In some embodiments, for the meshes, the Eulerian MPM update of the deformation gradient may be abandoned, and the mesh connectivity may be used to compute the manifold components of the deformation gradient. This approach may also be applied to triangulated surfaces and segmented curves. This allows for a Lagrangian update of the deformation gradient that does not suffer from the numerical plasticity or fracture of the Eulerian update. The approach allows for coupling of Lagrangian elastic meshes with MPM materials. However, self-contact with codimensional meshes may not be well resolved.
[00102] In some embodiments, the disclosed approach further introduces an Eulerian deformation of the grid, to obtain the full rank deformation gradient. Thus, the disclosed approach allows for penalizing self-contact, while still preventing numerical plasticity and fracture. A comparison of the approaches with or without Eulerian deformation of the grid is shown in FIG. 10.
[00103] In some embodiments, the deformation gradient may be updated in terms of the motion of the grid over a time step. The motion of the grid may be described in terms of Xi , the Eulerian grid nodes at the beginning of the time step and xt their location after a grid update. Although the grid may not be necessarily deformed, the grid momentum update may be treated in terms of the motion that it may cause on the grid. In particular, this allows defining the elastic grid forces through a differentiation of a potential. The use of incremental grid node motion is referred to as an updated Lagrangian view. In other words, the motion of the grid is treated as Lagrangian, albeit from the grid configuration at time tn, instead of the rest configuration. Using to denote the grid node velocity after the momentum update,
Figure imgf000020_0001
the locations are updated
Figure imgf000021_0001
to denote the vector of all moved grid positions X; and velocities
Figure imgf000021_0002
respectively, the deformation gradient update on particle p may be defined in terms of
Figure imgf000021_0003
[00104] For MPM particles (e.g., type (/')), the elastic deformation gradient may be updated as:
Figure imgf000021_0004
where assuming no initial deformation. For mesh vertex
Figure imgf000021_0005
particles (e.g., type (/'/)), the deformation gradient may not be stored, so elastic deformation gradient may not be updated. For a Lagrangian mesh element quadrature particle (e.g., type
Figure imgf000021_0006
are matrices whose columns are respectively the deformed elastic and initial material directions. For the ζ (e.g., 1 for curves and 2 for surfaces) directions tangent to the manifold,
Figure imgf000021_0007
which corresponds to the undeformed mesh element edge vectors (where β = 1, ... , ζ). Then which are
Figure imgf000021_0008
the deformed edge vectors. The deformed mesh particle positions are interpolated from the deformed grid node positions In some embodiments, the ζ directions
Figure imgf000021_0009
Figure imgf000021_0010
tangent to the manifold may not include superscript E since they may not experience plasticity. Also, the notation mesh(p, β) for β = 0 . . . ζ is used to denote the mesh vertex particle (type (/'/)) indices of the mesh element corresponding to Lagrangian mesh element quadrature particle p. In some embodiments, the remaining 3 — ζ directions may be of unit length and normal to the manifold, and may be evolved as in MPM via
Figure imgf000021_0011
[00105] In some embodiments,
Figure imgf000021_0012
is updated ignoring any further plasticity. may
Figure imgf000021_0014
be further processed for plasticity to obtain
Figure imgf000021_0013
[00106] 4.4 Grid Momentum Update [00107] In some embodiments, the update of the grid node momentum (e.g., velocities since the grid node masses do not change in the update) may be described as:
Figure imgf000022_0003
The hat in distinguishes the update from the velocities that may be transferred to the
Figure imgf000022_0004
grid in a next time step denote the vector of all grid moved positions and
Figure imgf000022_0005
Figure imgf000022_0006
velocities respectively. The grid momentum update may be expressed as:
Figure imgf000022_0001
where f is the elastic force, g is the gravitational acceleration and for symplectic Euler
Figure imgf000022_0009
or for backward Euler. The notation x(q) indicates the dependence of the moved grid
Figure imgf000022_0008
nodes through
Figure imgf000022_0007
[00108] The elastic force f may be defined in terms of the elastic potential energy. Given elastic energy density ψ, the total potential may be computed as over material
Figure imgf000022_0010
domain Ω. When discretely approximated on particles, the total potential may be expressed as:
Figure imgf000022_0002
where is the undeformed volume of particle p. To compute grid node forces, Φ is differentiated as a function of is expressed as a function of The force on node i is
Figure imgf000022_0012
Figure imgf000022_0013
expressed as
Figure imgf000022_0011
[00109] may be a third order tensor, and may not depend on
Figure imgf000022_0015
because is linear
Figure imgf000022_0014
Figure imgf000022_0016
in In some embodiments, the tensor allows splitting the computation into three parts. The first part corresponds to MPM particles and the force is
Figure imgf000022_0017
- y expressing F using a material space coordinate frame which is aligned with the element, the first ζ columns of F may be assumed to correspond to in-manifold deformation. In other words, the first ζ columns of correspond to the stress response inside the manifold and these terms can be computed by first computing forces on Lagrangian mesh vertex particles (type (/'/')) and then transferring them to the grid. Denoting these vertex forces with
Figure imgf000023_0001
their corresponding contribution to grid node forces may be computed as The last 3— ζ columns
Figure imgf000023_0003
of correspond to the normal space contribution. This part may be computed by summing over Lagrangian mesh element quadrature particles (type (Hi)). Differentiating the last ζ columns of with respect to may be handled similarly to MPM through
Figure imgf000023_0004
Figure imgf000023_0005
Figure imgf000023_0006
This contribution to the force may be expressed as
Figure imgf000023_0007
where denotes the column of ΈΕ . With
Figure imgf000023_0008
Figure imgf000023_0009
this view, the force is expressed as
Figure imgf000023_0002
[00110] In some embodiments, when using backward Euler, the system may be modeled by utilizing the Hessian of Φ with respect to
Figure imgf000023_0013
and ignoring the effects of plasticity during the process. The action of this Hessian on an arbitrary increment Su may be expressed as where implicit summation
Figure imgf000023_0010
may be used on repeated indices. In some embodiments, Newton's method may be used to solve the nonlinear system. In some embodiments, the effects of plasticity may be included in the implicit solve. However, this leads to non-symmetric force derivatives that require a generalized minimal residual method (GMRES) when using Newton's method. According to at least some embodiments of the present disclosure, the lagged plasticity approach may lead to symmetric force derivatives and thus a minimal residual method (MINRES) may be used to solve the linearized systems.
[00111] 4.5 Return Mapping
[00112] In some embodiments, the return mapping may be a discrete version of the yield condition and flow rule. The return mapping may be a form of a projection, which enforces the yield condition on the stress, with the direction of the flow rule, defining the direction of the projection. The return mapping may be applied after the deformation gradient update so that the updated stress may satisfy the yield condition. To perform the return mapping, the QR-decomposition may be generated as
Figure imgf000023_0011
is projected from to satisfy the yield condition, before constructing In some
Figure imgf000023_0012
embodiments, the stress satisfies for every normal n to the curve,
Figure imgf000024_0004
and every tangential direction s(n, Θ) perpendicular to
Figure imgf000024_0005
denotes the stress evaluated at
Figure imgf000024_0006
(the hypothetical stress if no plastic flow occurs), while σ denotes the stress evaluated at Rn+1 (the stress accounting for plasticity); similar naming conventions apply to the and
Figure imgf000024_0007
fn, and other hatted and non-hatted variables.
[00113] 4.5.1 Surfaces
[00114] In some embodiments, for surfaces, the normal may be fixed n = q3, and s(n, Θ) may be eliminated by noting that maximum of s(n, θ)τ t is obtained at the angle corresponding to the projection of t into the plane with normal n: maxg s(n, 6)Tt = It + y^nl . The model determines if r33 > 1, if the normal is in extension and no friction should occur, r13 = r23 = 0 is set. Further, r33 = 1 may be set, as it is used to penalize collisions and previous stretching in that direction may not be taken into account. If f33 < 1, the model determines whether the condition |t— (tTn)n| + cFnTt < Ois satisfied, where n = q3. The traction may be expressed as
Figure imgf000024_0001
Thus the magnitude of the normal traction may be expressed as
Figure imgf000024_0008
and the magnitude of the tangential traction may be expressed as If
Figure imgf000024_0002
the condition is violated, uniform scaling may be applied: and
Figure imgf000024_0010
Figure imgf000024_0009
so that The r13and r23 components are changed, as these represent
Figure imgf000024_0003
Figure imgf000024_0011
shearing along the surface of, e.g., clothing. In some embodiments, the magnitude of the tangential traction may change, but the direction may not change, corresponding to the uniform scaling. In some embodiments, the return mapping may be independent of the choice of in-plane energy /i(Ri). E.g., the in-plane surface energy may be used from instead.
[00115] FIG. 16 illustrates the return mapping of a 2D curve. is unchanged. In the
Figure imgf000024_0012
left figure, each shaded region corresponds to the feasible state of the deformed material normal and is determined by the yield function. The right figure shows the same yield surface in r12r22 space. The tip of the yield surface corresponds to the world space manifold normal and is usually different from d2. For example, the Return mapping may take a trial strain and results in the The particle corresponding to is inside the yield
Figure imgf000024_0013
Figure imgf000024_0014
surface and exhibits an elastic response. The particle corresponding to
Figure imgf000025_0003
is under compression but experiences more shear than friction allows. Such a configuration is projected to the yield surface along the direction that avoids normal component change. The particle corresponding to
Figure imgf000025_0001
is experiencing tension and is projected to the tip of the yield surface. The corresponding stress is zero, allowing materials to separate freely. The particle corresponding to
Figure imgf000025_0002
is inverted from the original side of material (due to discrete numerical step). The shearing may be disabled by nullifying the r22 component, and relying on elasticity to penalize such configuration.
[00116] 4.5.2 Curves
[00117] Fibrous materials may have anisotropic friction. For example, hair may be smoother along the fiber direction than perpendicular to the fiber direction. Thus, an anisotropic friction rule may be used, which is stricter and easier to apply. Let
Figure imgf000025_0004
be the entries of σ in the Q basis, and
Figure imgf000025_0006
Then the conditions are which is Mohr-Coulomb in the q2, q3 plane, and
Figure imgf000025_0007
Figure imgf000025_0005
which controls the friction along the fiber, and β are material
Figure imgf000025_0008
parameters. Larger increases friction perpendicular to the fibers, and larger β increases friction along the fiber.
[00118] The stricter conditions imply that
Figure imgf000025_0009
β. The direction s(n, Θ) may be written as
Figure imgf000025_0010
q3 plane. Thus,
Figure imgf000025_0011
from the derivation of 2D Mohr-Coulomb. Therefore
Figure imgf000025_0013
Figure imgf000025_0012
which may be less or equal to 0 by assumption.
Figure imgf000025_0014
[00119] To enforce these constraints, the 2D volume preserving return mapping may be performed on
Figure imgf000025_0015
The mapping may be described in terms of the logarithms of
Figure imgf000025_0020
the singular values of
Figure imgf000025_0016
The model determines if
Figure imgf000025_0017
0, in which case the hair has expanded laterally and no friction should occur and
Figure imgf000025_0018
0. Otherwise the model determines
Figure imgf000025_0019
f which corresponding to a situation where no plasticity occurs and Otherwise plastic flow occurs
Figure imgf000025_0021
and are set, which will preserve In some
Figure imgf000026_0009
Figure imgf000026_0008
embodiments, the model may choose to make
Figure imgf000026_0007
Figure imgf000026_0006
Figure imgf000026_0010
. Then the model constructs
Figure imgf000026_0004
. The model determines if the condition for shearing tangent to the fibers is satisfied. If the
Figure imgf000026_0003
condition is violated, scaling is performed
Figure imgf000026_0005
to satisfy
Figure imgf000026_0002
Figure imgf000026_0001
[00120] 5. SIMULATION SAMPLES
[00121] Table 1 lists parameter choices for some simulation examples. Table 2 lists runtime performance results for some simulation examples. In some embodiments, some simulations may be run on Intel Xeon E5-2690 V2 with 19 threads.
Figure imgf000026_0011
Table 1. Parameter choices. Material Parameters: Here p refers to the density, E to the Young's modulus, η to the Poisson's ratio, y to the shearing stiffness, k to the stiffness, <t>F to the internal friction angle, and v to the damping coefficient. For surfaces, the friction coefficient CF = tan <t>F. For curves, the friction coefficient along the fiber is β = tan <t>F. The one perpendicular to the fiber is
Figure imgf000027_0001
Figure imgf000027_0002
Table 2. Runtime performance results for some simulation examples. Element # denotes number of triangles (for surfaces), number of segments (for curves) or the total count (for coupling simulations). Memory usage is measured in the end of the first frame. At here means maximum allowed time step. The actual running At is adaptive and may be restricted by Courant-Friedrichs-Lewy (CFL) condition when the particle velocities are high. In the simulations, a CFL number equals to 0.3, e.g., particles are not allowed to move further than 0.3Δχ in a time step.
[00122] 5.1 Effect of Friction
[00123] FIG. 12 illustrates a simulation of 2D curves with different friction coefficients dropping on a block. Internal friction may be naturally controlled via adjusting cF.
[00124] 5.2 Simulation of Cloth
[00125] The surface elastoplasticity model may simulate cloth triangulated surfaces in various scenarios involving numerous self-collisions (see, e.g., FIG. 1, FIG. 3, FIG. 4 and FIG. 14). The elastoplasticity model can resolve frictional contacts with a modest computational cost. The run time may not grow with the number of colliding primitives. In some embodiments, for the cloth examples, zero friction (cF = 0 and γ = 0) may be chosen to allow smooth sliding between cloth pieces.
[00126] 5.3 Simulation of Knitted Garments, Hair and Fibers
[00127] The fiber elastoplasticity may be simulated with yarn level simulation of knitted fabric. In some embodiments, multiple threads per yarn may be simulated. A mesh model may be used to simulate different examples including, e.g., dropping a sweater (FIG. 7), a jumping character wearing a poncho (FIG. 17), twisting a knitted cloth with a cylinder (FIG. 5), and hitting a knitted cloth curtain with a ball (FIG. 14). By accurately capturing frictional contact between yarns, the method inherently reproduces anisotropic stretching behaviors governed by knit patterns (FIG. 15). The fiber model may also be suitable for simulating hair (FIG. 13), shag carpet (FIG. 2) and other fibrous materials (FIG. 6). In some embodiments, each strand may be simulated. At least in some embodiments, the disclosed method scales well regardless of the complexity of segment contacts. RPIC damping may be used for stabilizing the simulations under large timesteps.
[00128] 5.4 Two-way Coupling
[00129] The disclosed method inherently handles multiple material coupling without requiring additional treatment. The constitutive model may be defined on each particle. For example, FIG. 1 and FIG. 9 illustrates a sand column with 7 millions particles coupled with a piece of cloth. FIG. 19 illustrates a cloth curtain getting hit by a ball while interacting with sand and/or goo. FIG. 18 illustrates dripping viscous green slime into an elastic bear geometry. A relatively high collision stiffness (k) may be set on the cloth to prevent sand from sticking to it.
[00130] 5.5 Comparison with other MPM Methods
[00131] The result of disclosed method is compared with other MPM approaches by simulating multiple curves dropping onto a block (see FIG. 10). Other meshless MPM causes numerical fracture of the material. The other method may just model the manifold stress response, resulting in unnatural clumping and numerical cohesion of curves. The disclosed method adopts a full elastoplasticity model, achieves natural and realistic dynamics, and exhibits a smooth frictional sliding appearance, without excessive frictional effects.
[00132] 6. ADDITIONAL TREATMENT
[00133] In some embodiments, the disclosed method may use a regular grid to resolve material interactions. The apparent thickness of the surface and/or curve may depend on the grid resolution and on the repulsion energy model. In some embodiments, the disclosed method may be modified to reduce or eliminate artifacts when if the grid resolution is large. For a large grid resolution, the artifacts may manifest as numerical separation where particles tend to stay separated by an amount about half a grid cell width or numerical stickiness. Thus, the motion of the grid may be accurate to resolve the proper behavior. Therefore the method may simulate frictionless materials and control the apparent thickness independent of the grid.
[00134] In some embodiments, the disclosed method is suitable for situation where the size of the surface or curve elements is at most the size of the grid spacing. In some embodiments, the disclosed method may be modified to reduce or eliminate persistent wrinkles, which may manifest when a mesh is fine compared to the grid. In some embodiments, the disclosed method may be modified to reduce or eliminate self-penetration, which may manifest when a mesh is coarse compared to the grid because the material coverage is not resolved well enough on the grid. When penetration accidentally happens (due to At being too big), it may be resolved because elasticity may penalize that inverted collision direction. In some embodiments, the disclosed method may prevent the self- penetration by enforcing the CFL condition when choosing At. The disclosed method may use small time steps and increase overall run time.
[00135] In some embodiments, when transferring from particles to grid, the disclosed method may determine local neighbor information. In some embodiments, the penalty on compression in the normal direction may be treated as repulsion springs. In some embodiments, no fail-safe is used to prevent self-penetration when the repulsions fail. In some embodiments, the disclosed method may have smaller time steps for high grid resolution simulation, without fail-safes. In some embodiments, the disclosed method performs well for high resolution examples. E.g., for the cloth curtain example (FIG. 14), the disclosed method may achieve computation times of, e.g., 2 minutes per frame on average for, e.g., 1.8 million triangles.
[00136] In some embodiments, the disclosed method tends to scale as well as the particle-grid transfers. The process may be performed in parallel over multiple CPU threads. In some embodiments, performance gains may be achieved with a GPU implementation.
[00137] In some embodiments, derived from a continuum, during the discretization of surface elasticity, material local to the surface moves in straight lines with the normal. In some embodiments, the continuum based bending model may be used.
[00138] 7. DETAILS OF MODELING PROCESSES
[00139] 7.1 OR Differentiation
[00140] In some embodiments,
Figure imgf000030_0004
can be computed from F and
Figure imgf000030_0005
This may be used for computing the linearized force in implicit time integration. If F = QR where Q is orthonormal with QTQ = I, and
Figure imgf000030_0001
is upper triangular. The function is defined as then:
Figure imgf000030_0006
Figure imgf000030_0003
where <5R is upper triangular:
Figure imgf000030_0002
Figure imgf000031_0001
which implies:
Figure imgf000031_0002
[00141] These equations can be used to solve for Then constructing
Figure imgf000031_0011
Figure imgf000031_0003
[00142] The corresponding 2D result is
Figure imgf000031_0004
[00143] 7.2 Computing Stress
Figure imgf000031_0005
[00144] In some embodiments, the above holds for any
Figure imgf000031_0010
that satisfy
Figure imgf000031_0006
may be upper triangular. Specifically, it may be shown that given arbitrary upper triangular, 3δΈ such that
Figure imgf000031_0007
Figure imgf000031_0008
[00145] Using null for all upper triangular
Figure imgf000031_0009
Figure imgf000032_0002
If choosing in Equation (1), then
Figure imgf000032_0010
Figure imgf000032_0003
[00146] Since
Figure imgf000032_0007
is any upper triangular matrix, have the same upper
Figure imgf000032_0004
triangular part. Furthermore, since RT is lower triangular, have the same
Figure imgf000032_0005
upper triangular part.
[00147] If the method chooses
Figure imgf000032_0008
in Equation
Figure imgf000032_0006
then
Figure imgf000032_0001
[00148] Since is an arbitrary skew symmetric matrix (due to
Figure imgf000032_0009
0), for the above equation to hold, may be symmetric. Thus, Kirchoff stress
Figure imgf000033_0005
Figure imgf000033_0004
is symmetric without needing to use conservation of angular momentum. Then
Figure imgf000033_0001
i.e., is symmetric.
Figure imgf000033_0006
[00149] In summary, have the same upper triangular part.
Figure imgf000033_0007
is symmetric. The tensor is denoted with
Figure imgf000033_0008
Figure imgf000033_0009
Therefore, A may be τ written in the Q basis.
[00150] 7.3 A Curve in 3D
[00151] The upper triangular part of A may be contstructed with , then
Figure imgf000033_0010
symmetry of A is used. Assuming
Figure imgf000033_0002
then
Figure imgf000033_0003
where
Figure imgf000033_0011
Then
Figure imgf000034_0001
[00152] Here, the process may choose
Figure imgf000034_0002
to be the dilational part of the Kirchoff stress from the 2 x 2 Stvk Hencky Drucker-Prager. In other words, assuming getting some t after the return mapping of dry sand from an input
Figure imgf000034_0003
the bottom right corner of A is replaced with pi, where p = tr(t) /2.
[00153] Under such a choice,
Figure imgf000034_0004
[00154] In some embodiments, Mohr friction criteria may lead to the following maximization: maximization of over all possible n that is perpendicular to
Figure imgf000034_0015
the fiber direction, with all d perpendicular to n and has unit length. In other words, is maximized over all possible n that is perpendicular to the fiber
Figure imgf000034_0005
direction, with all d perpendicular to n and has unit length.
[00155] Therefore,
Figure imgf000034_0006
is maximized over all possible n that is perpendicular to the fiber direction, with all d perpendicular to n and has unit length, where
Figure imgf000034_0007
Since in the discretization, the fiber direction is q1; therefore for some Θ.
Figure imgf000034_0009
[00156] Therefore,
Figure imgf000034_0008
is maximized over possible n that is (0, c, s) over all 6>, with all
Figure imgf000034_0013
perpendicular to n and has unit length.
[00157] Lagrangian multiplier may solve the maximization and lead to the maximum
If choosing g(x) = x, the yield surface may be The return
Figure imgf000034_0014
Figure imgf000034_0010
mapping is then simply a scaling on r so that the yield criteria is satisfied.
[00158] 7.4 A Surface in 3D
[00159] Surface may be similar to curve in the framework. With the codimensional discretization, the triangle may be mapped back to x-y plane. If the input 3D triangle at rest is
Figure imgf000034_0012
the method may define This forms an imaginary
Figure imgf000034_0011
whose QR decomposition leads to the rotation from x-y plane of this triangle
Figure imgf000035_0005
as well as the top part of being the 2 X 2 version Dm. The third column of is the rotated D3 where
Figure imgf000035_0007
Figure imgf000035_0006
D3 = e3
[00160] In some embodiments, for any triangle di, d2 in world space, the full F may be constructed as:
Figure imgf000035_0004
[00161] In MPM, is upper triangular,
Figure imgf000035_0008
therefore is upper triangular.
[00162] The method performs thin QR decomposition:
Figure imgf000035_0001
where may be 2 x 2 upper.
[00163] If = qx X q2 is constructed, then
Figure imgf000035_0002
where Qh := d3. The QR decomposition of F is constructed as
Figure imgf000035_0003
Here
Figure imgf000035_0009
[00164] The previous lemma in curve may still hold: have the
Figure imgf000035_0010
same upper triangular part. is symmetric. This tensor may be denoted with A
Figure imgf000035_0011
· Therefore A may be τ written in the Q basis. The upper
Figure imgf000035_0012
triangular part of A may be constructed with then symmetry of A is used.
Figure imgf000035_0013
[00165] 7.4.1 Surface Elastoplasticity [00166] D3 = e3, then
Figure imgf000036_0001
[00167] Physically, the top left is in plane (x-y) deformation of the triangle, since
Figure imgf000036_0002
r3 represents the deformation of D3 . because is the length change,
Figure imgf000036_0006
is the shearing (or the deviation from being perpendicular to the x-y triangle plane).
Figure imgf000036_0010
Shearing may also penalize length change.
[00168] Defining
Figure imgf000036_0003
then
Figure imgf000036_0004
where
Figure imgf000036_0007
I (1(11691 Then,
Figure imgf000036_0005
[00170] In some embodiments, Mohr friction criteria leads to the following maximization: Maximization of
Figure imgf000036_0008
over all possible n that is perpendicular to the manifold plane, with all d perpendicular to n and has unit length. In other words, is maximized over all possible n that is perpendicular to the
Figure imgf000036_0009
manifold plane, with all d perpendicular to n and has unit length. In other words, is maximized over all possible n that is perpendicular to the manifold plane, with all
Figure imgf000037_0016
d perpendicular to n and has unit length, where
Figure imgf000037_0002
[00171] n perpendicular to manifold plane means for some k (unit
Figure imgf000037_0003
length constraint is extra).
Figure imgf000037_0001
where is upper triangular 2 x 2 , this means for some z.
Figure imgf000037_0004
Therefore, Therefore
Figure imgf000037_0017
Figure imgf000037_0005
[00172] The process maximizes
Figure imgf000037_0006
for some Θ. The maximum is for
Figure imgf000037_0007
x < 1, 0 otherwise, g(x) = yx. When r33 > 1, / = 0, the maximum is yr33 |r| .
[00173] In this case, the return mapping causes r to be zero.
[00174] When r33 < 1, the maximum is
Figure imgf000037_0008
[00175] The yield surface is therefore
Figure imgf000037_0009
[00176] If r33 is negative (corresponding to inverted collision), the max may choose The return mapping is setting r to be 0. Otherwise, r may be scaled to satisfy
Figure imgf000037_0011
Figure imgf000037_0010
Figure imgf000037_0012
[00177] 7.5 A Curve in 2D
[00178] 2D derivation may follow 3D curve derivation: have the
Figure imgf000037_0013
same upper triangular part. is symmetric. This tensor may be denoted with
Figure imgf000037_0014
Therefore, A may be τ written in the Q basis.
Figure imgf000037_0015
[00179] The energy choice may be
Figure imgf000038_0002
then
Figure imgf000038_0001
[00180] In some embodiments, Mohr friction criteria may lead to the following maximization: maximization of over all possible n that is perpendicular to
Figure imgf000038_0018
the fiber direction, with all d perpendicular to n and has unit length. In other words, is maximized over all possible n that is perpendicular to the fiber
Figure imgf000038_0017
direction, with all d perpendicular to n and has unit length. Therefore, is
Figure imgf000038_0010
maximized over all possible n that is perpendicular to the fiber direction, with all d perpendicular to n and has unit length, where
Figure imgf000038_0011
Since in discretization, the fiber direction is qx, therefore
Figure imgf000038_0012
[00181] Thus,
Figure imgf000038_0015
is maximized over
Figure imgf000038_0013
In other words,
Figure imgf000038_0016
is maximized over
Figure imgf000038_0014
The maximum is otherwise.
Figure imgf000038_0003
[00182] When r22 > 1, h = 0, the maximum may be
Figure imgf000038_0006
the return mapping may set r12 = 0. When r22 < 1, the maximum is
Figure imgf000038_0005
The yield surface is therefore
Figure imgf000038_0004
[00183] If r22 < 0, the maximum may be The return mapping may set r12 = 0.
Figure imgf000038_0008
Otherwise, scale r12 may be scaled to satisfy
Figure imgf000038_0009
Figure imgf000038_0007
[00184] 7.6 Derivative of
Figure imgf000038_0019
[00185] is a third order tensor, and does not depend on
Figure imgf000039_0007
because is linear in
Figure imgf000039_0006
Figure imgf000039_0008
Figure imgf000039_0009
Here the process performs the derivation, by definition
Figure imgf000039_0001
[00186] Plugging in:
Figure imgf000039_0002
[00187] Differentiating:
Figure imgf000039_0003
which may not depend on
Figure imgf000039_0005
The undeformed segment or triangle may be treated as being aligned with the x-axis or xy-plane respectively. Thus, the initial F may no longer be I, but rather the rotation which maps the axis aligned element to its initial position in space. This is may not be an issue as the elastic energy density ψ may be world space rotation invariant. However, this allows assuming that D„ is block diagonal of the form
Figure imgf000039_0004
for segments and
Figure imgf000040_0001
for triangles. This may save memory for Dp, and simplify computing
Figure imgf000040_0004
[0018 Force on Grid
Figure imgf000040_0005
Define
Figure imgf000040_0002
Then
Figure imgf000040_0003
9] 7.8 A Sample Simulation Process
Figure imgf000041_0001
Figure imgf000042_0001
[00190] FIG. 20 is a high-level block diagram illustrating an example of a hardware architecture of a computing device 1100 that may perform various processes as disclosed, according various embodiments of the present disclosure. The computing device 1100 may execute some or all of the processor executable process operations or procedures described herein. In various embodiments, the computing device 1100 includes a processor subsystem that includes one or more processors 1102. Processor 1102 may be or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such hardware based devices.
[00191] The computing device 1100 can further include a memory 1104, a network adapter 1110, a cluster access adapter 1112 and a storage adapter 1114, all interconnected by an interconnect 1108. Interconnect 1108 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus (sometimes referred to as "Firewire") or any other data communication system.
[00192] The cluster access adapter 1112 includes one or more ports adapted to couple the computing device 1100 to other devices. In the illustrated embodiment, Ethernet can be used as the clustering protocol and interconnect media, although other types of protocols and interconnects may be utilized within the cluster architecture described herein.
[00193] The computing device 1100 can be embodied as a single- or multi-processor storage system executing a storage operating system 1106 that can implement a high-level module, e.g., a storage manager, to logically organize the information as a hierarchical structure of named directories and files at the storage devices. The computing device 1100 can further include graphical processing unit(s) for graphical processing tasks or processing non-graphical tasks in parallel.
[00194] The memory 1104 can comprise storage locations that are addressable by the processor(s) 1102 and adapters 1110, 1112, and 1114 for storing processor executable code and data structures. The processor 1102 and adapters 1110, 1112, and 1114 may, in turn, comprise processing elements and/or logic circuitry configured to execute the software code and manipulate the data structures. The operating system 1106, portions of which is typically resident in memory and executed by the processors(s) 1102, functionally organizes the computing device 1100 by (among other things) configuring the processor(s) 1102 to invoke. It will be apparent to those skilled in the art that other processing and memory implementations, including various computer readable storage media, may be used for storing and executing program instructions pertaining to the disclosed technology.
[00195] The network adapter 1110 can include multiple ports to couple the computing device 1100 to one or more clients over point-to-point links, wide area networks, virtual private networks implemented over a public network (e.g., the Internet) or a shared local area network. The network adapter 1110 thus can include the mechanical, electrical and signaling circuitry included to connect the computing device 1100 to the network. Illustratively, the network can be embodied as an Ethernet network or a Fibre Channel (FC) network. A client can communicate with the computing device over the network by exchanging discrete frames or packets of data according to pre-defined protocols, e.g., TCP/IP. [00196] The storage adapter 1114 can cooperate with the storage operating system 1106 to access information requested by a client. The information may be stored on any type of attached array of writable storage media, e.g., magnetic disk or tape, optical disk (e.g., CD- ROM or DVD), flash memory, solid-state disk (SSD), electronic random access memory (RAM), micro-electro mechanical and/or any other similar media adapted to store information, including data and parity information. The storage adapter 1114 can include multiple ports having input/output (I/O) interface circuitry that couples to the disks over an I/O interconnect arrangement, e.g., a conventional high-performance, Fibre Channel (FC) link topology. In various embodiments, the cluster adapter 1112 and the storage adapter 1114 can be implemented as one adaptor configured to connect to a switching fabric, e.g., a storage network switch, in order to communicate with other devices and the mass storage devices.
[00197] Amounts, ratios, and other numerical values are sometimes presented herein in a range format. It is to be understood that such range format is used for convenience and brevity and should be understood flexibly to include numerical values explicitly specified as limits of a range, but also to include all individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly specified.
[00198] While the present disclosure has been described and illustrated with reference to specific embodiments thereof, these descriptions and illustrations do not limit the present disclosure. It should be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the true spirit and scope of the present disclosure as defined by the appended claims. The illustrations may not be necessarily drawn to scale. There may be distinctions between the artistic renditions in the present disclosure and the actual apparatus due to manufacturing processes and tolerances. There may be other embodiments of the present disclosure which are not specifically illustrated. The specification and drawings are to be regarded as illustrative rather than restrictive. Modifications may be made to adapt a particular situation, material, composition of matter, method, or process to the objective, spirit and scope of the present disclosure. All such modifications are intended to be within the scope of the claims appended hereto. While the methods disclosed herein have been described with reference to particular operations performed in a particular order, it will be understood that these operations may be combined, sub-divided, or re-ordered to form an equivalent method without departing from the teachings of the present disclosure. Accordingly, unless specifically indicated herein, the order and grouping of the operations are not limitations of the present disclosure.

Claims

CLAIMS What is claimed is:
1. A method of visualizing a codimensional object having a frictional contact, comprising: transferring masses and momentums of a plurality of particles of the codimensional object to a grid including a plurality of grid nodes;
updating momentums of the grid nodes based on the transferred masses and momentums of the particles;
transferring the updated momentums of the grid nodes to the particles of the codimensional object;
updating positions of the particles and deformation gradients of the particles based on the updated momentums of the grid nodes;
projecting the deformation gradients for plasticity of the codimensional object;
updating elastic components and plastic components of the codimensional object; detecting a collision response of the codimensional object and tracking deformation of the codimensional object;
updating orthogonal components of the deformation gradients that correspond to an elastic response of the frictional contact of the codimensional object; and
outputting a visualization of the object based on the positions of the particles of the codimensional object.
2. The method of claim 1, wherein the collision response of the codimensional object is based on an elastoplastic constitutive model.
3. The method of claim 2, wherein the codimensional object is a codimensional elastic object, and deformation of the codimensional elastic object is tracked in a Lagrangian view.
4. The method of claim 2, wherein the elastoplastic constitutive model includes an anisotropic hyperelastic constitutive model that separately characterizes the collision response to at least one manifold strain, at least one shearing, and at least one compression.
5. The method of claim 4, wherein the at least one shearing and the at least one compression are in directions orthogonal to a manifold of the codimensional object for the at least one manifold strain.
6. The method of claim 4, wherein the anisotropic hyperelastic constitutive model includes a plastic flow that enforces a Coulomb friction inequality between shear and normal stresses in directions orthogonal to a surface or a curve of the codimensional object.
7. The method of claim 2, wherein the collision response is caused by a self-collision between portions of the codimensional object or a collision between the codimensional object and another codimensional object.
8. The method of claim 1, wherein the deformation gradients represent spatial derivatives of material deformation mapping of the codimensional object.
9. The method of claim 1, further comprising:
damping stretching motions or shearing motions of the codimensional object.
10. The method of claim 1, wherein the grid is represented as a Lagrangian mesh.
11. The method of claim 1, wherein the plastic components of the codimensional object are updated using a return mapping process.
12. The method of claim 1, further comprising:
determining a next time step;
repeating at the next time step the transferring masses and momentums of the particles of the codimensional object, the updating momentums of the grid nodes, the transferring the updated momentums of the grid nodes, the updating positions of the particles and the deformation gradients of the particles, the projecting the deformation gradients, and the updating elastic components and the plastic components of the codimensional object.
13. A non-transitory computer readable storage medium storing a program to render an animated elastoplastic object, the program comprising instructions executable by a processor to:
represent the animated elastoplastic object using a mesh representation including a plurality of particles, each particle of the particles including a mass and a momentum; transfer the masses and momentums of the particles to a grid representation of the animated elastoplastic object, the grid representation including a plurality of grid nodes; update momentums of the grid nodes of the grid representation based on an elastic force;
transfer the momentums of the grid nodes to the particles of the mesh representation; tracking deformation of the animated elastoplastic object caused by a collision;
updating orthogonal components of deformation gradients that correspond to an elastic response of a frictional contact of the animated elastoplastic object;
determine updated positions of the particles of the mesh representation based on the transferred momentums; and
update a visualization of the animated elastoplastic object based on the updated positions of the particles.
14. The computer readable storage medium of claim 13, wherein the elastic force depends on an elastic deformation gradient.
15. The computer readable storage medium of claim 14, the instructions further comprising instructions to:
update the elastic deformation gradient based on motions of the grid nodes of the grid representation over a time step.
16. The computer readable storage medium of claim 15, the instructions further comprising instructions to:
project the elastic deformation gradient for modeling an elastic or plastic motion of the animated elastoplastic object.
17. The computer readable storage medium of claim 14, wherein the elastic deformation gradient is specified by a differentiation of an elastic potential energy.
18. The computer readable storage medium of claim 13, the instructions further comprising instructions to:
further update the momentums of the grid nodes of the grid representation based on a gravitational force.
19. The computer readable storage medium of claim 13, wherein each mass of a grid node of the grid nodes of the grid representation is contributed by masses of multiple particles of the particles of the mesh representation.
20. The computer readable storage medium of claim 13, wherein the momentums of the grid nodes of the grid representation are updated using a symplectic Euler approach or a backward Euler approach.
PCT/US2018/033226 2017-05-17 2018-05-17 Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact Ceased WO2018213607A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/610,315 US11145099B2 (en) 2017-05-17 2018-05-17 Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762507740P 2017-05-17 2017-05-17
US62/507,740 2017-05-17

Publications (1)

Publication Number Publication Date
WO2018213607A1 true WO2018213607A1 (en) 2018-11-22

Family

ID=64274637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/033226 Ceased WO2018213607A1 (en) 2017-05-17 2018-05-17 Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact

Country Status (2)

Country Link
US (1) US11145099B2 (en)
WO (1) WO2018213607A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159954A (en) * 2020-01-02 2020-05-15 株洲时代新材料科技股份有限公司 Free-form surface mesh layout and finite element analysis method, system and medium for elastic element
CN113361184A (en) * 2021-05-19 2021-09-07 武汉大学 Particle system macroscopic stress fluctuation prediction method based on convolutional neural network
CN113516742A (en) * 2021-05-14 2021-10-19 网易(杭州)网络有限公司 Model special effect production method, device, storage medium and electronic device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12216969B2 (en) * 2020-09-04 2025-02-04 Nvidia Corporation Methods of contact for simulation
US20230169242A1 (en) * 2021-11-29 2023-06-01 Tencent America LLC Systems and methods of simulating drag-induced multiscale phenomena
US11966999B2 (en) * 2022-03-04 2024-04-23 Tencent America LLC Real-time simulation using material point method on graphics processing units
CN115203847B (en) * 2022-07-15 2024-05-28 燕山大学 A simulation method of anisotropic phase-field fracture algorithm based on MPM
CN116484245B (en) * 2023-04-11 2025-12-23 四川九洲电器集团有限责任公司 Data field joint decision graph clustering method based on grid division

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100277475A1 (en) * 2009-05-04 2010-11-04 Disney Enterprises, Inc. Computer graphic system and method for simulating hair
US20150187116A1 (en) * 2013-12-31 2015-07-02 Disney Enterprises, Inc. Material point method for simulation of granular materials
US20150242546A1 (en) * 2014-02-21 2015-08-27 Inyong JEON Method of Cloth Simulation using Constrainable Multigrid

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245379B2 (en) * 2011-10-19 2016-01-26 Disney Enterprises, Inc. Continuum based model for position based dynamics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100277475A1 (en) * 2009-05-04 2010-11-04 Disney Enterprises, Inc. Computer graphic system and method for simulating hair
US20150187116A1 (en) * 2013-12-31 2015-07-02 Disney Enterprises, Inc. Material point method for simulation of granular materials
US20150242546A1 (en) * 2014-02-21 2015-08-27 Inyong JEON Method of Cloth Simulation using Constrainable Multigrid

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GUILKEY ET AL.: "Implicit time integration for the material point method: Quantitative and algorithmic comparisons with the finite element method", INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, vol. 57, no. 9, July 2003 (2003-07-01), pages 1323 - 1338, XP055560930, [retrieved on 20180719] *
NGUYEN ET AL.: "Modeling the anisotropic finite-deformation viscoelastic behavior of soft fiber- reinforced composites", INTERNATIONAL JOURNAL OF SOLIDS AND STRUCTURES, vol. 44, no. 25-26, 2007, pages 8366 - 8389, XP022318109, Retrieved from the Internet <URL:https://www.sciencedirect.com/science/article/pii/S0020768307002582> [retrieved on 20180719] *
PFAFF ET AL.: "Lagrangian Vortex Sheets for Animating Fluids", ACM TRANSACTIONS ON GRAPHICS (TOG), vol. 31, no. 4, July 2012 (2012-07-01), XP055560902, Retrieved from the Internet <URL:https://dl.acm.org/citation.cfm?id=2185608> [retrieved on 20180719] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159954A (en) * 2020-01-02 2020-05-15 株洲时代新材料科技股份有限公司 Free-form surface mesh layout and finite element analysis method, system and medium for elastic element
CN111159954B (en) * 2020-01-02 2023-04-14 株洲时代新材料科技股份有限公司 Free-form surface mesh layout and finite element analysis method, system and medium for elastic element
CN113516742A (en) * 2021-05-14 2021-10-19 网易(杭州)网络有限公司 Model special effect production method, device, storage medium and electronic device
CN113361184A (en) * 2021-05-19 2021-09-07 武汉大学 Particle system macroscopic stress fluctuation prediction method based on convolutional neural network

Also Published As

Publication number Publication date
US11145099B2 (en) 2021-10-12
US20200082589A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
Jiang et al. Anisotropic elastoplasticity for cloth, knit and hair frictional contact
US11145099B2 (en) Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact
Li et al. An implicit frictional contact solver for adaptive cloth simulation
Bender et al. A survey on position‐based simulation methods in computer graphics
Han et al. A hybrid material point method for frictional contact with diverse materials
Bender et al. Position-based simulation of continuous materials
Bender et al. Position-based Methods for the Simulation of Solid Objects in Computer Graphics.
Spillmann et al. An adaptive contact model for the robust simulation of knots
Zong et al. Neural stress fields for reduced-order elastoplasticity and fracture
Bargteil et al. Animation of deformable bodies with quadratic Bézier finite elements
WO2008013741A2 (en) Physical simulations on a graphics processor
Borycki et al. GASP: Gaussian Splatting for physics-based simulations
Jones et al. Deformation embedding for point-based elastoplastic simulation
He et al. Projective peridynamics for modeling versatile elastoplastic materials
Kikuuwe et al. An edge-based computationally efficient formulation of Saint Venant-Kirchhoff tetrahedral finite elements
JP2009529161A (en) A method for simulating deformable objects using geometry-based models
Cetinaslan Position‐Based Simulation of Elastic Models on the GPU with Energy Aware Gauss‐Seidel Algorithm
Gao et al. Accelerating liquid simulation with an improved data‐driven method
Garstenauer et al. A unified framework for rigid body dynamics
CN119784911B (en) Particle collision method, device, equipment and storage medium based on physical simulation
Cetinaslan ESPEFs: Exponential spring potential energy functions for simulating deformable objects
Oh et al. Practical simulation of hierarchical brittle fracture
Cao et al. Research of fast cloth simulation based on mass-spring model
Harmon Robust, efficient, and accurate contact algorithms
Fang et al. Enhanced material point method with affine projection stabilizer for efficient hyperelastic simulations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18801961

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18801961

Country of ref document: EP

Kind code of ref document: A1