robust treatment of degenerate elements in interactive ...ocivit/slides/slidesdapd.pdf · o....

Post on 10-Jul-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Robust Treatment of Degenerate Elements inInteractive Corotational FEM Simulations

O. Civit-Flores and A. Susın

UPC-BarcelonaTech

June 11, 2014

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 1 / 36

Outline

1 Introduction

2 Corotational FEM

3 Rotation extraction

4 Degeneration-Aware Polar Decomposition

5 Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 2 / 36

Interactive FEM

Interactive simulation of deformable solids using FEMApplications:

Virtual reality, surgery, training...Videogames

Requirements:User interactionEfficiencyRobustnessRealism

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 3 / 36

Contribution

Element degeneration threatens robustness and realism:We identify issues with existing degenerate element treatmentschemesWe propose a new method that avoids them

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 4 / 36

Outline

1 Introduction

2 Corotational FEM

3 Rotation extraction

4 Degeneration-Aware Polar Decomposition

5 Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 5 / 36

Finite Element Method

Partition the computational domain Ω into sub-domains Ωi with Nshared nodes

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 6 / 36

Linear FEM

Tetrahedral elements:

re =

r1...

r4

, xe =

x1...

x4

, f e =

f 1...

f 4

The elastic forces on the nodes are:

f e = −Keue, ue = xe − re

Properties:Constant stiffness matrix Ke

Invariant to translation, but not to rotation

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 7 / 36

Linear FEMlinearization error

From [1]

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 8 / 36

Corotational Linear FEM (I)

Idea: Apply LFEM in a reference system local to each element

R

r1

r2 r3

x2

x1

x3

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 9 / 36

Corotational Linear FEM (II)

1 Compute deformation matrix F :

F = D(xe)D(re)−1, D(ve) =[v2 − v1 v3 − v1 v4 − v1

]2 Factorize into rotation and scaling:

F = RS

3 Apply linear elasticity in local coordinates:

f e = −ReKe(RTe xe − re)

Properties:Geometrically non-linearInvariant to translation and rotation

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 10 / 36

Corotational Linear FEM (II)

1 Compute deformation matrix F :

F = D(xe)D(re)−1, D(ve) =[v2 − v1 v3 − v1 v4 − v1

]2 Factorize into rotation and scaling:

F = RS

3 Apply linear elasticity in local coordinates:

f e = −ReKe(RTe xe − re)

Properties:Geometrically non-linearInvariant to translation and rotation

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 10 / 36

Corotational Linear FEM (II)

1 Compute deformation matrix F :

F = D(xe)D(re)−1, D(ve) =[v2 − v1 v3 − v1 v4 − v1

]2 Factorize into rotation and scaling:

F = RS

3 Apply linear elasticity in local coordinates:

f e = −ReKe(RTe xe − re)

Properties:Geometrically non-linearInvariant to translation and rotation

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 10 / 36

Corotational Linear FEM (II)

1 Compute deformation matrix F :

F = D(xe)D(re)−1, D(ve) =[v2 − v1 v3 − v1 v4 − v1

]2 Factorize into rotation and scaling:

F = RS

3 Apply linear elasticity in local coordinates:

f e = −ReKe(RTe xe − re)

Properties:Geometrically non-linearInvariant to translation and rotation

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 10 / 36

Corotational Linear FEM (II)

1 Compute deformation matrix F :

F = D(xe)D(re)−1, D(ve) =[v2 − v1 v3 − v1 v4 − v1

]2 Factorize into rotation and scaling:

F = RS

3 Apply linear elasticity in local coordinates:

f e = −ReKe(RTe xe − re)

Properties:Geometrically non-linearInvariant to translation and rotation

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 10 / 36

Dynamics and Quasistatics

Node positions x ∈ R3N are the DOF:Dynamics:

Mx = f s(x) + f d (x , x) + f ext

Quasistatics:f s(x) = −f ext

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 11 / 36

