1 Introduction

For many years researchers have used boundary integral equations (BIE) to solve boundary value problems (Banerjee and Butterfield 1981; Bonnet 1995). The main interests of scientists were related to new developments in the computer technology and software, especially in the field of effective calculation of singular integrals. Researchers have always been interested in application of BIE, because boundary value problems are one order reduced during solving process. It is connected with physical definition of BIE on boundary of the problem. In other words, the boundary of the problem is defined by contour integral. For example, two-dimensional Laplace’s equation is solved as one-dimensional problem defined on boundary only (Banerjee and Butterfield 1981; Brebbia and Walker 1980; Brebbia et al. 1984. However, there are different kinds of problems, for example, defined by Poisson equation, where integral is calculated on boundary as well as in a domain (Brebbia and Walker 1980; Brebbia et al. 1984). In this paper, we focus only on the problems without integration over domain.

The boundary of boundary value problem in BIE (at the beginning of development of its numerical solution) was physically divided on so-called boundary elements. The polynomials of lower degree were used to their mathematical definition and the method which use such strategy was named boundary element method (BEM) (Banerjee and Butterfield 1981; Brebbia and Walker 1980; Brebbia et al. 1984). New developments in the field of computer graphics also contributed to new developments of tools for modeling curves, especially for their modifications in an effective way (Böhm 1982; Farin 1990; Farin et al. 2002; Rogers and Fog 1989; Bashir and Ali 2016). These are curves such as: Hermite, Bézier or B-spline. Such curves are composed of segments of lower degree and automatically ensured appropriate class of continuity in points of segments join. Each segment (Hermite, Bézier or B-spline) can be easily modified by so-called control points. Therefore, researchers began to use those segments as an alternative of classical boundary elements (Becker 1992). In other words, the boundary was divided as usual into boundary elements, but mathematically were defined as Hermite (Durodola and Fenner 1990; Gray and San Soucie 1993), Bézier (Nowak et al. 2002) or B-spline (Cabral et al. 1990; Camp and Gipson 1991; Johnston 1997; Liggett and Salmon 1981; Sen 1995) segments. This way of modeling is very efficient, because we can effectively modify segments using the control points. This strategy is mainly applied to the problems of identification of unknown part of boundary [mainly modeled by one element (Burczyński and Fedeliński 1991)]. In case of modeling this part by several elements, there is a problem to ensure the continuity in points of elements join automatically.

Therefore, in BEM this problem was solved in two stages. First, the boundary was modeled by curves, like in computer graphics. Next, it was divided into boundary elements in process of solving BIE. Such way of modeling is a bit ineffective. It makes sense to use all advantages of automatically ensured continuity (in points of segments join) simultaneously (without dividing it into two stages). Therefore, to avoid these problems, one of the authors of this paper modified classical BIE. Mentioned curves were included directly into mathematical formulas of BIE and the new parametric integral equations system (PIES) (Zieniuk 2003a, b; Zieniuk and Bołtuć 2006; Zieniuk 2007) was developed.

Recently, for effective modeling of curves and surfaces in engineering practice, very popular and well-studied CAD system [which also use so-called non-uniform rational B-spline curves (NURBS) (Piegl and Tiller 1997)] are often applied. NURBS curves are more effective in modeling the shape of boundary than mentioned classical curves. They allow for more flexible modeling of different shapes. Therefore, these curves were widely used for modeling the boundary in process of solving boundary value problems, and such strategy was named as isogeometric modeling (Cottrell et al. 2009; Hughes et al. 2005; Zhang et al. 2016). In this strategy, the whole boundary is defined by NURBS curve, then it is divided into elements during numerical solution of BIE.

In this paper, we consider an application of NURBS curves not during numerical solution of BIE (like in isogeometric modeling), but in analytical modification of classical BIE. The modification is strictly connected with inclusion of NURBS curves directly into mathematical formulas of BIE. Such approach allows us to exploit all of advantages of the NURBS curves in the process of solving boundary value problems. As the result of this modification, we obtain the generalized parametric integral equations system (PIES). We also present the method of numerical solution of generalized PIES as well as the results of numerical tests. Finally, we compare results of analytical solutions of some examples with ones obtained by generalized PIES to confirm reliability of PIES solutions. Additionally obtained solutions are compared with these obtained using linear segments and B-spline curves. We present the impact of modeling accuracy on obtained solutions, as well.

2 NURBS curves in modeling the shape of boundary in boundary value problems

NURBS curve of any degree n is described by control points \(P_i\;(i = 0, 1,\ldots , m)\), corresponding to particular points weights \(w_i\;(i = 0, 1, \ldots , m)\) and knots \(t_j\;(j = 0, 1, \ldots ,m + n + 1)\), and is defined by the following formula (Piegl and Tiller 1997):

$$\begin{aligned} \mathbf{S} (t) =\frac{\sum _{i=0}^m{{w_i} {P_i} {N_i^n} (t)}}{\sum _{i=0}^m{{w_i} {N_i^n} (t)}} \quad \text {for} \quad t_n \le t \le t_{m+1}. \end{aligned}$$
(1)

Additionally, the base function \(N_i^n(t)\) of n degree is defined as normalized B-spline blending function and generally presented by the following recursive formula (Piegl and Tiller 1997):

$$\begin{aligned} \begin{aligned}&N_i^0 (t)= {\left\{ \begin{array}{ll} 1 &{} \text {for}\;t \in \langle t_i, t_{i+1} ) \\ 0 &{} \text {otherwise} \end{array}\right. }, \\&N_i^k (t)= \frac{t-t_i}{t_{i+k}-t_i } N_i^{k-1} (t)+\frac{t_{i+k+1} - t}{t_{i+k+1} - t_{i+1}} N_{i+1}^{k-1} (t), \end{aligned} \end{aligned}$$
(2)

where \(0 \le i \le m, 1 \le k \le n, \frac{0}{0}:=0\).

Correct shape definition is strictly connected with proper selection of the control points (its amount and location) as well as proper definition of weights and knots. Such way of defining seems to be very sophisticated, however significantly increases the accuracy of modeling and allows to define even complex shapes by one closed NURBS curve only.

For example, in Fig. 1, the impact of weights (in particular control points) on NURBS curve of second degree is presented. The curve is defined by nine control points (where \(P_0 = P_8\)). As we can see, the value of the weight determines the impact of particular point on the shape of the curve. For lower values of weights, the curve lies far away from the points, while higher ones shift the curve closer to the points. Additionally, NURBS curve allows to model the circle shape almost exactly (the radius of the circle is almost equal in each point of curve, using the weights value equal to 0.707 and the curve of second degree only (Fig. 1). Such way of modeling allows for very easy and quick modification of the curve.

Fig. 1
figure 1

Impact of weights on the shape of a closed curve

Another, very important part, which determine the shape of NURBS curve, are knots. Knots divide the curve into segments which define the shape. The impact of two values of knot vector on the curve shape (with shapes of corresponding base functions N) are presented in Fig. 2. Similarly as in previous example point \(P_0 = P_8\). Presented curve is defined by the following vector of knots: (0, 0, 0, 0.25, 0.25, ab,  0.75, 0.75, 1, 1, 1), where knots described as a and b are varied to show their impact on the curve.

First case \(a = b = 0.5\) (Fig. 2a) presents the multiple knots, where the curve intersects particular control points. The number of intersected control points and how many times the value of knot should be repeated is strictly connected with the degree of the base functions. For example, in case of second degree curve, we should use doubled knots. Exceptions are knots at the start and at the end of the curve, which ensure closure of the curve. In this case, the number of the same values of knots are increased by one.

Fig. 2
figure 2

Impact of knots on the shape of a closed curve and corresponding N functions

The next case \(a = 0.47, b = 0.53\) (Fig. 2b) presents the division of the curve section (between points \(P_2\) and \(P_6\)) into three subsections (0.25, 0.47), (0.47, 0.53) and (0.53, 0.75). In this case, the curve no longer intersects the point \(P_4\). In the next case (0.36, 0.5) (Fig. 2c), we can notice unsymmetrical shape of this curve section as well as of its base functions. The last case \(a = 0.36, b = 0.64\) (Fig. 2d) is defined similarly to the second one, but with increased central subsection. We should note, that knots are another tool which makes modeling and modification of the curve much easier.

As presented in Fig. 2, the boundary was modeled by continuous closed NURBS curve, defined in parametric space with parameter t (\(0 \le t \le 1\)). The endpoints of each segment are defined by knots. Multiple knots have an impact on continuity of the curve in points of segments join. Direct application of such way of boundary modeling in BIE results in automatic adaptation of BIE to modified boundary. It is impossible using NURBS curves to define boundary elements (previously obtained in process of boundary discretization). Therefore, the aim of this paper is an analytical application of presented effective way of boundary modeling instead of boundary integral in classical BIE.

3 The strategy of analytical inclusion of NURBS curves into mathematical formulas of BIE

We consider a problem described by 2-dimensional Laplace’s equation defined in domain \({\varOmega }\) and bounded by boundary S. BIE for Laplace’s equation can be represented by the integral identity (Banerjee and Butterfield 1981; Burczyński and Fedeliński 1991):

$$\begin{aligned} \overline{u}(\mathbf{x}) = \int \limits _{S} U (\mathbf{x}, \mathbf{y}) p(\mathbf{y}) \mathrm{d}S(\mathbf{y}) - \int \limits _{S} u(\mathbf{y}) P_k (\mathbf{x}, \mathbf{y}) n_k(\mathbf{y}) \mathrm{d}S(\mathbf{y}), \end{aligned}$$
(3)

where the value of \(\overline{u}(\mathbf{x})\) depends on the location of \(\mathbf{x}\) and is given by following expression:

$$\begin{aligned} \overline{u} (\mathbf{x}) = {\left\{ \begin{array}{ll} u(\mathbf{x}) &{} \text { for } \mathbf{x} \in {\varOmega }\\ \alpha u(\mathbf{x}) &{} \text { for } \mathbf{x} \in S \\ 0 &{} \text { for } \mathbf{x} \notin \overline{{\varOmega }} \end{array}\right. }, \end{aligned}$$
(4)

where for smooth boundary \(\alpha = 0.5 \). If \(\mathbf{x} \in S\), then formula (3) is the classical boundary integral equation (BIE).

In identity (3), integrand \(U(\mathbf{x}, \mathbf{y})\) is known as the fundamental solution for Laplace’s equation (Burczyński and Fedeliński 1991):

$$\begin{aligned} {\varDelta }U(\mathbf{x}, \mathbf{y}) = - \delta (\mathbf{x} - \mathbf{y}) \end{aligned}$$
(5)

and is represented by the following formula (Burczyński and Fedeliński 1991; Brebbia et al. 1984):

$$\begin{aligned} U(\mathbf{x}, \mathbf{y}) = \frac{1}{2 \pi } \text {ln} \frac{1}{r}, \end{aligned}$$
(6)

where \(r=[(x_1 - y_1)^2+(x_2 - y_2)^2]^{0.5}\).

Integrand \(P_k(\mathbf{x}, \mathbf{y})\) in (3) is the classical singular solution represented by traction kernels written as follows:

$$\begin{aligned} P_k(\mathbf{x}, \mathbf{y}) = \frac{1}{2 \pi } \frac{(x_k - y_k)}{r^2}, \quad k=1, 2. \end{aligned}$$
(7)

The accuracy of the solutions in domain \({\varOmega }\) depends on two factors: (1) approximation accuracy of the solutions on the boundary and (2) approximation accuracy of the boundary shape. Hence, it seems reasonable to modify the traditional BIE to separate (in process of numerical solution) the approximation of boundary from the approximation of unknown functions. In other words, it allows to choose the most convenient methods of boundary modeling considering its complexity without any intrusion into approximation of boundary functions and vice versa. Due to the above given reasons, at first, we made analytical modification of BIE to include the shape of the boundary into mathematical formulas of BIE.

3.1 Analytical modification of classical boundary integral equations (BIE)

To obtain modification of generalized integral identity (3) for 2D potential problems modeled by Laplace’s equation (Zieniuk 2003a, b), we need to apply the Fourier transform. As the result, we obtained:

$$\begin{aligned} \widehat{\overline{u}}(i{\varvec{\xi }}) = \int \limits _{S} \widehat{U}(i{\varvec{\xi }}, \mathbf{y})p(\mathbf{y})\mathrm{d}S(\mathbf{y}) - \int \limits _{S} \widehat{P}_k(i{\varvec{\xi }}, \mathbf{y})n_k(\mathbf{y})u(\mathbf{y})\mathrm{d}S(\mathbf{y}), \end{aligned}$$
(8)

where \(\widehat{U}(i{\varvec{\xi }}, \mathbf{y})\) is the transform of the fundamental solution, whereas \(\widehat{P}_k(i{\varvec{\xi }, \mathbf y})\) is the transform obtained in the domain of the Fourier transform, based on fundamental solution. For Laplace’s equation, these transforms are presented in the following form:

$$\begin{aligned} \widehat{U}(i{\varvec{\xi }}, \mathbf{y})= & {} L (i{\varvec{\xi }})e^{-i\{\xi _1y_1+\xi _2y_2\}}, \end{aligned}$$
(9)
$$\begin{aligned} \widehat{P}_k(i{\varvec{\xi }}, \mathbf{y})= & {} -i \xi _k L (i{\varvec{\xi }})e^{-i\{\xi _1y_1+\xi _2y_2\}}, \quad k=1,2, \end{aligned}$$
(10)

where

$$\begin{aligned} L(i{\varvec{\xi }}) = |{\varvec{\xi }}|^{-2}, |{\varvec{\xi }}|^2 = |\xi _1^2+\xi _2^2|. \end{aligned}$$
(11)

After substitution (9) and (10) into (8), we obtained the following expression of Fourier transform in the domain:

$$\begin{aligned} \widehat{\overline{u}}(i{\varvec{\xi }}) = L (i{\varvec{\xi }}) \tilde{p}({\varvec{\xi }}) + i L (i{\varvec{\xi }}) \sum _{k=1}^2 \xi _k \tilde{u} \tilde{n}_k({\varvec{\xi }}), \end{aligned}$$
(12)

where boundary functions \(\tilde{p}({\varvec{\xi }})\) and \(\tilde{u} \tilde{n}_k({\varvec{\xi }})\), \(k=1,2\) are represented by means of the following boundary integrals:

$$\begin{aligned} \tilde{p}({\varvec{\xi }})= & {} \int \limits _S p(\mathbf{y})e^{-i\{\xi _1y_1+\xi _2y_2\}}\mathrm{d}S(\mathbf{y}), \end{aligned}$$
(13)
$$\begin{aligned} \tilde{u} \tilde{n}_k({\varvec{\xi }})= & {} \int \limits _S u(\mathbf{y})n_k(\mathbf{y})e^{-i\{\xi _1y_1+\xi _2y_2\}}\mathrm{d}S(\mathbf{y}). \end{aligned}$$
(14)

It should noted, that in Eq. (12), the boundary is separated from the domain. The boundary is defined in the mathematical formulas of boundary integrals (13) and (14). In our further considerations integral (14) is used to describe transform \(\tilde{u} \tilde{n}_k({\varvec{\xi }})\) on the boundary S. The unknown identity function \(u(\mathbf{y})\) in (14) can be defined by means of the following Fourier transform:

$$\begin{aligned} u(\mathbf{y}) = \frac{1}{4 \pi ^2} \int \limits _{R^2} e^{i\{\omega _1y_1+\omega _2y_2\}}\widehat{u}(i{\varvec{\omega }})\mathrm{d}{\varvec{\omega }}, \quad {\varvec{\omega }} \equiv (\omega _1, \omega _2), \end{aligned}$$
(15)

where integrand \(\widehat{u}(i{\varvec{\omega }})\) is written as:

$$\begin{aligned} \widehat{u}(i{\varvec{\omega }}) = \alpha ^{-1} \bigg \{ L(i{\varvec{\omega }})\tilde{p}({\varvec{\omega }}) + iL(i{\varvec{\omega }}) \sum _{k=1}^2 \omega _k \tilde{u} \tilde{n}_k ({\varvec{\omega }}) \bigg \}. \end{aligned}$$
(16)

The formula (16) is particular case of the transform (12) in a smooth boundary.

3.2 The definition of the smooth contour integral by segments

After insertion (15) into (14), we obtained the convolution integral equation in the domain of the Fourier transform:

$$\begin{aligned} \tilde{u}\tilde{n}_k({\varvec{\xi }}) = \int \limits _{R^2} K_k({\varvec{\omega }} - {\varvec{\xi }}) \widehat{u}(i{\varvec{\omega }})\mathrm{d}{\varvec{\omega }}, \end{aligned}$$
(17)

where the kernel is:

$$\begin{aligned} K_k({\varvec{\gamma }})=\frac{1}{4 \pi ^2} \int \limits _S e^{i\{\gamma _1y_1+\gamma _2y_2\}} n_k(\mathbf{y}) \mathrm{d}S(\mathbf{y}), \end{aligned}$$
(18)

where \({\varvec{\gamma }} \equiv \{ \gamma _1, \gamma _2 \}, \gamma _i = \omega _i - \xi _i\), while the function \(\widehat{u}(i{\varvec{\omega }})\) is presented by the formula (16), and \({\varvec{\xi } = {\varvec{\omega }}}\).

The contour integral in (18) takes into consideration the shape of boundary \(\mathbf S\). For further transformation of the above analytical formulas, we need to specify the boundary \(\mathbf S\). We assume that the boundary is defined by a finite number of the curved segments \(\mathbf{S}_l\;(l=1,2,\ldots ,n)\) with the necessary continuity conditions in points of segments join. During the process of analytical modification of BIE, we defined these segments using different kinds of curves widely used in computer graphics (Goshtasby 2005; Mortenson 1985, 1999). The NURBS curves can be also applied, like in isogeometric analysis (Piegl and Tiller 1997), but at the level of analytical modification of the identity.

Therefore, considering the boundary geometry (defined by segments) in kernel (18), we obtain:

$$\begin{aligned} K_k({\varvec{\gamma }})=\sum _{l=1}^n K_k^{(l)}({\varvec{\gamma }}), \end{aligned}$$
(19)

where

$$\begin{aligned} K_k^{(l)}({\varvec{\gamma }})=\frac{1}{4 \pi ^2} \int \limits _{S_i} e^{i\{\gamma _1y_1+\gamma _2y_2\}} n_k^{(l)}(\mathbf{y})\mathrm{d}S(\mathbf{y}). \end{aligned}$$
(20)

The boundary transforms \(\tilde{u}\tilde{n}_k({\varvec{\xi }})\) on the left side of (17) may be represented in the following form:

$$\begin{aligned} \tilde{u}\tilde{n}_k({\varvec{\xi }}) = \sum _{l=1}^n \tilde{u}\tilde{n}_k^{(l)}({\varvec{\xi }}), \end{aligned}$$
(21)

where

$$\begin{aligned} \tilde{u}\tilde{n}_k^{(l)}({\varvec{\xi }}) = \int \limits _{S_l}e^{-i\{\xi _1y_1+\xi _2y_2\}}u^{(l)}(\mathbf{y})n_k^{(l)}(\mathbf{y})\mathrm{d}S(\mathbf{y}). \end{aligned}$$
(22)

We define the boundary transforms \(\tilde{p}({\varvec{\omega }})\) and \(\tilde{u}\tilde{n}_k({\varvec{\omega }})\) on individual segments on the right side of (16):

$$\begin{aligned} \tilde{p}({\varvec{\omega }}) = \sum _{j=1}^n \tilde{p}^{(j)}({\varvec{\omega }}), \quad \tilde{u}\tilde{n}_k({\varvec{\omega }}) = \sum _{j=1}^n \tilde{u}\tilde{n}_k^{(j)}({\varvec{\omega }}). \end{aligned}$$
(23)

After substituting (19), (21) and (23) in (17), we obtain the following system of the convolution integral equations:

$$\begin{aligned} \tilde{u}\tilde{n}_k^{(l)}({\varvec{\xi }}) = \int \limits _{R^2} K_k^{(l)}({\varvec{\omega }} - {\varvec{\xi }}) \sum _{j=1}^n \widehat{u}^{(j)}(i{\varvec{\omega }})\mathrm{d}{\varvec{\omega }}, \end{aligned}$$
(24)

where \(l=1,2,3,\ldots ,n\), and:

$$\begin{aligned} \widehat{u}^{(j)}(i{\varvec{\omega }}) = \alpha ^{-1}\bigg \{ L(i{\varvec{\omega }}) \tilde{p}^{(j)}({\varvec{\omega }}) + i L (i{\varvec{\omega }}) \sum _{k=1}^2 \omega _k \tilde{u}\tilde{n}_k^{(j)}({\varvec{\omega }})\bigg \}. \end{aligned}$$
(25)

Next, we assume that segments \(\mathbf{S}_l(t)\), which define contours of integrals, are mathematically defined by parametric functions \(\mathbf{S}_l(t) = [S_l^{(1)}(t),S_l^{(2)}(t)]^\mathrm{T}\) with parameter t. Hence, these functions must be considered in boundary transforms: (20), (22) and (23), in which the boundary is still defined in a general way by means of segment contour integrals \(\mathbf{S}_l(t)\).

The kernel (20), for the boundary defined by parametric segments, is described by the following formula (\(y_i=S_l^{(i)}(t), i=1,2\)):

$$\begin{aligned} K_k^{(l)}({\varvec{\gamma }}) = \frac{1}{4\pi ^2} \int \limits _{t_{l-1}}^{t_l} e^{i\left\{ \gamma _1S_l^{(1)}(t)+\gamma _2S_l^{(2)}(t)\right\} }n_k^{(l)}(t)J_l(t)\mathrm{d}t, \end{aligned}$$
(26)

and integral (22) by the following formula:

$$\begin{aligned} \tilde{u}\tilde{n}_k^{(l)}({\varvec{\xi }}) = \int \limits _{t_{l-1}}^{t_l} e^{-i\left\{ \xi _1S_l^{(1)}(t)+\xi _2S_l^{(2)}(t)\right\} }u^{(l)}(t) n_k^{(l)}(t)J_l(t)\mathrm{d}t, \end{aligned}$$
(27)

where \(t_{l-1}, t_l\) are unique values contained in the knot vector and they mean the beginning and the end of the segment with index l, respectively. The integrand functions:

$$\begin{aligned} \begin{aligned}&u^{(l)}(t) = u^{(l)}[S_l^{(1)}(t), S_l^{(2)}(t)],\\&n_k^{(l)}(t) = n^{(l)}[S_l^{(1)}(t), S_l^{(2)}(t)], \end{aligned} \end{aligned}$$
(28)

were obtained after the substitution of curve segments \(S_l^{(i)}(t)\) into variable \(y_i\), while \(J_l(t)\) is the Jacobian.

4 Generalized parametric integral equations system (PIES)

After application of the inverse Fourier transform and proper transformations into (24), we obtained the following formula, which requires further integration:

$$\begin{aligned}&\frac{1}{4\pi ^2} \int \limits _{R^2} \int \limits _{t_{l-1}}^{t_l} e^{i\{\xi _1 \lambda _1+\xi _2 \lambda _2\}}u^{(l)}(t)n_k^{(l)}(t)J_j(t)\mathrm{d}t\mathrm{d}{\varvec{\xi }}\nonumber \\&\qquad = \frac{1}{4\pi ^2} \int \limits _{R^2} \int \limits _{R^2} \frac{1}{4\pi ^2} \int \limits _{t_{l-1}}^{t_l} e^{i\{\xi _1 \lambda _1+\xi _2 \lambda _2\}} n_k^{(l)}(t)J_l(t)\nonumber \\&\qquad \quad \times e^{i\left\{ \omega _1S_l^{(1)}(t)+\omega _2S_l^{(2)}(t)\right\} } \sum _{j=1}^n \widehat{u}^{(j)}(i{\varvec{\omega }})\mathrm{d}t\mathrm{d}{\varvec{\omega }} \mathrm{d}{\varvec{\xi }}, \end{aligned}$$
(29)

where \(\lambda _i = x_i-S_l^{(i)}(t), i=1,2\).

After integrating both sides of Eq. (29) with respect to \(\varvec{\xi }\), we obtained:

$$\begin{aligned} \begin{aligned}&\int \limits _{t_{l-1}}^{t_l} \delta (\lambda _1) \delta (\lambda _2) u^{(l)}(t)n_k^{(l)}(t) J_l(t)\mathrm{d}t \\&\quad =\frac{1}{4\pi ^2} \int \limits _{R^2} \int \limits _{t_{l-1}}^{t_l} \delta (\lambda _1) \delta (\lambda _2) n_k^{(l)}(t) e^{i\left\{ \omega _1S_l^{(1)}(t)+\omega _2S_l^{(2)}(t)\right\} } \sum _{j=1}^n \widehat{u}^{(j)}(i{\varvec{\omega }})\mathrm{d}t\mathrm{d}{\varvec{\omega }}. \end{aligned} \end{aligned}$$
(30)

Next, to calculate integral with respect to t, we inserted \(S_l^{(1)}(t)=k\) into \(\lambda _1 = x_1 - S_l^{(1)}(t)\) and assumed, that \(t={\varPhi }(k)\). After differentiation of substitution, we obtained \(\{S_l^{(1)}[{\varPhi }(k)]\}\mathrm{d}t=\mathrm{d}k\). Finally, after substitution and integration, the formula (30) is presented as follows:

$$\begin{aligned} \begin{aligned}&\delta (\overline{\lambda }_2) u^{(l)}[{\varPhi }(x_1)] = \frac{1}{4\pi ^2}\delta (\overline{\lambda }_2) \int \limits _{R^2} e^{i\left\{ \omega _1 S_l^{(1)}[{\varPhi }(x_1)]+\omega _2 S_l^{(2)}[{\varPhi }(x_1)]\right\} } \sum _{j=1}^n \widehat{u}^{(j)}(i{\varvec{\omega }})\mathrm{d}{\varvec{\omega }}, \end{aligned} \end{aligned}$$
(31)

where \(\overline{\lambda }_2 = x_2 - S_l^{(2)}[{\varPhi }(x_1)]\).

To remove the Dirac distribution \(\delta (\overline{\lambda }_2)\) from (31), we calculated integrals on both sides of the equation with respect to \(x_2\). After substitution \({\varPhi }(x_1) = t\), Eq. (31) finally is defined as:

$$\begin{aligned} u^{(l)}(t) = \frac{1}{4\pi ^2} \int \limits _{R^2} e^{i\left\{ \omega _1 S_l^{(1)}(t)+\omega _2 S_l^{(2)}(t)\right\} } \sum _{j=1}^n \widehat{u}^{(j)}(i{\varvec{\omega }}) \mathrm{d}{\varvec{\omega }}, \end{aligned}$$
(32)

where \(l=1,2,3,\ldots ,n\).

Further integration of right side of (32) with respect to \(\varvec{\omega }\) requires definition of integrand function \(\widehat{u}^{(j)}(i{\varvec{\omega }})\) in explicit form. This function is presented by Eq. (25), where \(\tilde{p}^{(j)}({\varvec{\omega }})\) and \(\tilde{u}\tilde{n}_k^{(j)}({\varvec{\omega }})\) are defined on segments j similarly like in case of l segments in (27):

$$\begin{aligned} \tilde{p}^{(j)}({\varvec{\omega }})= & {} \int \limits _{s_{j-1}}^{s_j} e^{-i\left\{ \omega _1 S_j^{(1)}(s)+\omega _2 S_j^{(2)}(s)\right\} } p^{(j)}(s) J_j (s)\mathrm{d}s, \end{aligned}$$
(33)
$$\begin{aligned} \tilde{u}\tilde{n}_k^{(j)}({\varvec{\omega }})= & {} \int \limits _{s_{j-1}}^{s_j} e^{-i\left\{ \omega _1 S_j^{(1)}(s)+\omega _2 S_j^{(2)}(s)\right\} } u^{(j)}(s) n_k^{(j)}(s) J_j (s)\mathrm{d}s, \end{aligned}$$
(34)

where \(s_{j-1}, s_j\) are unique values contained in the knot vector and they mean the beginning and the end of the segment with index j, respectively, while \(p^{(j)}(s) = p^{(j)}[S_j^{(1)}(s), S_j^{(2)}(s)]\), \(u^{(j)}(s) = u^{(j)}[S_j^{(1)}(s), S_j^{(2)}(s)]\) and \(n_k^{(j)}(s)= n_k^{(j)}[S_j^{(1)}(s), S_j^{(2)}(s)]\) is the normal vector. The value \(J_j(s)\) is the Jacobian determined by the following formula:

$$\begin{aligned} J_j(s) = \bigg [ \bigg ( \frac{\partial S_j^{(1)}(s)}{\partial s}\bigg )^2 + \bigg ( \frac{\partial S_j^{(2)}(s)}{\partial s}\bigg )^2 \bigg ]^{0.5}. \end{aligned}$$
(35)

Normal vectors of segments should be directed outside the domain. Declaration of the segments is reduced to defining control points, their weights and knots only. The way of defining these points has an impact on the direction of the normal vector.

After substitution (33) and (34) into (25) and next (25) into (32), we obtained the formula named parametric integral equation system (PIES) (Zieniuk 2003a, b) in the following form:

$$\begin{aligned} \alpha u^{(l)}(t)= & {} \sum _{j=1}^n \int \limits _{s_{j-1}}^{s_j} \left\{ \overline{U}_{lj}^*(t, s) p^{(j)}(s) - \overline{P}_{lj}^*(t, s) u^{(j)}(s) \right\} J_j(s) \mathrm{d}s, \nonumber \\&l=1, 2, 3, \ldots , n, \quad t_{l-1} \le t \le t_l, \quad s_{j-1} \le s \le s_j. \end{aligned}$$
(36)

where \(J_j\) is Jacobian (35) and the kernels in formula (36) are represented by functions \(\overline{U}_{lj}^*\) and \(\overline{P}_{lj}^*\).

The first integrand \(\overline{U}_{lj}^*\) is represented by the following expression:

$$\begin{aligned} \overline{U}_{lj}^*(t,s) = \frac{-1}{16\pi ^4} \int \limits _{R^2} e^{i\{\omega _1 \eta _1 + \omega _2 \eta _2\}} L(i{\varvec{\omega }})\mathrm{d}{\varvec{\omega }}, \end{aligned}$$
(37)

where

$$\begin{aligned} \begin{aligned} \eta _1&= \eta _1(t,s) = S_l^{(1)}(t) - S_j^{(1)}(s),\\ \eta _2&= \eta _2(t,s) = S_l^{(2)}(t) - S_j^{(2)}(s). \end{aligned} \end{aligned}$$
(38)

After calculation of integral (37), we obtained an expression in an explicit form, which include the shape of boundary into its formulas (by function \(\eta (t,s)\) of two parameters t and s):

$$\begin{aligned} \overline{U}_{lj}^*(t,s) = \frac{1}{2\pi } \text {ln} \frac{1}{\eta }, \quad \eta = \eta (t,s) = \left[ \eta _1^2+\eta _2^2\right] ^{0.5}. \end{aligned}$$
(39)

As a result of derivations, there were attempts to present (39) in the same form as classical fundamental solution. Nevertheless, in Eq. (39), \(\eta _1\) and \(\eta _2\) are not simply variables like in fundamental solution, but they are functions of parameters t and s, like it is presented in (38). Therefore, Eq. (39), contrary to fundamental solution, include the shape of boundary into its formulas and was called as a fundamental boundary solution.

The second integrand \(\overline{P}_{lj}^*\) in (36) is represented by:

$$\begin{aligned} \overline{P}_{lj}^*(t,s) = \frac{-i}{16\pi ^4} \int \limits _{R^2} e^{i\{\omega _1 \eta _1 + \omega _2 \eta _2\}} L(i{\varvec{\omega }})\omega _k \tilde{n}_k({\varvec{\omega }})\mathrm{d}{\varvec{\omega }}, \end{aligned}$$
(40)

where \(\eta _1, \eta _2\) is given by (38).

After substitution in (40) integrand function \(L(i{\varvec{\omega }}) = L(i{\varvec{\xi }})\) (11) (where \({\varvec{\omega }} = {\varvec{\xi }}\)) and after integration, we finally obtained:

$$\begin{aligned} \overline{P}_{lj}^*(t,s) = \frac{1}{2\pi } \frac{\eta _1 n_1^{(j)}+\eta _2 n_2^{(j)}}{\eta ^2}, \end{aligned}$$
(41)

where \(n_k^{(j)}=n_k^{(j)}(s), (k=1, 2)\) are the components of normal vector to segment j.

Kernels (39) and (41) allow to include in their mathematical formulas the shape of boundary generated by parametric segments \(l, j = 1, 2, 3, \ldots , n\). This segments are defined in Cartesian coordinates by \(\eta (t,s)=[\eta _1^2+\eta _2^2]^{0.5}\) and the relations (38), where \(S_j^{(1)}(s), S_j^{(2)}(s)\) are scalar components of the segments \(\mathbf{S}_j(s) = [S_j^{(1)}(s), S_j^{(2)}(s)]^T\) and depends on parameter s.

In PIES, indexes \(l, j = 1, 2, 3, \ldots , n\) allow to define relationship between boundary segments of considered boundary value problems. In this paper, we define the shape of boundary in PIES by NURBS segments. Relationship between segments, that model closed boundary, was presented by integral equations system. However, PIES was not defined on boundary like classical BIE, but in the domain of boundary definition (means \(0 \le t, s \le 1\)).

An important advantage of such modeling is that for any shape of the boundary modification (as is shown in Sect. 7) it will be defined always in the same domain. This is the domain of NURBS curve definition, which model closed boundary. In other words, PIES is automatically adapted to modified shape of boundary without any additional computations. The modification is connected with the change of control points, their weights and knots only, like in Sect. 2. These changes result in automatic adaptation of PIES to new shape of boundary, because NURBS curves are directly included into mathematical formulas of PIES.

Solution of PIES is reduced to finding boundary functions defined on NURBS segments (included into PIES kernels). Development of global algorithm of solving PIES is much easier, because PIES is not defined on boundary contrary to BIE. PIES is defined in parametric reference system corresponding to domain of NURBS curves, which are used to define the boundary.

5 Modification of integral identity for solutions in domain

After PIES solution, we obtain only solutions on boundary. To obtain solutions in the domain, proper adaptation of (12) is required, where boundary integrals \(\tilde{p}^{(j)}({\varvec{\xi }})\) and \(\tilde{u}\tilde{n}_k^{(j)}({\varvec{\xi }})\) are represented similarly to (23). Finally Eq. (12) is presented as follows:

$$\begin{aligned} \widehat{\overline{u}}(i{\varvec{\xi }}) = \sum _{j=1}^n \bigg \{ L(i{\varvec{\xi }}) \tilde{p}^{(j)}({\varvec{\xi }}) + iL(i{\varvec{\xi }}) \sum _{k=1}^2 \xi _k \tilde{u} \tilde{n}_k^{(j)}({\varvec{\xi }}) \bigg \}, \end{aligned}$$
(42)

where

$$\begin{aligned} \tilde{p}^{(j)}({\varvec{\xi }})= & {} \int \limits _{s_{j-1}}^{s_j} e^{-i\left\{ \xi _1 S_j^{(1)}(s)+\xi _2 S_j^{(2)}(s)\right\} } p^{(j)}(s)J_j(s)\mathrm{d}s, \end{aligned}$$
(43)
$$\begin{aligned} \tilde{u}\tilde{n}_k^{(j)}({\varvec{\xi }})= & {} \int \limits _{s_{j-1}}^{s_j} e^{-i\left\{ \xi _1 S_j^{(1)}(s)+\xi _2 S_j^{(2)}(s)\right\} } u^{(j)}(s)n_k^{(j)}(s)J_j(s)\mathrm{d}s, \end{aligned}$$
(44)

and \(s_{j-1}, s_j\) are unique values contained in the knot vector. They mean the beginning and the end of the segment with index j, respectively.

After the inverse Fourier transform of (42), we obtained the following expression:

$$\begin{aligned} u(\mathbf{x}) = \sum _{j=1}^n \int \limits _{s_{j-1}}^{s_j} \bigg \{ \widehat{\overline{U}}_j^*(\mathbf{x}, s)p^{(j)}(s) - \widehat{\overline{P}}_j^*(\mathbf{x}, s)u^{(j)}(s) \bigg \} J_j(s)\mathrm{d}s. \end{aligned}$$
(45)

The first integrand \(\widehat{\overline{U}}_j^*(\mathbf{x}, s)\) takes the following form:

$$\begin{aligned} \widehat{\overline{U}}_j^*(\mathbf{x}, s) = \frac{1}{2\pi } \text {ln} \frac{1}{\overleftrightarrow {r}}, \end{aligned}$$
(46)

where \(\overleftrightarrow {r}=\overleftrightarrow {r}(\mathbf{x}, s)=[\overleftrightarrow {r}_1^2+\overleftrightarrow {r}_2^2]^{0.5}\), \(\overleftrightarrow {r}_i=\overleftrightarrow {r}_i(\mathbf{x}, s)=x_i - S_j(s)\) and \(i=1,2\).

The second integrand \(\widehat{\overline{P}}_j^*\) in (45) is represented by the following expression:

$$\begin{aligned} \widehat{\overline{P}}_j^*(\mathbf{x}, s) = \frac{1}{2\pi } \frac{\overleftrightarrow {r}_1^2 n_1 + \overleftrightarrow {r}_2^2 n_2}{\overleftrightarrow {r}^2}. \end{aligned}$$
(47)

6 Numerical solution of PIES

Mathematical formulas of PIES is defined in the parametric domain of parametric segments. They theoretically described the shape of the boundary. The separation of approximation of the shape of boundary from the approximation of the boundary functions makes possibility to consider these problems independently. To solve PIES, we can use one of methods dedicated to solving the classical singular integral equations. We should remember that first we must define the boundary in PIES.

Solution of PIES (36) is reduced to approximation of the boundary functions \(p^{(j)}(s)\) and \(u^{(j)}(s)\) defined on following segments with index j. The given boundary conditions as well as searched boundary functions are approximated on each segment by the following series:

$$\begin{aligned} p^{(j)}(s) = \sum _{r=0}^{M-1} p_r^{(j)} T_r^{(j)}(s), \quad u^{(j)}(s) = \sum _{r=0}^{M-1} u_r^{(j)} T_r^{(j)}(s), \end{aligned}$$
(48)

where

  • \(p^{(j)}(s), u^{(j)}(s)\)—are the given or searched coefficients,

  • M—is the number of terms in the series defined in the parametric domain of the segment,

  • \(T_r^{(j)}(s)\)—are chosen basis functions—Chebyshev polynomials.

6.1 The approximation of PIES

After substituting (48) into (36), we obtained approximated expression of PIES for smooth boundary (where \(\alpha = 0.5\)) in the following form:

$$\begin{aligned}&0.5 \displaystyle \sum \limits _{r=0}^{M-1} u_l^{(r)} T_l^{(r)}(t) =\displaystyle \sum \limits _{j=1}^n \displaystyle \sum \limits _{r=0}^{M-1} \left\{ p_r^{(j)} \displaystyle \int \limits \limits _{s_{j-1}}^{s_j} \overline{U}_{lj}^*(t, s)\nonumber \right. \\&\left. \qquad \qquad \qquad \qquad - u_r^{(j)} \displaystyle \int \limits \limits _{s_{j-1}}^{s_j} \overline{P}_{lj}^*(t, s) \right\} T_j^{(r)}(s) J_j(s)\mathrm{d}s, \quad l = 1, 2, 3, \ldots , n, \end{aligned}$$
(49)

where integrands \(\overline{U}_{lj}^*(t, s), \overline{P}_{lj}^*(t, s)\) are represented by formulas (39) and (41).

To solve numerically formula (49), pseudospectral method is used. After applying (49) for all collocation points \(t^{(c)}\), located in the parametric segments \(t_{l-1}< t^{(c)} < t_l\) of \(S_l (l=1, 2, 3, \ldots , n)\), we obtained the system of algebraic equations in the following form:

$$\begin{aligned} \mathbf Hu = Gp. \end{aligned}$$
(50)

The size of the system depends on the number of collocation points. After solving (50), we obtained values of coefficients of terms (48), represented by vectors \([h_{lj}]\) or \([g_{lj}]\) (according to posed boundary conditions).

The elements of matrices \(\mathbf H\) and \(\mathbf G\) are calculated on the basis of the following expressions:

$$\begin{aligned}{}[h_{lj}]= & {} 0.5 \delta _{lj} \sum _{r=0}^{M-1} T_l^{(r)}(t^{(c)})+\sum _{r=0}^{M-1} \int \limits _{s_{j-1}}^{s_j} \overline{P}_{lj}^*(t^{(c)}, s) T_j^{(r)}(s)J_j(s)\mathrm{d}s, \end{aligned}$$
(51)
$$\begin{aligned}= & {} \sum _{r=0}^{M-1} \int \limits _{s_{j-1}}^{s_j} \overline{U}_{lj}^*(t^{(c)}, s) T_j^{(r)}(s)J_j(s)\mathrm{d}s. \end{aligned}$$
(52)

The matrix elements in (50) requires the calculation of strongly and weak singular integrals. After taking into account the boundary conditions in (50) and solving the algebraic system of equations, we obtained the unknown coefficients \(u_r^{(j)}\) or \(p_r^{(j)}\) on individual segment of the boundary.

6.2 Approximation of integral identity for solutions in domain

After solving equations (50), we obtained solutions on the boundary. Solutions in the domain \({\varOmega }\) at point \(\mathbf{x} = (x_1, x_2)\) are computed by integral identity (45). After substituting approximating series (48) into (45), we obtained the identity in the following form:

$$\begin{aligned} u(\mathbf{x}) = \sum _{j=1}^n \sum _{r=0}^{M-1} \left\{ p_r^{(j)} \int \limits _{s_{j-1}}^{s_j} \widehat{\overline{U}}_j^*(\mathbf{x}, s) - u_r^{(j)} \int \limits _{s_{j-1}}^{s_j} \widehat{\overline{P}}_j^*(\mathbf{x}, s) \right\} T_j^{(r)}(s) J_j(s)\mathrm{d}s. \end{aligned}$$
(53)

The integrands \(\widehat{\overline{U}}_j^*(\mathbf{x}, s), \widehat{\overline{P}}_j^*(\mathbf{x}, s)\) are represented by (46) and (47). To determine the solution in the domain, we need to take into account in the formula (53) only coefficients \(u_r^{(j)}\) and \(p_r^{(j)}\) for each segment which model the boundary.

7 Testing examples

The developed strategy of generalized PIES should be tested in respect of modeling and solving boundary value problem accuracy. First, we decided to compare the solutions obtained using NURBS with solutions obtained formerly in PIES (for linear segments and B-spline curves). We also verified the efficiency of boundary shape modification using NURBS curves. For this purpose, we were changing the location of control points, their weights and knots of the NURBS curve. Obtained solutions were compared with analytical ones. The mentioned tests, on examples of different boundary value problems, were presented below.

7.1 Comparison of the PIES solutions between application of linear segments and NURBS curves

First, to verify the correctness of boundary shape modeling in PIES by NURBS curves, we considered example of rectangular domain. modeling of such shape by linear segments as well as by NURBS curves should be made with the same accuracy. In Fig. 3, we present the boundary modeling of such domain by NURBS curves of first, second and third degree. Additionally, we present corresponding normalized B-spline blending functions N.

Fig. 3
figure 3

Boundary of rectangular domain modeled by closed NURBS curve of a first, b second, c third, degree

The weights, in each case (Fig. 3a–c), are equal to one. The vector of knots, for the curve of first degree, is defined as: (0, 0, 0.25, 0.5, 0.75, 1, 1), for the curve of second degree: (0, 0, 0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1, 1, 1) and for the curve of third degree (0, 0, 0, 0, 0.25, 0.25, 0.25, 0.5, 0.5, 0.5, 0.75, 0.75, 0.75, 1, 1, 1, 1). Then, we consider the boundary value problem with the boundary conditions presented in Fig. 4. We present not only control points, but also points in domain in which the solutions were obtained.

Fig. 4
figure 4

Definition of tested boundary value problem: shape of boundary and boundary conditions

In Table 1, we presented the solutions of above example (Fig. 4). Solutions are obtained for different degree of NURBS curves, as shown in Fig. 3 and for linear segments (points are defined like in Fig. 4) (Zieniuk 2002). The accuracy of the linear segments as well as the NURBS segments modeling in this case should be the same. Therefore, obtained solutions (presented in Table 1) are almost the same.

Table 1 Verification of obtained solutions in the domain

7.2 Comparison of PIES solutions between application of B-spline and NURBS curves

Next, we check the impact of curvilinear shape modeling accuracy on accuracy of PIES solutions. For this purpose, we considered curvilinear example presented in Hromadka (1987) based on Laplace’s equation. In this example, on elliptical boundary \(x_1^2/a^2+x_2^2/b^2=1\), the following Dirichlet boundary conditions were defined:

$$\begin{aligned} u(x)=0.5\left( x_1^2+x_2^2\right) . \end{aligned}$$
(54)

Analytical solutions, for so-defined problem, are presented in Hromadka (1987) in the following form:

$$\begin{aligned} u(x)=\frac{x_1^2+x_2^2}{2}-\frac{a^2 b^2 \big (\frac{x_1^2}{a^2} +\frac{x_2^2}{b^2} -1\big )}{a^2+b^2}. \end{aligned}$$
(55)

The way of the boundary shape modeling, using classical B-spline curves and NURBS curves, was presented in Fig. 5. Previously in PIES, to define curvilinear shape of boundary B-spline curves were used (Zieniuk 2007). These curves, as it is presented in Fig. 5a, are defined by the de Boor’s approximation control points \(D_i (i =0,1,\ldots 7)\). However, in practice, such shape of boundary modeling by approximating points is quite difficult. Therefore, only points located on boundary are defined \(P_i (i =0,1,\ldots 7)\) and then de Boor’s control points were calculated \(D_i (i =0,1,\ldots 7)\).

Fig. 5
figure 5

The example of modeling the boundary shape using a B-spline curves, b NURBS curves

In case of NURBS curves (Fig. 5b), to model the boundary shape, we should define the points \(\overline{P}_i (i =0,1,\ldots 7)\), where only \(\overline{P}_i (i =0,2,4,6)\) are located on boundary. In addition, weights \(w_i (i=0,1,\ldots 7)\) for each point and knots vector (0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4) are defined. In this example, normalized B-spline blending functions are the same as those presented in Fig. 3b. The only difference is the location of control points. Additionally, in case of points \(\overline{P}_1, \overline{P}_3, \overline{P}_5\) and \(\overline{P}_7\) we define weights \(w_1=w_3=w_5=w_7 = 0.707\) to improve the accuracy of the elliptical boundary modeling. In B-spline application (Zieniuk 2007) the third degree curves were used, while in NURBS the second degree curve only.

PIES solutions for both ways of modeling with BEM and analytical solutions were presented in Table 2. Additionally, in Table 2, we present percentage relative error of numerical solutions in domain with respect to analytical solutions.

Table 2 Solutions of tested boundary value problem: analytical (\(u_\mathrm{{a}}\)), BEM, PIES using B-spline and NURBS curves

Average relative error of PIES solutions, in comparison to analytical ones, is much smaller in case of NURBS curves application than in B-spline curves. BEM often used linear shape functions and it is assumed, that for the engineering purposes obtained solutions are satisfactory. However, based on presented tests, we should noted that the accuracy of boundary shape modeling has an significant impact on the accuracy of obtained solutions. Therefore, it is reasonable to use contemporary methods of the boundary shape modeling.

7.3 Modification of the boundary using control points and weights

Next, the authors were focused on the opportunities connected with the inclusion of NURBS curves into mathematical formulas of PIES, i.e., easy and convenient way of modeling as well as modifying the shape of boundary in PIES. The mathematical formulas of PIES automatically adapts to the changes of input values such as control points, their weights and knots. First, to illustrate easiness of the boundary shape modification, we considered examples presented in Fig. 6.

Fig. 6
figure 6

Examples of modeling and modifying the shape of boundary using NURBS curves

Presented examples are obtained as a result of elliptic shape modifications (Fig. 5) using control points and their weights. Therefore, the shape is still defined as closed curve of second degree. We decided to change only control points and their weights. The knot vector remains the same. Therefore, functions N are presented similarly to ones in Fig. 3b. In Fig. 6 we marked knots and only these weights, which values are different than one. In Fig. 6a the weights of points \(P_1\) and \(P_7\) are equal to 1. In the next example, presented in Fig. 6b, to shift the curve closer to points \(P_1\) and \(P_3\), their weights were increased to 3. The other modifications, necessary to obtain these shapes presented in Fig. 6 from ellipse (Fig. 5b), assumed changes of coordinates of control points only.

To verify the accuracy of more sophisticated shapes modeling, we decided to compare PIES solutions of boundary value problem with analytical ones. Boundary shape definitions of the examples were presented in Fig. 6. The boundary value problems were modeled by Laplace’s equation. We used the function:

$$\begin{aligned} u(x)=x_1^2-5x_2+x_1-x_2^2, \end{aligned}$$
(56)

which satisfies Laplace’s equation. Based on this function we can obtain the Dirichlet and Neumann boundary conditions for any considered shape of boundary.

In examples presented in Fig. 6, we considered the Dirichlet boundary conditions u(x). Solutions in the domain were obtained in the same cross-section, where \(x_2=3.5\) and \(x_1\) was changed from 1.5 to 6.5. The points of cross-section are presented in Fig. 6. The analytical solutions (\(u_\mathrm{a}\)) and PIES ones (Fig. 6a, b) are presented in Table 3.

Table 3 Comparison between analytical (\(u_\mathrm{a}\)) and PIES solutions of problems presented in Fig. 6

7.4 Modification of the boundary using control points, weights and knots

Solutions of problems presented in Fig. 6 were satisfactory. Therefore, we decided to tests examples, where all of NURBS curve input data (control points, their weights and knots vector) were changed. Such modification (based on ellipse, as well) and corresponding N functions are presented in Fig. 7.

Fig. 7
figure 7

Examples of modification of boundary using the NURBS curves with corresponding N functions

Both shapes are defined by the same weights values except for points \(P_1\) and \(P_5\). To shift the curve closer to points \(P_1\) and \(P_5\) we increased their weights to value 3 (Fig. 7a) and to value 5 (Fig. 7b). Next difference between shapes presented in Fig. 7a, b is the location of \(P_1\) and \(P_5\) control points and changes of some values in knots vector. Double knots \(t_{3-4}\) and \(t_{5-6}\) in Fig. 7a have been changed in Fig. 7b to single knots \(t_3\), \(t_4\), \(t_5\) and \(t_6\). The impact of such modification on the N functions we present under corresponding examples in Fig. 7. We should noted, that N functions for other values of knots (\(t_{7-11}\)) remained unchanged.

In next example (Fig. 8a) we changed the weight of the point \(P_1\) into value 3. Other weights did not modify the shape, therefore all of them were equal to 1. To smooth the curve in points \(P_2, P_4\) and \(P_6\), three double knots were split into six single knots. Therefore, the curve does not intersect points \(P_2, P_4\) and \(P_6\), contrary to the case of double knots. In the example presented in Fig. 8b the weight of \(P_1\) was also increased (\(w_1=3\)), while the weight of \(P_6\) remained unchanged. Other weights did not modify the shape, therefore all of them were equal to 1, as well. This example presents splitting of two double knots in points \(P_2\) and \(P_6\). Therefore, the curve does not intersect these two points. This results in a smooth connection between segments.

Fig. 8
figure 8

Modification of the shape by NURBS curves and corresponding N functions

Above mentioned examples clearly present, that NURBS curve is an easy tool for defining linear as well as curvilinear segments of the boundary shape using only one closed curve. In addition, changes of values in knots vector are shown as the chart of N functions (respectively to shapes in Figs. 7 and 8). To verify the modeling as well as implementation of NURBS curves in PIES, we solved boundary value problems presented in Figs. 7 and 8. The Dirichlet boundary conditions were defined by (56). Obtained solutions in domain, in cross-section shown in Figs. 7 and 8 as dotted line, are presented in Table 4.

Table 4 Comparison between analytical (\(u_\mathrm{a}\)) and PIES solutions of problems presented in Figs. 7 and 8

In case of all examples presented in Figs. 6, 7 and 8 the average relative error of PIES solutions in domain, with respect to analytical solutions, is very small. We should noted, that numerical solutions of PIES almost match the analytical solutions, even in the case of more sophisticated shapes of the boundary. Therefore, application of NURBS curves into mathematical formulas of PIES, results in high accuracy of solutions as well as more accurate shape of boundary modeling. In addition, it seems to be very easy and functional tool for modeling and modification of the boundary shape.

8 Conclusions

In this paper, as result of NURBS curves insertion (widely applied for the shape of boundary modeling) directly into mathematical formulas of classical BIE, the generalized PIES were obtained. It is a different way comparing to known from literature application of NURBS at the stage of numerical solution of BIE (called as isogeometric modeling in BEM). Application of NURBS curves in mathematical formulas of generalized PIES have a great advantage over direct application of curves to define boundary elements. The changes of the shape of boundary in PIES, using control points, their weights and knots, result in automatic adaptation of PIES to modified shape of boundary.

Proposed application of NURBS curves in PIES allows us to define the shape of boundary more accurately. We have noted a significant increase in accuracy of obtained solutions comparing to ones previously obtained by application of B-spline curves in PIES. Additionally, for modeling ellipse we can use the second degree NURBS curve only, while in case of B-spline curves cubic segments should be used. Next advantage is the opportunity of modeling of continuous shape of boundary using only one closed curve. Therefore, the application of NURBS in PIES increased the accuracy of modeling of the shape of boundary (it also increase the accuracy of the solutions), as well as creates opportunity of easy and uniform way of defining the shape of boundary.