190 likes | 528 Views
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
E N D
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 • Subdivision surfaces • Can merge NURBS patches • Unlike subdivision surfaces, compatible with NURBS (superset of NURBS) • Much more acceptable to engineering industry!
Overview: The Main Idea Break-Down and Reassemble Basis Functions Review: • 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 p=3 2/3 Linear interpolation by de Casteljau (Bezier) or Cox-de Boor (B-spline) can be expanded in terms of polynomial sum: basis functions
Start With B-Spline Surfaces kt4 • B-spline surfaces are tensor products of curves: • Need local knot vectors • Rewrite basis function D Nj bi,j kt3 Ni (s,t) kt2 j,t kt1 i,s ks1 ks2 ks3 ks4 b(s,t)
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 t s
Build T-splines from PB-Spline Basis Sederberg’s Key Insight: 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: • Can construct mesh-free basis functions that still satisfy partition of unity* • Normalized over domain • Rational, but not NURBS *Can represent any polynomial up to the order of the basis
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!
Point (s,t) Relevant control point 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
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
Local Refinement with T-Splines Figures from Doerfel, Buettler, & Simeon, Adaptive refinement with T-Splines
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
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
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!
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
Adaptive Refinement Blow-Up Hughes et al: Stayed Local Doerfel et al: Cascade Triggered FAIL Good
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