# NURBS-Enhanced Meshfree Method with an Integration Subtraction Technique for Complex Topology
## 2 Basic Theory for the NURBS and RPIM Meshfree Methods  
### Nurbs  
The ability of NURBS curves to efficiently describe arbitrary free-form shapes and all kinds of conic sections exactly has made NURBS the basis for all standard geometric exchange formats, e.g., Initial Graphics Exchange Specification (IGES) and Standard for the Exchange of Product Model Data (STEP) [36]. NURBS is the general form of the B-spline and is actually a linear combination of B-spline basis functions. B-Spline basic functions are defined over a parametric domain that is constructed by a so-called knot vector. A knot vector \(U\) is defined as:  
\[U=\left\{u_{0},u_{1},\ldots,u_{n+p+1}\right\} \tag{1}\]  
Figure 1: Integration subtraction technique (**a**) - (**b**) = (**c**): (**a**) a predesigned integration domain with isogeometric triangular meshes (along the blue boundary) and finite element (FE) triangular meshes; (**b**) different holes integration domains with homotopic meshes to be subtracted; (**c**) equivalent material domains for different holes.  
where all the \(u_{i}\) are nondecreasing real numbers called knots, \(n+1\) is the number of B-spline functions, and \(p\) is the polynomial degree of the B-spline. In more detail, the knot vector \(U\) should be [37]:  
\[U=\{\underbrace{a,\cdots,a,u_{p+1},\cdots,u_{n},\underbrace{b,\cdots,b}}_{p+1}\} \tag{2}\]  
where \(a\) and \(b\) are real numbers. Then, the B-spline curve \(\mathbf{C}(u)\) is defined by parameter \(u\) between \(a\) and \(b\) as follows:  
\[\mathbf{C}(u)=\sum\limits_{i=0}^{n}N_{i,p}(u)\mathbf{P}_{i}\ \ \ \ a\leq u\leq b \tag{3}\]  
where \(\mathbf{P}_{i}\) are control points to determine the shape of the curve and \(N_{i,p}(u)\) is the ith B-spline basic function of degree \(p\), which is constructed by recurrence algorithms:  
\[\begin{split} N_{i,0}(u)&=\left\{\begin{array}{ ll}1&if\ u_{i}\leq u<u_{i+1}\\ 0&\text{otherwise}\end{array}\right.\\ N_{i,p}(u)&=\frac{u-u_{i}}{u_{i+p}-u_{i}}N_{i,p-1}(u)+\frac{u_{i+p+1}-u}{u _{i+p+1}-u_{i+1}}N_{i+1,p-1}(u)\end{split} \tag{4}\]  
The B-spline function \(N_{i,p}(u)\) has many important properties:  
1. Nonnegativity: \(N_{i,p}(u)\geq 0\)
2. Partition of unity: \(\sum_{i=0}^{n}N_{i,p}(u)=1,\forall u\)
3. Local support: \(N_{i,p}(u)=0\) if \(u\) is outside the interval given by \([u_{i},u_{i+p+1})\)
4. Differentiability: \(N_{i,p}(u)\) is at least \(p\)-\(k\) times continuously differentiable at the knot of multiplicity \(k\)  
An example of a B-spline basic function and control points to describe the arbitrary hole in Figure 1 with a polynomial degree of \(p=3\) is illustrated below in Figure 2.  
NURBS is the generalized form of a B-spline with the B-spline basic functions multiplied by their corresponding weights:  
\[\mathbf{C}(u)=\frac{\sum\limits_{i=0}^{n}N_{i,p}(u)\omega_{i}\mathbf{P}_{i}}{ \sum\limits_{i=0}^{n}N_{i,p}(u)\omega_{i}}\ a\leq u\leq b \tag{5}\]  
Figure 2: Example of a B-spline basic function and control points (black solid dots).  
Thus, with the tensor-production method, NURBS surfaces with two normalized parameters are defined as:  
\[\mathbf{S}(u)=\frac{\sum\limits_{i=0}^{n}\sum\limits_{j=0}^{m}N_{i,p}(u)N_{j,q}(v )\omega_{i,j}\mathbf{P}_{i,j}}{\sum\limits_{i=0}^{n}\sum\limits_{j=0}^{m}N_{i,p} (u)N_{j,q}(v)\omega_{i,j}}\ 0\leq u,v\leq 1 \tag{6}\]  
where \(N_{i,p}(u)\) and \(N_{j,q}(v)\) are B-spline basic functions defined separately with parameters \(u\) and \(v\), \(\omega_{i,j}\) are the weights, and \(\mathbf{P}_{i,j}\) is the control point that constructs the bidirectional net.