Top Banner
Overview Class #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)
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?

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

Haptic Interaction