Element Degeneration

Collapse with |det(F)| < ε or inversion with det(F) < 0UnphysicalUnavoidable with (finite) linear forcesUnavoidable due to discretizationUnavoidable due to user interactiondet(F) < ε affects F = RS factorization

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 12 / 36

Element Degeneration

Collapse with |det(F)| < ε or inversion with det(F) < 0UnphysicalUnavoidable with (finite) linear forcesUnavoidable due to discretizationUnavoidable due to user interactiondet(F) < ε affects F = RS factorization

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 12 / 36

Element Degeneration

Collapse with |det(F)| < ε or inversion with det(F) < 0UnphysicalUnavoidable with (finite) linear forcesUnavoidable due to discretizationUnavoidable due to user interactiondet(F) < ε affects F = RS factorization

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 12 / 36

Element Degeneration

Collapse with |det(F)| < ε or inversion with det(F) < 0UnphysicalUnavoidable with (finite) linear forcesUnavoidable due to discretizationUnavoidable due to user interactiondet(F) < ε affects F = RS factorization

From [2]

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 12 / 36

Element Degeneration

Collapse with |det(F)| < ε or inversion with det(F) < 0UnphysicalUnavoidable with (finite) linear forcesUnavoidable due to discretizationUnavoidable due to user interactiondet(F) < ε affects F = RS factorization

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 12 / 36

Element Degeneration

Collapse with |det(F)| < ε or inversion with det(F) < 0UnphysicalUnavoidable with (finite) linear forcesUnavoidable due to discretizationUnavoidable due to user interactiondet(F) < ε affects F = RS factorization

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 12 / 36

Outline

1 Introduction

2 Corotational FEM

3 Rotation extraction

4 Degeneration-Aware Polar Decomposition

5 Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 13 / 36

Methods

Several methods to extract R from F are possible:Polar Decomposition [1]QR Factorization [3]Hybrid PD-QR [5]Modified Singular Value Decomposition (SVD1) [2]Coherent Singular Value Decomposition (SVD2) [4]Project/Reflect [6]Degeneration-Aware Polar Decomposition [?]

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 14 / 36

Polar Decomposition

Factorizes F = RS, where R is orthonormal and S is symmetricBest matching, minimizes ‖F −R‖2FFails if |det(F)| ≤ ε (collapsed)Reflected R with det(R) = −1 if det(F) < 0 (inverted)

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 15 / 36

Polar Decomposition

Factorizes F = RS, where R is orthonormal and S is symmetricBest matching, minimizes ‖F −R‖2FFails if |det(F)| ≤ ε (collapsed)Reflected R with det(R) = −1 if det(F) < 0 (inverted)

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 15 / 36

Polar Decomposition

Factorizes F = RS, where R is orthonormal and S is symmetricBest matching, minimizes ‖F −R‖2FFails if |det(F)| ≤ ε (collapsed)Reflected R with det(R) = −1 if det(F) < 0 (inverted)

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 15 / 36

QR Factorization

Factorizes F = RE using Gram-Schmidt orthonormalization, where Ris orthonormal and E is upper-triangular

Fast and RobustHandles collapsed and inverted elements seamlesslyInduces AnisotropyCritical point on collapse plane

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 16 / 36

QR Factorization

Factorizes F = RE using Gram-Schmidt orthonormalization, where Ris orthonormal and E is upper-triangular

Fast and RobustHandles collapsed and inverted elements seamlesslyInduces AnisotropyCritical point on collapse plane

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 16 / 36

QR Factorization

Factorizes F = RE using Gram-Schmidt orthonormalization, where Ris orthonormal and E is upper-triangular

Fast and RobustHandles collapsed and inverted elements seamlesslyInduces AnisotropyCritical point on collapse plane

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 16 / 36

Hybrid PD-QR

Use Polar Decomposition for undegenerate elements and QR fordegenerate ones below a threshold det(F) < α

