Abstract

Finite element solvers are critical in computer graphics, engineering, and medical applications. Adaptive refinement methods can tame otherwise intractable problems. Classical finite-element mesh refinement (i.e., the splitting of isolated mesh elements) is well-studied, but remains cumbersome to implement for unstructured three-dimensional meshes, among other settings, in particular because mesh compatibility must be explicitly maintained. Furthermore, mesh refinement does not apply to problems that benefit from higher-order B-spline discretizations and their more general counterparts, so-called subdivision elements. We introduce a simple alternative, adaptive basis refinement, which applies uniformly in all these settings and others. The basic principle of our approach is to refine basis functions, not elements. Our method is naturally compatible: unlike mesh refinement, basis refinement never creates incompatible meshes. Our first contribution is a minimal mathematical framework built on nested approximation spaces. By construction, the bases for these spaces consist of refinable functions. Our adaptive solver framework makes no assumptions as to (a) the dimension of the domain; (b) the tesselation of the domain, i.e., the domain elements be they triangles, quadrilaterals, tetrahedra, etc.; (c) the approximation order; and (d) the support diameter of the basis functions. Our second contribution is a small set of simple algorithms for basis refinement. Our method requires efficient data structures and algorithms to (a) keep track of interactions between basis functions and (b) manage a tesselation of the domain suitable for evaluation of the associated integrals (e.g., to determine the sparsity structure and evaluate the entries of the stiffness matrix). We specify these requirements, develop the relevant theorems and proofs, and deduce provably-correct pseudo-code. The resulting algorithms are general and simple. Our third contribution is the mapping of finite-elements, wavelets and multi-wavelets, splines and subdivision schemes onto our nested spaces framework. We demonstrate that our unifying algorithms for basis refinement encompass a very broad range of discretizations. Our fourth contribution is a set of compelling examples based on our implementation of basis refinement. Our examples span thin shells (fourth order elliptic PDE using a Loop subdivision discretization), volume-deformation and stress-analysis using linear elasticity (second order PDE using linear-tetrahedral and trilinear-hexahedral finite elements).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call