overview class #7 (thurs, feb 6) black box approach to linear elastostatics discrete green’s...
Post on 22-Dec-2015
216 views
TRANSCRIPT
![Page 1: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/1.jpg)
OverviewClass #7 (Thurs, Feb 6)
• Black box approach to linear elastostatics
• Discrete Green’s function methods– Three parts:
• What are Green’s functions? – Precomputation
• Fast contact handling via low-rank updates– Capacitance matrix algorithm
• Multiresolution extensions (later)
![Page 2: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/2.jpg)
Linear Elastostatic Models (recap from last class)
• Small-strain time-independent (static/equilibrium) deformation response
• Various origins, e.g., solid bodies, thin shells, abstract linear systems, …
• Various surface representations and discretization possible, e.g., FEM, BEM, FVM, FDM, spectral,…
![Page 3: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/3.jpg)
GF Deformation Basis
• Green’s functions are physically based basis functions adapted to
• particular geometry • particular constraints
• GF matrix is an input-output model of the linear deformable system (for a particular BVP-type)
• Relates displacements to tractions, etc.• We’ll focus on surface constraints & surface GFs• Also works for volumetric quantities
• displacement, stress, strain, strain-rate, etc.
![Page 4: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/4.jpg)
Some Graphics References
• See webpage– Cotin et al., 96/99.– James & Pai
• ARTDEFO: Accurate Real Time Deformable Objects, In SIGGRAPH 99 Conference Proceedings, ACM SIGGRAPH, 1999.
• A Unified Treatment of Elastostatic and Rigid Contact for Real Time Haptics, Haptics-e, The Electronic Journal of Haptics Research (www.haptics-e.org), 2(1), 2001.
• Doug L. James and Dinesh K. Pai, Multiresolution Green's Function Methods for Interactive Simulation of Large-scale Elastostatic Objects, ACM Transactions on Graphics, Volume 22, No. 1, Jan. 2003.
• …
![Page 5: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/5.jpg)
Discrete Green's Functions (GFs)(in a nutshell...)
• Reference BVP (RBVP)
• Green’s function matrix
• General solution to RBVP (barspecified BV)
][ n21
sconstraint traction with Nodes : 0p
sconstraintnt displaceme with Nodes : 0u
0p
0u ),(
0p
0u j
jjj
jj puvv
![Page 6: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/6.jpg)
Example: Displacement Constrained Model
(white dots indicate “fixed” vertices)
![Page 7: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/7.jpg)
Corresponding Green’s Functions
• GF for this vertex is the response due to a vertex force in the x, y and z directions
• Use linear superposition to combine responses
![Page 8: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/8.jpg)
Anatomy of a Green’s Function
• GF column corresponding to jth node, j
nj
ij
1j
j
Block influence coefficient
describes effect of jth SBV on ith UBV.
33ij
![Page 9: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/9.jpg)
Anatomy of a Green’s Function
• GF corresponding to a single vertex…
![Page 10: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/10.jpg)
Boundary Value Notation
• Various model descriptions/spaces possible• Variables defined at n nodes/vertices:
x=(x1,x2,…,xn)T
• Continuous displacement u(x) and traction p(x) fields, e.g.,
• Discrete displacement u and traction p fields, e.g.,u=(u1,u2,…,un)T, uk=u(xk)
p=(p1,p2,…,pn)T, pk=p(xk)
• Force relationship: fk=akpk, ak=kd • Sign convention: (uk,pk)0
n
1k kk p (x)p(x)
![Page 11: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/11.jpg)
Boundary Value Problem (BVP)
• Specified and unspecified nodal variables
• (u, p) are complementary node sets specifying nodes with u or p constraints
• BVP: Given and (u, p) Compute v• (Mixed nodal boundary conditions possible)
j : u
j : pv and
j : p
j : uv
pj
ujj
pj
ujj
v
![Page 12: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/12.jpg)
Example: BEM (from last class)
Identification with BEM equationsHu=Gp
(ARTDEFO paper)
j :
j :
G-
H A and
j :
j :
H
G-A
p
u
j:
j:j:
p
u
j:
j:j:
![Page 13: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/13.jpg)
Recap: Solving the BVP
A v = z, A large, dense
Red: BV specifiedRed: BV specifiedYellow: BV unknownYellow: BV unknown
H u = G p H,G large & dense
Specify boundary conditions
![Page 14: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/14.jpg)
Green's Functions (GFs)
• Reference BVP (RBVP)
• Green’s function matrix
• Solutions to RBVP are
][A-A n210-10
)A,(A ),( 000p
0u
0p
0u j
jjj
jj puvv
![Page 15: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/15.jpg)
Data-driven GF Formulation
• Excellent for interactive applications!• Precompute GFs for speed• Exploits linearity• Avoids redundant work• Optional boundary-only description for speed• “Black-box” model definition
![Page 16: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/16.jpg)
Force-feedback Rendering
![Page 17: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/17.jpg)
More generally...
• GFs: fundamental response of a linear system• See whiteboard:
• If Lu=f + BVP then GF, G, satisfies LG=delta + homog BC. • In linear elasticity, there are formulae for “free space”
solutions, and a few others.• Survey of GFs for other physical phenomena• We want Green’s functions for a particular deformable object
(& constraint configuration), hence– Numerical approx “discrete Green’s functions”
![Page 18: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/18.jpg)
Fast Capacitance Matrix Algorithms
ARTDEFO: Accurate Real Time Deformable Objects In SIGGRAPH 99 Conference Proceedings, ACM SIGGRAPH, 1999. (with Dinesh K. Pai)
A Unified Treatment of Elastostatic and Rigid Contact for Real Time Haptics, Haptics-e, The Electronic Journal of Haptics Research (www.haptics-e.org), 2(1), 2001. (w/ DKP)
![Page 19: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/19.jpg)
Exploiting BVP Equation Structure
A(0)v(0)=z(0) A(1)v(1)=z(1) A(2)v(2)=z(2) A(3)v(3)=z(3)
![Page 20: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/20.jpg)
Boundary Value Changes
Only the value of the constraint changes
Constraint type (positionforce) doesn’t change
![Page 21: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/21.jpg)
Boundary Value Changes
•BV changes only affect z in Av=z
A v = z
H u = G p=
•Traction-free BC are trivial:•Traction-free BC are trivial: •0+0+0+...•0+0+0+...
![Page 22: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/22.jpg)
Boundary Condition Type Changes
Position Force constraint type switching
Intermediate BV changes
![Page 23: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/23.jpg)
Boundary Condition Type Changes
•BC change swaps a block column of A
= H u = G p
A v = z= +
![Page 24: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/24.jpg)
Sherman-Morrison-Woodbury
•Idea: Exploit coherence between BVPs
1-0
Ts
1-0
Ts
1-0
1-0
1-s AEA AEI A A- AA
1
Ts
0s E AA A δ•If•If
• s-by-s capacitance matrix • s-by-s capacitance matrix ==
• Smaller matrix to invert and store!• Smaller matrix to invert and store!
![Page 25: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/25.jpg)
Motivation: Changing BVP Type
• Tractiondisplacement constraint switching• Example: single nonzero constraint:
Self-effect relationship: Equivalent traction constraint: Equivalent Green’s function (displ. constraint):
jjjj pu
• Systematic formulation is CMA
j)u(
j1jj
1jjij)u(
j uξ vs.t. ji ,
ji ,
Ξ
ΞΞξ
j-1jjj up
jjpv
![Page 26: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/26.jpg)
Capacitance Matrix Algorithms
• Solving general BVP using RBVP’s GFs• Low-rank updating techniques• Long history in computing:
– Sherman-Morrison-Woodbury et al. (`50)– Static reanalysis– Contact mechanics [Ezawa & Okamoto 89]– Domain decomposition– Real time simulation with precomputed GF [Cotin et al. 96,
JamesPai99]
![Page 27: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/27.jpg)
CMA: Notation
• Updated capacitance node list, SS=(S1,S2,…,Ss) for s updates.
• Contact compliance matrix, C• C = -ETE• Capacitance matrix
• E: densesparse row expansion
• e.g., S={k}, E=I:k3n3
• ET: sparsedense row extraction
3s3nS:S:S: ]II[IE
s21
![Page 28: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/28.jpg)
CMA: Formulae
• Solution to any BVP in terms of
• Direct solver with input/output sensitivity• O(s3) C-1 construction for s switched contacts• O(s2+sn) solve for s nonzero BC and n outputs
Using Sherman-Morrison-Woodbury...
v = v(0) + (E+(E)) C-1ET v(0)
v(0) = [ (I-EET) - EET ] v + BC = -ETE = s-by-s capacitance matrix
_
![Page 29: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/29.jpg)
CMA: Formulae (cont’d)
![Page 30: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/30.jpg)
Capacitance Matrix Algorithm (CMA)
1. Compute C-1
2. Compute v(0)
3. Compute s updated BVs: ET v = C-1ET v(0) 3s
4. Add correction to v(0) to obtain v:v(0) += (E+(E)) (C-1ET v(0))
(Simpler when v(0) = -v )
v = v(0) + (E+(E)) C-1ET v(0)
v(0) = [ (I-EET) - EET ] v + BC = -ETE = s-by-s capacitance matrix
_
_
![Page 31: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/31.jpg)
Demo!
![Page 32: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/32.jpg)
Early ARTDEFO Examples
ARTDEFO: Accurate Real Time Deformable Objects In SIGGRAPH 99 Conference Proceedings, ACM SIGGRAPH, 1999. (with Dinesh K. Pai)
![Page 33: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/33.jpg)
Capacitance Inverse Updating
• Sequential inversion– Use one C-1 to construct another– Exploits temporal coherence between matrix BVP
• O(s2s) cost for s BC changes• Effective updating of explicit matrix inverse
![Page 34: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/34.jpg)
Capacitance Inverse Updating
![Page 35: Overview Class #7 (Thurs, Feb 6) Black box approach to linear elastostatics Discrete Green’s function methods –Three parts: What are Green’s functions?](https://reader036.vdocument.in/reader036/viewer/2022062516/56649d7a5503460f94a5e68b/html5/thumbnails/35.jpg)
Haptic Interaction