## 3 Results and Discussion  
### Modifications of the Topology Optimization Algorithm  
The free-form function (7) uses bilinear basis functions instead of MultiQuadric (MQ) basis proposed in the original algorithm [20]. The use of bilinear basis functions has several advantages. First, the \(\alpha_{i}\) from (7) has a simple interpretation. The only spline basis function placed at some point \((x_{i},y_{i})\) with positive coefficient \(\alpha_{i}\) means that its non-zero region \([x_{i}-1,x_{i}+1],[y_{i}-1,y_{i}+1]\) is filled with material. Otherwise, if \(\alpha_{i}\) is negative, no material is present in \([x_{i}-1,x_{i}+1],[y_{i}-1,y_{i}+1]\). Two spline basis functions \(\phi_{i}(x,y)\) and \(\phi_{j}(x,y)\) with shared non-zero regions and corresponding \(\alpha_{i}\) and \(\alpha_{j}\) of opposite signs define a portion of the body in the shared region with the boundary defined by the equation:  
\[\alpha_{i}(1-|x-x_{i}|)(1-|y-y_{i}|)=-\alpha_{j}(1-|x-x_{j}|)(1-|y-y_{j}|). \tag{18}\]  
The Equation (18) defines a conic section in 2D. Figure 2b shows the case of two bilinear spline basis functions with the shared region and corresponding \(\alpha_{i}\) and \(\alpha_{j}\) of opposite signs. The black region on the right is the domain where the considered function is positive. Second, the algorithm proposed in [20] works with a rectangular domain \(D\) and the bilinear spline (7) can accurately describe it. Consider the domain as shown in Figure 2c covered by 91 \(\times\) 26 spline basis functions. Three non-zero regions of the bilinear spline basis functions are shown in green, seven shared non-zero regions of the bilinear spline basis functions are shown in red. Grid knots are the centers of their non  
Figure 9: (**a**) The manufactured part attached to the cylindrical substrate. (**b**) The image from Digital Image Correlation System. (**c**) The location of tracked points on the part. (**d**) The test photos of the part under loads 0 and 15 kN. (**f**) The test and calculation results of vertical displacement for points P1 and P2. (**e**) The test and calculation results of vertical displacement for point P3. zero regions. Every non-zero region of a spline basis function covers four white regions. However, it is not the case for the basis functions placed at the boundary of \(D\). One can define the whole rectangular domain \(D\) by a finite number of spline functions in the form proposed in Equation (7). Two conditions hold for all these functions. The \(\alpha_{i}\) values corresponding to all spline basis functions placed at the boundary, equal zero, and others are positive. The optimization algorithm requires the free-form function (7) to have properties of a signed distance function near the boundary. Therefore, for example, for the basis functions placed at the boundary, \(\alpha_{i}\) can be initialized with zeros, and in other cases--with unities. One more reason to use bilinear splines in Equation (3) is the FEM step. At this step, we approximate the Young's modulus of the rectangular element proportionally to the element's density. For the elements with no material, the Young's modulus is assumed to be zero. Young's modulus of elements filled with material is assumed to be equal to that of proposed material. The algorithm estimates the density of elements partially located at the boundary. It uses exact values of the bilinear spline (7). Another modification [20] relates to Steps 2 and 6 of the initial optimization algorithm. In the examples from [20], the defining function initially has positive values at the boundary of the domain \(D\). From the FRep perspective, it means that the body has a surface somewhere outside \(D\). However, it is not correct. Mathematically, \(\alpha_{i}\) at the boundary of the domain \(D\) has to be zero or negative. Suppose at some iteration \(i\) of the algorithm we obtained the defining function \(f_{i}(x,y)\). The idea above can be written as:  
\[f_{i}(x_{j},y_{j})=min(f_{i-1}(x_{j},y_{j}),0) \tag{19}\]  
where \((x_{j},y_{j})\) is a boundary point of \(D\).