Inherits good properties of PD and QR......but also the drawbacks of QR......and adds discontinuity across transition

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 17 / 36

Hybrid PD-QR

Use Polar Decomposition for undegenerate elements and QR fordegenerate ones below a threshold det(F) < α

Inherits good properties of PD and QR......but also the drawbacks of QR......and adds discontinuity across transition

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 17 / 36

Hybrid PD-QR

Use Polar Decomposition for undegenerate elements and QR fordegenerate ones below a threshold det(F) < α

Inherits good properties of PD and QR......but also the drawbacks of QR......and adds discontinuity across transition

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 17 / 36

Modified Singular Value Decomposition (SVD1)

SVD factorizes F = UFVT , where U and VT are orthonormal and F isdiagonal, with singular values σi ≥ σi+1 ≥ 0

Handles collapsed elementsHandles inverted elements negating the smallest σi

R = U VT equivalent to “invertible” PDComputationally expensiveCritical point at repeated singular values

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 18 / 36

Modified Singular Value Decomposition (SVD1)

SVD factorizes F = UFVT , where U and VT are orthonormal and F isdiagonal, with singular values σi ≥ σi+1 ≥ 0

Handles collapsed elementsHandles inverted elements negating the smallest σi

R = U VT equivalent to “invertible” PDComputationally expensiveCritical point at repeated singular values

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 18 / 36

Modified Singular Value Decomposition (SVD1)

SVD factorizes F = UFVT , where U and VT are orthonormal and F isdiagonal, with singular values σi ≥ σi+1 ≥ 0

Handles collapsed elementsHandles inverted elements negating the smallest σi

R = U VT equivalent to “invertible” PDComputationally expensiveCritical point at repeated singular values

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 18 / 36

Coherent Singular Value Decomposition (SVD2)

Tries to improve SVD1 by enforcing temporal coherence in the inferredinversion direction (smallest σi )

Better aligned forcesComputationally expensiveDiscontinuous

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 19 / 36

Coherent Singular Value Decomposition (SVD2)

Tries to improve SVD1 by enforcing temporal coherence in the inferredinversion direction (smallest σi )

Better aligned forcesComputationally expensiveDiscontinuous

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 19 / 36

Coherent Singular Value Decomposition (SVD2)

Tries to improve SVD1 by enforcing temporal coherence in the inferredinversion direction (smallest σi )

Better aligned forcesComputationally expensiveDiscontinuous

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 19 / 36

Comparison: Force Fields

Identity and PD QR

SVD1 and SVD2 Project and Reflect

Forcefields experienced by x1 (red) by in a [−3,3]2 region when x2,x3(green, blue) are fixed

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 20 / 36

Comparison: Trajectories

DAPDQR MSVD

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 21 / 36

Discussion

The main problems are:Discrete-time heuristic ignores trajectories: QR, SVD1, SVD2Critical points induce counter-intuitive rotations: QR, SVD1Discontinuity induces jitter: Hybrid PD-QR, SVD2

Our solution: Degeneration-Aware Polar Decomposition

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 22 / 36

Discussion

The main problems are:Discrete-time heuristic ignores trajectories: QR, SVD1, SVD2Critical points induce counter-intuitive rotations: QR, SVD1Discontinuity induces jitter: Hybrid PD-QR, SVD2

Our solution: Degeneration-Aware Polar Decomposition

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 22 / 36

Outline

1 Introduction

2 Corotational FEM

3 Rotation extraction

4 Degeneration-Aware Polar Decomposition

5 Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 23 / 36

Idea

Use continuous time to detect collapseCompute R avoiding rotation-past-collapse

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 24 / 36

Detecting collapse (I)

Given a timestep [t0, t1]:1 New degeneration if det(F(t0)) > α and det(F(t1)) ≤ α2 Compute tc ∈ [t0, t1] solving det(F(tc)) = α

