IGA 2: Computational Geometries /Mathematical Preliminaries

IGA 2: Computational Geometries /Mathematical Preliminaries

This post follows the introduction to Isogeometric Analysis (IGA) given here. This post will deal with the fundamental difference in mathematics behind both FEM and CAD.

It is essential to start with a discussion on the basic computational geometries, as these ideas form the fundamentals of IGA and it’s difference from FEM. There are so many different types of CAD geometries (splines) but we are sticking to mainly 3 for this introductory lecture; the Bézier, B-Splines and NURBS. Each type has their own properties and limitations.

To develop any geometry, we need a set of coordinate points $\boldsymbol{P}$, which are nothing but $(x,y,z)$ coordinates in the physical space. By linearly combining these control points with any basis function $\boldsymbol{\psi}$, we can obtain a geometry. This geometry will be a curve in 1D, surface in 2D and a volume in 3D. The generalized equation for building a geometry is

$$\boldsymbol{\Omega} = \boldsymbol{P}^T\boldsymbol{\psi} (\xi)$$

Lagrange Geometry

Lagrange basis functions are not actually computational geometries, but rather the one on which traditional FEM is built on. In FEM, we take the coordinates of the ‘nodes’ as control points and use it to approximate the geometry based on the basis function, which further depends on the type and degree of the element. A typical Lagrange basis function in the parent space is given by

$$ L_{i, p}(\xi)=\frac{\left(\xi-\xi_{0}\right)\left(\xi-\xi_{1}\right)\left(\xi-\xi_{2}\right) \ldots\left(\xi-\xi_{i-1}\right)\left(\xi-\xi_{i+1}\right) \ldots\left(\xi-\xi_{N}\right)}{\left(\xi_{i}-\xi_{o}\right)\left(\xi_{i}-\xi_{1}\right)\left(\xi_{i}-\xi_{2}\right) \ldots\left(\xi_{i}-\xi_{i-1}\right)\left(\xi_{i}-\xi_{i+1}\right) \ldots\left(\xi_{i}-\xi_{N}\right)} $$

where $p$ is the degree of the polynomial and and $i$ represents the $i^{th}$ basis function

(a) Basis function for $2^{nd}$ degree Lagrange polynomial, (b) Geometry generated with 3 control points.

Shown here is the variation of $2^{nd}$ degree Lagrange basis functions and the corresponding curve geometry generated by three control points. We can observe that the Lagrange basis function, or the shape function as is the common terminology in FEM, can take negative values and are interpolatory at every point. They show the property of partition of unity. The only input we need to develop Lagrange basis function is the degree of the polynomial.

Bézier Geometry

The next type is the Bézier geometry. Which is actually a computer based geometry. They are similar to Lagrange in the sense that they can be generated with just the degree of the polynomial as an input. Similar to Lagrange, they also remain unchanged for the next set of parametric space. A recursive “Bernstein” polynomial function is used to develop the Bézier basis function. .

$$ \begin{gathered}B_{a, p}(\xi)=\frac{1}{2}(1-\xi) B_{a, p-1}(\xi)+\frac{1}{2}(1+\xi) B_{a-1, p-1}(\xi) \\B_{1,0}(\xi)=1 \\B_{a, p}(\xi)=0 \quad \text { if } \quad a<1 \quad \text { or } \quad a>p+1\end{gathered} $$

(a) Basis function for $2^{nd}$ degree Bernstein/Bézier polynomial, (b) Geometry generated with 3 control points.

Figure shows Bézier basis functions and the curve obtained. We can observe that Bézier basis value takes only positive values and follow the property of partition of unity


B-Spline geometry forms the basis of every CAD basis function. In addition to degree of the polynomial, B-Splines require something known as a knot vector. Knot vector is a set of non-decreasing values that may or may not be repeated. But the total no:of knot values are restricted to $n+p+1$, where n is the no:of control points and p is the degree of the polynomial.

$$ \Xi=\left\{\xi_{1}, \xi_{2}, \xi_{3}, \ldots, \xi_{n+p+1}\right\} $$

$$ \begin{gathered}N_{i, p}(\xi)=\frac{\xi-\xi_{i}}{\xi_{i+p}-\xi_{i}} N_{i, p-1}(\xi)+\frac{\xi_{i+p+1}-\xi}{\xi_{i+p+1}-\xi_{i+1}} N_{i+1, p-1}(\xi) \\N_{i, 0}(\xi)= \begin{cases}1, & \xi_{i} \leq \xi<\xi_{i+1} \\0, & \text { otherwise }\end{cases}\end{gathered} $$

(a) Basis function for $2^{nd}$ degree B-Spline polynomial, (b) Geometry generated with 3 control points.

This is the equation for the basis function and the figure shows a B spline basis functions generated for a $2^{nd}$ degree curve with a knot vector $\{0,0,0,0.5,1,1,1\}$. As you can see, basis function take only non-negative values and the curve do not necessarily pass through the control points. The first and last values of the knot vector should be repeated p+1 times for the geometry to pass through the end points. Two consecutive, but different values form a knot span and are equivalent to the elements in FEM. The continuity at a knot value is $C^{p-m}$ where $p$ is the degree and $m$ is the multiplicity of the knot value. This gives an advantage of continuity in B-Spline based geometry as the lagrange and thus FEM is confined to $C^0$ continuity only. Higher order elements such as beams or shells may be adequately represented using b-splines.

NURBS Geometry

B-Splines are good and gives local control but cannot represent conic and circular geometries properly. NURBS (Non Uniform Rational B-Splines) geometries are introduced to rectify this. NURBS are completely similar to B-Splines except that weights are given to control points, and the basis function is a rational equation. This lets to represent circles exactly.

$$ \begin{aligned}&R_{a, p}(\xi)=\frac{w_{a} N_{a, p}(\xi)}{W(\xi)} \\&\quad w_{a} \text { is } a^{t h} \text { weight. } \\&W(\xi) \text { is weight basis, } W(\xi)=\sum_{a=1}^{n} w_{a} N_{a, p}(\xi) .\end{aligned} $$

(a) Basis function for $2^{nd}$ degree NURBS polynomial, (b) Geometry generated with 3 control points.

Increasing the weight of a control point tends the curve to pass through that point and decreasing it moves the curve away from that point. Figure shows the basis function for the same degree and knot vector for the B- spline earlier but with weights given to the intermediate control points. All the properties of B-Splines such as non-negativity, partition of unity, continuity etc.. exist in NURBS as well.

With the fundamental of spline based geometries and their mathematics in picture, the next post will be introduce isogeometric analysis as a means to solve linear elastic problems.


  1. The NURBS Book

Leave a Reply