t-splines and t-nurccs

17
T-Splines and T-NURCCs Toby Mitchell Main References: Sederberg et al, T-Splines and T-NURCCs Bazilevs et al, Isogeometric Analysis Using T-Splines

Upload: malik-wright

Post on 31-Dec-2015

80 views

Category:

Documents


2 download

DESCRIPTION

T-Splines and T-NURCCs. Toby Mitchell Main References: Sederberg et al, T- Splines and T-NURCCs Bazilevs et al, Isogeometric Analysis Using T- Splines. What T-Splines Do. T-Juntions in NURBS Mesh. Reduces number of unnecessary control points Allows local refinement NURBS models - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: T-Splines and T-NURCCs

T-Splines and T-NURCCs

Toby Mitchell

Main References:Sederberg et al, T-Splines and T-NURCCs

Bazilevs et al, Isogeometric Analysis Using T-Splines

Page 2: T-Splines and T-NURCCs

What T-Splines Do

T-Juntions in NURBS Mesh• Reduces number of

unnecessary control points• Allows local refinement

– NURBS models– Subdivision surfaces

• Can merge NURBS patches

• Unlike subdivision surfaces, compatible with NURBS (superset of NURBS)

• Much more acceptable to engineering industry!

Page 3: T-Splines and T-NURCCs

Overview: The Main Idea

Break-Down and Reassemble• Start with B-spline or NURBS

mesh• Write in basis function form• Break apart mesh structure:

Point-Based (PB) splines• Reassemble a more flexible

mesh structure: T-splines

• Done in terms of basis functions

Basis Functions Review:

10b

p=3

2/3

11b

10b

1b

0b

2b

3b

30

21

123

20

112

101

0

bbbb

bbb

bb

b

20b 2

1b

30b

p

i

pii

p tNt0

0 )()( bb

Linear interpolation by de Casteljau (Bezier) or Cox-de Boor (B-spline) can be expanded in terms of polynomial sum: basis functions

Page 4: T-Splines and T-NURCCs

Start With B-Spline Surfaces

• B-spline surfaces are tensor products of curves:

• Need local knot vectors• Rewrite basis function

m

i

n

j

nj

miji tNsNts

0 0, )()(),( bb

kt ku,over only vary can u)(t,

:function basis of ku kt

),()(),(

domainD

pi

tNsNtsB nj

mi

i,s

j,t

ks1 ks2 ks3 ks4

kt1

kt2

kt3

kt4bi,j

(s,t)

b(s,t)

D

Ni

Nj

Page 5: T-Splines and T-NURCCs

Break into Point-Based (PB) Splines• Each control point and basis

function has own knot vectors• No mesh, points completely

self-contained• bi,j becomes ba: a loops over all

PB-splines in a given set

• Domains should overlap:– One PB-spline = point– Two = line– Need at least 3 for surface

• Domain of surface = a subset of the union of all domains

• No obvious best choice

ba

s

t

Page 6: T-Splines and T-NURCCs

Build T-splines from PB-Spline Basis

Sederberg’s Key Insight:• Can construct mesh-free

basis functions that still satisfy partition of unity*

• Normalized over domain• Rational, but not NURBS

Building Blocks of T-splines

• Need to impose structure(?)• Once done, have T-splines• Evaluate by PB-spline basis• Same as B-splines, except• One sum over all control

points in domain instead of two in each direction:

aa

aa

nj

mia

tsB

tsBtsR

tNsNtsB

),(

),(),(

),()(),(

p

pp

p

n

aaa tsRts

0

),(),( pbb

*Can represent any polynomial up to the order of the basis

Page 7: T-Splines and T-NURCCs

T-Meshes: Structure of the Domain

Define a T-mesh:• Grid of airtight but possibly

non-regular rectangles: Rule 1• Each edge has a knot value• Control points at junctions• Basis functions centered on

anchors*• Knot values for basis functions

collected along rays• Intersection of ray with edge:

add knot to local vector• Rule 2 designed to avoid

ambiguity in knot collection *Not discussed in paper!

Page 8: T-Splines and T-NURCCs

Examples of Knot Construction

2

524

23

22

21

2

16

13

12

11

11

1

27

26

24

23

22

2

17

16

14

12

11

1

:

:

k

k

k

k

t

t

Page 9: T-Splines and T-NURCCs

T-Spline Surfaces

Evaluating Points on Surface• Query for all domains that

enclose point (s,t)• Gives all basis functions and

points that must be summed• Price for flexibility: more

complex data structure

T-NURBS: • Group weight with control point• Replace B-spline basis function

with NURBS basis functions• Microwave 3 minutes and serve

Point (s,t)

Relevant control point

Page 10: T-Splines and T-NURCCs

Merging NURBS with T-Splines

• Insert new knots to align knots between patches

• Create T-junctions to stitch patches together

• Average boundary control points across patches

• One row: C0 merge• Three rows: C2 merge• Resulting merge very smooth

Page 11: T-Splines and T-NURCCs

Local Refinement with T-Splines

Figures from Doerfel, Buettler, & Simeon, Adaptive refinement with T-Splines

Page 12: T-Splines and T-NURCCs

Local Refinement for Subdivision Surfaces

• T-NURCCs: Catmull-Clark subdivision surfaces with non-uniform knots & T-junctions

• Do a few global refinements• Subsequent steps can be

purely local (to smooth out extraordinary points)

• Shape control available through parameter in subdivision rule

• Rather complex rules required

Page 13: T-Splines and T-NURCCs

Finite Elements with T-Splines

Local Refinement• Have a system to model• Want a solution at a given

accuracy level• Local refinement is tricky in

standard methods: get excess DOFs, expense

• T-splines allow local refinement around features of interest

• Big savings…?Regular T-Spline

Page 14: T-Splines and T-NURCCs

The Biggest Problem With T-Splines?

Refinement Isn’t THAT Local• Need to keep T-mesh

structure with refinement• Must add new knots

besides the ones you actually want to add

• Sederberg et al. improved this a bit in a later paper

• Better local refinement algorithm, but with…

• No termination condition!

Page 15: T-Splines and T-NURCCs

Local Refinement Test Problem

Advection-Diffusion Problem• Pool with steady flow along

45-degree angle• Pollutant flows in one side and

flows out the other• No diffusion: line between

polluted and unpolluted water should stay perfectly sharp

• Requires high refinement, but only along boundary layer

• Perfect test for T-splines

Page 16: T-Splines and T-NURCCs

Adaptive Refinement Blow-Up

Hughes et al: Stayed Local Doerfel et al: Cascade Triggered

Good FAIL

Page 17: T-Splines and T-NURCCs

Conclusion

• T-splines introduce T-junctions into NURBS• Reduce complexity by orders of magnitude• Allow smooth merges of NURBS patches• Pretty clever, careful formulation: props

• BUT local refinement requires more work, especially for adaptive refinement