3 Compute the collapse feature pair (Ac ,Bc) at tcDetails:

In 2D only V-E case, in 3D V-F and E-E casesDegeneration threshold α > 0 improves numerical robustness

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 25 / 36

Detecting collapse (I)

Given a timestep [t0, t1]:1 New degeneration if det(F(t0)) > α and det(F(t1)) ≤ α2 Compute tc ∈ [t0, t1] solving det(F(tc)) = α

3 Compute the collapse feature pair (Ac ,Bc) at tcDetails:

In 2D only V-E case, in 3D V-F and E-E casesDegeneration threshold α > 0 improves numerical robustness

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 25 / 36

Detecting collapse (II)

x1

x2 x3

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 26 / 36

Computing R (I)

We compute R for degenerate elements as follows:1 Compute degeneration direction dc from (Ac ,Bc)

2 Displace nodes of feature Ac as x i = x i + λ(α, β)dc

3 Compute F from displaced nodes x i

4 Compute R using Polar Decomposition on FDetails:

λ(α, β) computes a displacement length that reverts elementdegeneration and guarantees det(F) > ε

Parameter β controls force alignment

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 27 / 36

Computing R (I)

We compute R for degenerate elements as follows:1 Compute degeneration direction dc from (Ac ,Bc)

2 Displace nodes of feature Ac as x i = x i + λ(α, β)dc

3 Compute F from displaced nodes x i

4 Compute R using Polar Decomposition on FDetails:

λ(α, β) computes a displacement length that reverts elementdegeneration and guarantees det(F) > ε

Parameter β controls force alignment

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 27 / 36

Computing R (II)

∆h

dc

Reflect dc

Project dc

xc

Project (β = 1) and Reflect (β = 2). Height ∆h depends on α

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 28 / 36

Computing R (III)

The effect of parameter β for values 1, 2 and 10

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 29 / 36

Computing R (VI)

dc

Reflect dc

x (b)c (t)

det(F) = 0

x (a)c (t)

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 30 / 36

Discussion

DAPD:Cached pair (Ac ,Bc) ensures temporal coherencyCoherently aligned recovery forcesContinuous and differentiable everywhere......except when Ac or Bc collapse during inversion

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 31 / 36

Outline

1 Introduction

2 Corotational FEM

3 Rotation extraction

4 Degeneration-Aware Polar Decomposition

5 Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 32 / 36

Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 33 / 36

Results

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 33 / 36

Results

(a) QR, (b) SVD1, (c) DAPD β = 1, (d) DAPD β = 5, (e) Nonlinear

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 33 / 36

Results

http://www.lsi.upc.edu/˜ocivit/videos/DCFEM_Full.ogghttp://www.lsi.upc.edu/˜ocivit/videos/DCNLFEM-Draft.avi

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 33 / 36

Conclusions

Advantages of DAPD:Increased realismShorter recovery timeFaster than SVD1

Limitations:Cannot handle initially degenerate elementsLimited to triangular/tetrahedral elementsSlower than QR

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 34 / 36

References

M.Muller, M.GrossInteractive virtual materialsProceedings of Graphics Interface 2004

G.Irving, J.Teran, R.FedkiwInvertible finite elements for robust simulation of large deformation,Symposium on Computer Animation 2004

M.Nesme, Y.Payan, F.FaureEfficient, Physically Plausible Finite ElementsEurographics 2005

R.Schmedding, M.TeschnerInversion handling for stable deformable modelingThe Visual Computer 2008

E.Parker, J.O’BrienReal-time deformation and fracture in a game environmentSymposium on Computer Animation 2009

O. Civit-Flores, A. SusınRobust treatment of degenerate elements in interactive corotational FEM simulations(to appear) Computer Graphics Forum 2014

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 35 / 36

Q&A

?

O. Civit-Flores & A. Susin (UPC) DAPD June 11, 2014 36 / 36

top related