G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Bases hierarchy

Detailed Description

This group collects basis types deriving from gsBasis.

Among the most important classes in G+Smo are those representing bases, for instance, a B-spline basis, a tensor product NURBS basis, and so on.

A basis can be viewed as a collection of scalar basis functions

\[ B :\ \mathbb R^d \to \mathbb R \]

defined over a common parameter domain of dimension d. For the bases that G+Smo deals with, parameter domains are usually of tensor product type and therefore just d-dimensional boxes.

Ths gsBasis inteface provides many member functions to evaluate their basis functions as well as their derivatives at sets of points in the parameter domain.

The parameter domain has dimension d, which can be queried at runtime using gsBasis::dim(). Implementations of gsBasis typically have a dimension which is statically known at compile time, but we do not expose the dimension as a template parameter of gsBasis in order to make dimension-independent code possible to write without excessive templating.

The main job of a gsBasis is to allow evaluation of its basis functions and their derivatives at arbitrary points of the parameter domain. All evaluation functions in gsBasis take a matrix u as an argument which specifies where the basis functions should be evaluated. This matrix should have d rows, and every column specifies one point of the parameter domain at which the basis should be evaluated.

The number of basis functions in a basis is called its size and can be queried using gsBasis::size().

Most bases have basis functions with local support, i.e., they are nonzero only in a small region of the parameter domain. A basis function is called active at a point u if u is contained in its support. The indices of the active basis functions at one or more points can be found by calling gsBasis::active().

Template Parameters
Tcoefficient type

Classes

class  gsBasis< T >
 A basis represents a family of scalar basis functions defined over a common parameter domain. More...
 
class  gsBSplineBasis< T >
 A univariate B-spline basis. More...
 
class  gsConstantBasis< T >
 Class defining a dummy basis of constant functions. This is used for compatibility reasons. More...
 
class  gsHBSplineBasis< d, T >
 A hierarchical B-spline basis of parametric dimension d. More...
 
class  gsHTensorBasis< d, T >
 Class representing a (scalar) hierarchical tensor basis of functions \( \mathbb R^d \to \mathbb R \). More...
 
class  gsLagrangeBasis< T >
 A univariate Lagrange basis. More...
 
class  gsLegendreBasis< T >
 A univariate Legendre basis. More...
 
class  gsMonomialBasis< T >
 An univariate monomial polynomial basis. If the degree is p the basis is given by: [ 1, x, x^2, ..., x^p ] The basis functions are numbered, starting from zero, as stated above. More...
 
class  gsMPBESBasis< d, T >
 Purely abstract class gsMappedBasis, which gives means of combining basis functions to new, global ones. More...
 
class  gsMPBESBSplineBasis< d, T >
 A univariate Lagrange basis. More...
 
class  gsMPBESHSplineBasis< d, T >
 A univariate Lagrange basis. More...
 
class  gsMPBESMapB2D< d, T >
 A univariate Lagrange basis. More...
 
class  gsMPBESMapHB2D< d, T >
 A univariate Lagrange basis. More...
 
class  gsMPBESMapTensor< d, T >
 A univariate Lagrange basis. More...
 
class  gsMvLegendreBasis< T >
 A multivariate Legendre basis. More...
 
class  gsNurbsBasis< T >
 A univariate NURBS basis. More...
 
class  gsRationalBasis< SrcT >
 Class that creates a rational counterpart for a given basis. More...
 
class  gsTensorBasis< d, T >
 Abstract base class for tensor product bases. More...
 
class  gsTensorBSplineBasis< d, T >
 A tensor product B-spline basis. More...
 
class  gsTensorBSplineBasis< 1, T >
 A univariate B-spline basis. More...
 
class  gsTensorNurbsBasis< d, T >
 A tensor product Non-Uniform Rational B-spline (NURBS) basis. More...
 
class  gsTHBSplineBasis< d, T >
 Truncated hierarchical B-spline basis. More...