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