2021.11

6.1 U-splines

In the construction of U-splines, certain restrictions on allowable mesh topologies are imposed to guarantee the mathematical properties of U-spline spaces, and the (semi-) global data structures common to traditional splines (such as knot vectors and T-meshes) are done away with in favor of a Bernstein representation of spline functions, as is done in Bézier extraction. Leveraging this local Bernstein point-of-view, U-splines achieve greater locality than other types of splines, making it possible to construct well-behaved bases for a much wider range of spline spaces than is encompassed by other splines, including, for the first time, those that permit local variation in degree.

The key ideas behind U-splines can be described as follows:
  • An algorithm for
    • Solving a series of small and highly localized nullspace problems that encode the interelement continuity of the U-spline basis functions

    • Finding appropriate combinations of the basis vectors of these localized nullspaces to determine the U-spline basis functions.

  • The need for artificial constructs like global or local knot vectors, control meshes, or T-meshes is eliminated. The only input is a properly specified Bézier mesh that characterizes an associated spline space and the only outputs are linear combinations of Bernstein coefficients that describe U-spline basis functions that span that spline space.

  • Since continuity constraints, restricted to cell interfaces, are the primal building blocks of the U-spline algorithm, local variations in , , and can be processed by the same algorithm as well as T-junctions, extraordinary vertices and triangles.

    Current Limitations:
    • Cubit does not currently support T-junctions, either through mesh-topology or supersmooth continuity.

    • Cubit does not currently support "per-element" local variation of degree.

    • Cubit does not currently support smooth extraordinary points, only supporting continuous extraordinary points.

    • Cubit does not currently support simplicial (tri/tet) cells, only supporting quadrilateral and hexahedral cells.

  • The only requirement on the local basis assigned to each cell in the Bézier mesh is that it must be Bernstein-like. The key property is that it must have well-ordered derivatives at cell interfaces. This means that a mixture of standard polynomial Bernstein bases over quadrilateral and triangular elements can be used in addition to more exotic Bernstein-like bases based on exponential, trigonometric, and other special functions.

    Current Limitations:
    • Cubit currently only constructs U-splines based on polynomial Bernstein bases.

    • Cubit currently only constructs U-splines over quadrilateral and hexahedral elements.

    • Currently, while Cubit can generate a U-spline on any quadrilateral mesh, only swept hexahedral meshes are currently supported for volumes.

    • Currently, Cubit is only tested (i.e. supported) on linear, quadrilateral, and cubic polynomials. Users may attempt to build higher degree U-splines, but may encounter bugs.

  • A simple definition of admissibility is given that characterizes a Bézier mesh topology, degree, and smoothness and ensures that the U-spline algorithm, applied to these meshes, produces U-spline basis functions that are locally linearly independent (thus forming a basis for the spline space), positive, form a partition of unity, and are complete up through a specified polynomial degree.

  • When the input Bézier mesh coincides with single- or multi-patch NURBS or analysis-suitable T-splines, the U-spline algorithm produces those spline spaces and associated bases with pointwise exactness.

The general process for building a U-spline in Coreform Cubit is as follows:
  1. Generate a linear quadrilateral or hexahedral finite element mesh on a CAD geometry

  2. Prescribe the desired degree and continuity for the U-spline

  3. Build the U-spline and fit to the underlying geometry

  4. Export the U-spline for use in an external analysis code

U-splines can be encoded within a "Bézier Extraction" (BEXT) file and then this file (along with supporting files as needed) is read into one of several commercial and open-source codes that support BEXT files. If you have questions about how to incorporate Coreform’s U-splines into your workflow or a third-party solver, whether via the BEXT file or some other method, contact Coreform at support@coreform.com or ask a question on our public forum at forum.coreform.com.