Spis treści

MetaMesh

MetaMesh is a structure for handling NURBS data.

We are given basic object geometry:

We can construct level-0 mesh:

And level-1 mesh:

Node numbering and setting type of CV

MetaMesh starts numbering from corner vertices (level0 mesh). These vertices are marked as MASTER.

Next vertices on interface edges are numbered. If number of vertices on an interface edge is equal, vertices are marked as EQUAL. If number differs, vertices from patch that has less CVs are marked as MASTER, CVs from other patch are marked as SLAVE

At the end remaining vertices are numbered

Building T operator

If geometry consists of several patches it is neccessary to compute Toperator to enable local refinement. For example we are given a mesh consisting of two patches. The coarse mesh is constistent.

We start by refinening second patch. Green control points denote control points from patch 1, magenta control points denote control points from patch 2. If control points are common for both patches, they are coloured with both colors.

We need to perform static condensation so the values of 2 control points from refined edge will be condensed to one. Therefore we need to build a T-opertator from E-1 edge to W-2 edge.

We can build a T-operator from knot refinement scheme. There also exists algortihms like Oslo algorithms, that we can use. Given initial control point vector, initial knot vector, and refined knot vector, we can easly compute T-operator and new control points positions. For example:

inital knot vector:

$ knotVI = [0, 0, 0, 1, 1 ,1] $

refined knot vector:

$ knotVR = [0, 0, 0, 0.5, 1, 1, 1] $

initial control points:


   cvI = \left(\begin{matrix} 0.0 & 0.0 \\
   0.0 & 1.0 \\
   0.0 & 2.0 \end{matrix}\right)

refined control points:


   T = \left(\begin{matrix} 1.0 &  0.0 &  0.0 \\
   0.5 &  0.5 &  0.0\\
   0.0 &  0.5 &  0.5\\
   0.0 &  0.0 &  1.0 \end{matrix}\right)

T-operator for interface edge E1-W2:

After we have computed T-operator for interface edge, we need to construct global operator for whole patch. In this case it will be ralatively easy because we only have one interface edge. The question is where to place elements of edge T-operator in global operator. With computed T-operator in hand we can assemble matrices using proposed numbering scheme: