NURBS geometries lie at the forefront of designing technology as they provide numerous possibilities for representation, while supplying a reliable basis which can be easily adjusted for the purpose of analysis. Thus, it is commonplace to use a more complex mesh to obtain better analysis results. The transition from a coarse mesh to a fine mesh preserves the geometrical features of the model, while providing the designer with the ability to modify specific parts of the entity. In order to use refinement efficiently in analysis, the engineer has to understand the principles involved and the ways in which the basis is altered. Refinement is an automated process that requires minimal manual effort, but complicated nonetheless.
There are three ways in which a B-SPLine basis can be enriched. A different knot value vector may be selected, the polynomial order may be increased or a combination of both may occur; the raise of the polynomial order followed by the introduction of a richer knot vector. These techniques are referred to as h-, p- and k- refinement respectively.

The combination of a limited number of control points with a small polynomial order is the optimum solution for a designer. This coarse mesh provides exact geometrical representation with reduced computational cost. It provides a certain level of understanding and control for the user, who can comprehend the simplified patterns of the basis and control net. The creation of stiffness matrix is also less time-consuming, due to the limited number of degrees of freedom and interconnections involved.

The coarse mesh, however, has flexibility issues. This means that each control point affects a rather large part of the model, so that small changes to control point variables reflect to significant changes in geometry. Moreover, basis function overlapping is reduced in coarse meshes. This makes a coarse mesh unsuitable for analysis. A feasible approach is the introduction of a coarse mesh for design, and afterwards refinement of this mesh for analysis purposes.

With the creation of a finer mesh, a detailed, flexible control net is introduced. Each control point affects a smaller portion of the model and the number of interconnections is usually increased. Mapping from parameter to physical space remains unchanged; this is very important in terms of analysis. Stiffness matrix calculation is more time-consuming, but accuracy per degree of freedom is also improved.

whereas the new representation

This matrix is formed recursively:

This technique is called h-Refinement.

Refinement is applicable in multi-directional problems as well. The surface in figure 3.3.a is refined both per ξ and η. Figure 3.4 represents basis functions before and after refinement.

Note that for every univariate (1D) control point per η, a whole set of control points per ξ are defined. Each set is refined individually, as shown in figures 3.4.a and 3.4.b. After the new control points per ξ are introduced, the same process is followed for refinement per η. The order in which refinement is applied is of no importance; due to tensor product properties, control points per could have been refined first, but the result would be the same.Instead of adding knot values to an existing knot value vector, the increment of the polynomial order can also enrich the basis. Apart from geometry, the mapping from parameter to physical space must also remain unchanged. This is achieved by keeping the same continuity per knot both for coarse and fine mesh.

whereas the fine mesh representation as:

This leads to:

Therefore,

The curve in figure 3.5 is subjected to p-refinement. Note that knot spans are unchanged. Geometry and mapping from parameter space remain intact in p-refinement as well. Continuity remains C^{1} across every internal knot. Curve approximation by control points is also improved with p-refinement.

Tensor product properties prove that p-refinement can be utilized in multiple directions.

Observe that knot rectangles have not changed in this example as well. The mesh is finer, but the continuity of the basis and the whole parameter space remain the same. Basis function interconnectivity, however, is improved.

Increasing polynomial degree by p-refinement is an improvement to the basis, but continuity remains the same as in the coarse mesh. In order to improve this aspect, k-refinement was introduced by Hughes. The basic idea is that, after p-refinement, h-refinement can be applied in order to create basis functions of C^{p-1} continuity. This is a powerful tool that can lead to greater convergence rates for our models.

After p-refinement, internal knots still possess C^{1} continuity. Note that only two basis functions are non-zero across every knot. After h-refinement, two new C^{2} continuity knots are introduced. Three B-SPLine basis functions are non-zero across these knots, ξ=2.5 and ξ=3.5. This way, greater levels of continuity for the new polynomial order are utilized.

In figure 3.12, the application of k-refinement for a surface is represented. In fact, h-refinement is performed after the p-refinement of figure 3.7. When p-refinement is applied, continuity of the internal knots is still C^{2}. After h-refinement, continuity of the additional control points in axes ξ, η is increased to C^{3} and C^{4} respectively. This augmentation of the continuity has proven to be very helpful for the analysis.

Transformation from a fine to a coarse mesh is also required for some applications. The ability to go back-and-forth between coarse and fine mesh is useful in certain aspects of the analysis and design. This process is reverse refinement.

Reverse refinement does not always provide an accurate solution. Removal of certain knots or downgrading of polynomial order may affect the shape of the entity. It is obvious, for example, that reverse p-refinement is not possible if there are knots of C^{p-1} continuity involved. In general, reverse refinement is an over determined problem and can only be solved in a certain number of cases. It is generally applicable when refinement has already been implemented and the engineer wants, for some reason, to return to the initial state of the model. The procedure we generally follow is similar to refinement.

Therefore,

and

As in figure 3.13, reverse refinement works when going back-and-forth between coarse and fine mesh, but it is not always applicable. The curve in figure 3.13.c has failed to accurately represent the required geometry. Refinement reverse should be carefully used as a tool of intercommunication between initial and refined model.

Everything mentioned about Refinement is applicable to B-SPLine entities. The question is what happens with NURBS. Different weight values and the complexity of NURBS shape functions prevent the refinement straight at the NURBS entity. However, every NURBS is created from the projection of a B-SPLine; therefore, NURBS Refinement can be achieved by refining the corresponding projective B-SPLine curve.

The first step is to evaluate the projective control points {B^{w}}, by multiplying every coordinate with the corresponding weight, as shown below:

As mentioned in 2.4.1, weights are the fourth-coordinate of the projective curve.