1 Introduction

In the traditional finite element method (Reddy 1993; Yang 1986; Zienkiewicz et al. 2005), the physical domain is discretized into a finite element mesh that should be conformal to the geometry boundary, as shown in Fig. 1a. For a complex structure, according to the common experience, over 80% of the effort is generally devoted to converting the CAD model into a proper finite element model (Cottrell et al. 2009). The reduction of the discretization effort is therefore of particular significance to favor the design phase of products. In order to alleviate the burden of the mesh discretization, several attractive methods have been developed: the meshless method (Belytschko et al. 1996; Idelsohn et al. 2003; Rassineux et al. 2003; Wang and Liu 2002; Yagawa and Yamada 1996; Zhou and Zou 2008) by which the discretization is made in terms of nodes without nodes connectivities, as illustrated in Fig. 1b; the iso-geometric analysis (IGA) that uses the same high-order NURBS as shape functions for both the solution approximation and the representation of the geometric model (Ghasemi et al. 2017; Hughes et al. 2005; Wang et al. 2017; Xu et al. 2019); the fixed mesh method by which the physical model is embedded into a structured fictitious domain discretized by an Eulerian grid (Codina et al. 2017; Garcia-Ruiz and Steven 2005; Peskin 2017; Sanders and Puso 2019).

Fig. 1
figure 1

Discretization models using different methods

The finite cell method (FCM), considered as a kind of fixed mesh method, has drawn great attention in the last decade due to the alleviation of the tedious meshing process (Joulaian and Düster 2013; Parvizian et al. 2007; Schillinger and Ruess 2015). Meanwhile, high-order continuity of stress field is achieved thanks to the employment of B-spline shape functions. This method has been firstly applied to both shape and topology optimization (Cai et al. 2014; Meng et al. 2020; Zhang et al. 2015, 2017; Tang and Meng et al. 2019; Tie et al. 2020). Later, it has been successfully extended to solve axis-symmetric problems involving centrifugal force (Meng et al. 2016). It is noticed that, during the shape optimization procedure, the computing accuracy needs to be ensured along with the shape variation (Grindeanu et al. 1999; Meng et al. 2014; Wang et al. 2010, 2016, 2018; Xia et al. 2012). As such, a considerable number of DOFs are required to achieve an accurate result. Alternatively, the corresponding B-mesh needs to be adequately fine such that the smallest feature of the structure is generally discretized into several finite cells. However, superfluous knots may be introduced due to the uniformity of the B-mesh and this is particularly computationally expensive, as shown in Fig. 1c. As a result, the concept of hierarchical B-splines (HB) was introduced to deal with the local refinement (Forsey and Bartels 1988). Later, the truncated hierarchical B-splines (THB) were further developed to recover the loss of the partition of unity (PU) of the hierarchical B-splines (Giannelli et al. 2012). Local adaptive mesh refinement relying on HB-splines or THB-splines has been implemented (Schillinger et al. 2010; Schillinger et al. 2012; Garau and Vázquez 2018). Nevertheless, according to N. Nguyen-Thanh et al. (2011), for the HB, some additional constraint equations are required which may increase the complexity and implementation error. Moreover, the refinement still propagates to introduce the overlaps which may obstruct the calculating efficiency as stated in Kuru, Gokturk, et al. (2014).

Unlike B-splines, T-splines allow the presence of T-junction points, with which local refinements can be implemented naturally (Sederberg et al. 2003, 2004). Up to now, T-spline has been developed for modeling in commercial software such as Maya and Rhino (2019). As demonstrated in Fig. 2, a complex head model constructed with T-splines takes 74% fewer control points than the one with B-splines modeling. To benefit from this, the concept of T-splines was introduced to replace the B-spline shape functions in the standard IGA (Bazilevs et al. 2010; Dörfel et al. 2010; Nguyen-Thanh et al. 2011; Schillinger et al. 2012; da Veiga et al. 2011). The analysis is consequently carried out with fewer DOFs while still obtaining reliable results.

Fig. 2
figure 2

A man head modeled by B-spline (the left one with 4712 control points) and T-spline (the right one with only 1109 control points) (Sederberg et al. 2004)

In the current work, the T-spline shape functions are introduced to the FCM to locally insert a group of knots into a coarse B-mesh. The merit of the approach is that the DOFs are no longer increased uniformly. Rather, only those in the critical regions will be added where needed. Inspired by the adaptive FEM (Ainsworth and Senior 1998), the norm of the stress gradient is analytically calculated to identify the cells with sharp stress changes, for which a proper T-mesh refinement is developed. The linear independence, despite being unnecessary for CAD modeling, is imperative in the construction of shape functions for analysis, as described in Li et al. (2012). In this work, the quadtree-based refinement strategy, developed in Bazilevs et al. (2010), has been adopted to meet this requirement. By the above measures, the analysis and optimization can be conducted using the T-mesh with a considerable improvement both in accuracy and efficiency.

The remainder of this paper is organized as follows. In Section 2, a brief review of B-spline FCM is presented, and the development of T-spline FCM is displayed. Section 3 explains the T-mesh generation, accompanied by the local refinement scheme based on the stress gradient. Additionally, two examples are analyzed to show the validity and efficiency of the proposed local refinement strategy. The optimization framework with T-spline FCM is illustrated in Section 4. In Section 5, the proposed method is validated on several structural shape optimization examples. The comparison study with B-spline FCM fully demonstrates the efficiency of the proposed method. Finally, the conclusions are drawn out in Section 6.

2 T-spline finite cell method

For the ease of understanding, we start with a concise introduction of B-spline before the presentation of T-spline FCM.

2.1 B-spline shape functions: a brief description

The univariate B-spline shape functions Ni, p(ξ) are formed on a non-decreasing sequence of knots called a knot vector \(\textit {\textbf {I}}=\left \{\xi _{1}, \xi _{2}, ... , \xi _{N+p+1}\right \rbrace \), where N is the number of control points and p denotes the degree of the shape function. m = N + p + 1 is the number of knots. The B-spline shape functions are defined by the Cox-de Boor recursion formulas (Piegl and Tiller 2012)

$$ \left\{ \begin{aligned} N_{i,0}\left( \xi\right)&=\left\{ \begin{aligned} 1,\quad & \text{if}\quad \xi_{i}\leq\xi<\xi_{i+1}\\ 0,\quad & \text{else} \end{aligned} \right.\\ N_{i,p}(\xi)&=\frac{\xi-\xi_{i}}{\xi_{i+p}-\xi_{i}}N_{i,p-1}(\xi)+ \frac{\xi_{i+p+1}-\xi}{\xi_{i+p+1}-\xi_{i+1}}N_{i+1,p-1}(\xi) \end{aligned} \right. $$
(1)

where we define \(\frac {0}{0}=0\). Given a knot vector \(\textit {\textbf {I}}=\left \lbrace 0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1 \right \rbrace \), Fig. 3 illustrates all the univariate cubic B-spline shape functions. Upon the construction of B-spline shape functions, the state field in 1D FCM, e.g., displacement field, is then approximated by interpolation of the state variables \({\textbf {U}} = \{ u_{1}, u_{2}, ... , u_{N}\}^{\mathrm {T}}\) that are associated with the control points in the physical space

$$ u = \sum\limits_{i=1}^{\textit{N}}N_{i,p}(\xi)u_{i}. $$
(2)
Fig. 3
figure 3

Univariate cubic B-spline shape functions defined on \(\textit {\textbf {I}}=\left \lbrace 0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1 \right \rbrace \) with N = 7 and p = 3

In particular, once the knot vector is defined, according to the references (Greville et al. 1969; Farin et al. 1993; Li et al. 2011), the corresponding control points in the physical domain are determined through the Greville abscissae method. Note that a linear projection is defined for the determination of an arbitrary point in the physical domain from the intrinsic coordinate in the parametric space

$$ x = {x}_{\text{ini}}+\xi ({x}_{\text{end}}-{x}_{\text{ini}}) = {x}_{\text{ini}}+\xi l_{{x}} $$
(3)

where xini and xend denote the lower and upper bounds of the embedded domain and lx is the length of the embedded domain.

As underlined in Cai et al. (2014), this interpolation is of high-order continuity and can be used to accurately calculate the derivative of the state field across the interfaces of finite cells.

For high-dimensional problems, a tensor product of univariate B-splines, i.e., multi-variate B-spline shape functions are needed. For the sake of simplicity, consider here a two-dimensional case, shape functions are therefore given by

$$ B_{i,j} (\xi, \eta) = N_{i,p_{1}}(\xi)N_{j,p_{2}}(\eta) $$
(4)

where p1 and p2 indicate the degrees of the shape function in the respective direction. Note that the degree of the bi-variate B-spline shape function is omitted in the notation of B. Figure 4a presents a 2D B-mesh which is based on two knot vectors \( \textit {\textbf {I}}_{1} = \left \lbrace 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1 \right \rbrace \) and I2 = {0,0,0,0,0.2,0.4,0.6, 0.8,1,1,1,1}. One of the representative bivariate B-spline shape functions B5,4(ξ, η) with p1 = 2 and p2 = 3 is shown in Fig. 4b.

Fig. 4
figure 4

a A uniform B-mesh with the influenced domain marked in gray based on knot vectors \( \textit {\textbf {I}}_{1} = \left \lbrace 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1 \right \rbrace \) and \(\textit {\textbf {I}}_{2} =\left \lbrace 0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1, 1\right \rbrace \) with N1 = 7 and N2 = 8. b A bivariate B-spline shape function

As evidently observed in (2), the accuracy of the interpolation based on B-spline shape functions is closely related to the number of control points N. This can, however, induce a significant increase of knots if a certain part of the structure needs to be refined due to the accuracy concern. For example, suppose that a more accurate analysis result is demanded for the physical domain corresponding to the gray zone shown in Fig. 5a, extra knots should be inserted. To do this, 13 knots are introduced into the B-mesh due to its requirement for uniformity, as illustrated in Fig. 5b. For more complex problems, the resulting increase of the DOFs can be unaffordable.

Fig. 5
figure 5

Knot distribution with a initial B-mesh and b refined B-mesh. The dark gray cell is the refined one, with the initial knots before refinement denoted by black and the ones introduced by refinement by green

2.2 Construction of T-spline shape functions

T-spline is, in essence, an extension of B-spline. It will degenerate into B-spline if no T-junction points are included. To refine the gray region in Fig. 5, only 5 knots are inserted into the initial mesh using local refinement, as shown in Fig. 6a. Considering the presence of the T-junction knots, the knot mesh is called a T-mesh. In view of fewer control points associated with the T-mesh, it is therefore suggested that the T-spline FCM is able to reduce the computing complexity significantly.

Fig. 6
figure 6

a The classification of the knots in T-mesh. bd Univariate T-spline shape functions (blue and red lines) in two directions and corresponding influenced domains (gray regions). A dot refers to an existing knot in T-mesh and a square denotes a fictitious one. The asterisk represents the anchor of the local knot vectors

As observed in Fig. 6a, the T-mesh has a local feature and is not as uniform as the B-mesh. In general case, the knots in a T-mesh are classified into three groups: the general knots, the T-junction knots, and the inserted ones, as marked by ①, ②, and ③ in Fig. 6a.

Referring to Bazilevs et al. (2010), the constructions of T-spline shape functions for odd degree and even degree are different. In the following, the odd-degree one is adopted to show the implementation process. All vertices in the T-mesh are firstly numbered in an orderly manner, from 1 to N. For each vertex in the T-mesh, an anchor is then defined as in Bazilevs et al. (2010) to infer local knot vectors on which a local T-spline shape function is defined. Practically, in the horizontal direction, a ray is shot to the right side starting from the current anchor, and the local knot vector shall collect the first (p1 + 1)/2 intersection points with the T-mesh. Then, a ray travels to the left side to obtain another (p1 + 1)/2 intersections. Including the anchor itself, the ordered p1 + 2 intersections constitute the horizontal local knot vector \(\boldsymbol {\xi }_{i}= \left \lbrace \xi _{i,1}, \xi _{i,2}, {\cdots } , \xi _{i,p_{1}+2} \right \rbrace \). In particular, when the number of intersections is less than (p1 + 1)/2, it means that the ray reaches the boundary of the T-mesh. In this case, the last intersection point will be repeated until the number of the current intersections equals (p1 + 1)/2. In a similar manner, the corresponding local knot vector \(\boldsymbol {\eta }_{i}= \left \lbrace \eta _{i,1}, \eta _{i,2} , {\cdots } , \eta _{i,p_{2}+2} \right \rbrace \) in the vertical direction can be formed.

According to (1), both univariate T-spline shape functions \(M_{i,p_{1}}(\xi )\) and \(M_{i, p_{2}}(\eta )\) can be constructed based on the local knot vectors ξi and ηi. The multiplication of these two related univariate functions leads to

$$ S_{i}(\xi, \eta)=M_{i, p_{1}}(\xi) M_{i, p_{2}}(\eta). $$
(5)

which can be employed for the approximation of the displacement field.

To ensure the capacity of describing the rigid displacement, the partition of unity for the shape functions is necessary, as described in Zienkiewicz et al. (2005). To this end, each T-spline shape function is normalized

$$ {T_{i}}(\xi, \eta)=\frac{S_{i}(\xi, \eta)} {{\sum}_{j=1}^{N}S_{j}(\xi, \eta)}. $$
(6)

The displacement field is finally approximated by the constructed T-spline shape functions

$$ u = \sum\limits_{i=1}^{N}{T_{i}}(\xi, \eta) u_{i}. $$
(7)

Similar to (3), the linear mapping relation between the parametric domain and the physical field in 2D is stated as

$$ \left( \begin{aligned} x \\ y \end{aligned} \right) = \left( \begin{aligned} {x}_{\text{ini}}+\xi ({x}_{\text{end}}-{x}_{\text{ini}})\\ {y}_{\text{ini}}+\eta ({y}_{\text{end}}-{y}_{\text{ini}}) \end{aligned} \right) = \left( \begin{aligned} {x}_{\text{ini}}+\xi l_{{x}}\\ {y}_{\text{ini}}+\eta l_{{y}} \end{aligned} \right) $$
(8)

in which xini, xend, yini, and yend are the lower and upper bounds of the embedded domain in two directions as defined in Fig. 1c and lx and ly denote the length and the width of the embedded domain.

For an intuitive understanding of the construction of T-spline shape functions, we take the cubic T-spline as an example, and each local knot vector consists of 5 knots. As observed in Fig. 6b–d, Q1 denotes a general knot, while Q2 and Q3 represent the T-junction and inserted knots. For each of these three knots, two rays are shot to identify the local knot vectors \(\boldsymbol {\xi }_{i}=\left \lbrace \xi _{i,1}, \xi _{i,2}, \xi _{i,3}, \xi _{i,4}, \xi _{i,5}\right \rbrace \) and \(\boldsymbol {\eta }_{i}=\left \lbrace \eta _{i,1}, \eta _{i,2}, \eta _{i,3}, \eta _{i,4}, \eta _{i,5}\right \rbrace \) in both directions by collecting the intersections. For anchor Q1 corresponding to a general knot, the two univariate T-spline shape functions are illustrated in Fig. 6b. For anchors Q2 and Q3 corresponding to T-junction and inserted knots, fictitious knots marked by squares have been inserted at the intersections with the initial T-mesh, as illustrated in Fig. 6c and d. These fictitious knots are treated as auxiliaries for constructing the T-spline shape functions, and the univariate T-spline shape functions associated with anchors Q2 and Q3 are depicted in Fig. 6c and d, respectively. Finally, based on (56), the final T-spline shape functions can be constructed.

According to Kuru, Gokturk, et al. (2014), the hierarchical B-splines may cause overlaps of shape functions between different levels. In our work, the implemented T-spline shape functions have the advantage of achieving local subdivision without introducing redundant knots. In the remainder of this paper, we adopt the most commonly used cubic T-spline (p = 3) shape functions (Bazilevs et al. 2010; da Veiga et al. 2011; Li and Scott et al. 2014).

2.3 Finite cell method based on T-spline shape functions

In this subsection, we recall the finite cell method (FCM) in 2D and further present the development of T-spline FCM. The linear elasticity problem defined in the FCM formula can be described as

$$ \left\{ \begin{aligned} -\text{div} \boldsymbol{\sigma}(\textbf{\textit{u}})&=\beta\textbf{\textit{f}}, &\text{in} &\quad D\\ \textbf{\textit{u}}&=\textbf{\textit{g}}, &\text{on} &\quad \varGamma_{D}\\ \boldsymbol{\sigma}(\textbf{\textit{u}})\cdot\textbf{\textit{n}}&=\textbf{\textit{t}}, &\text{on} &\quad \varGamma_{N} \end{aligned} \right. $$
(9)

where σ, u, f, g, n, and t denote stress tensor, displacement vector, body force vector, initial displacement on ΓD, the unit outer normal vector on ΓN, and the boundary force vector, respectively. The scale factor β is defined as

$$ \beta=\left\{ \begin{aligned} 1, &\quad \text{in} \varOmega\\ 0, &\quad \text{in} D\backslash\varOmega \end{aligned} \right.. $$
(10)

Given a structural boundary implicitly described by a level set function Φ(x), the scale factor β can then be replaced by a Heaviside function H(Φ(x)). Then, according to Parvizian et al. (2007) and Cai et al. (2014), the finite cell formulation of the weak form transformed from (9) can be stated as

$$ \left\lbrace \begin{aligned} \textbf{K}\textit{U} & = \textbf{F}\\ \textbf{K} & = \sum\limits_{c}{\textbf{\textit{k}}}_{c} = \sum\limits_{c}{\int}_{D_{c}}\textbf{B}^{\mathrm{T}}H(\varPhi(\textbf{x}))\textbf{D}\textbf{B}\text{d}S\\ \textbf{F} & = \sum\limits_{c}{\textbf{\textit{f}}}_{c} = \sum\limits_{c}\left( {\int}_{D_{c}}\textbf{{T}}^{\mathrm{T}}H(\varPhi(\textbf{x}))\textbf{\textit{f}}\text{d}S +{\int}_{\varGamma_{N}\bigcap D_{c}} \textbf{{T}}^{\mathrm{T}}\textbf{\textit{t}}\text{d}\varGamma\right) \end{aligned} \right. $$
(11)

where K is the global stiffness matrix and F is the global load vector, and they are assembled from the cell stiffness matrices kc and the cell load vectors fc, respectively. As illustrated in Fig. 1c, three types of finite cells can be identified with the aid of H(Φ(x)). For the stiffness matrix with respect to different cells, a general practice is to employ the Gaussian integral. Being aware that the integration points are all located within the physical domain for physical cells, the Heaviside function takes a value of 1, and the corresponding stiffness matrix is derived in the same manner as that in conventional FE methods. With regard to fictitious cells, it is straightforward that zero matrixes are obtained since the corresponding Gauss points are located out of the structural boundary. It is noteworthy that, when boundary cells are concerned, the quadtree refinement strategy widely used in FCM is adopted to enrich the number of Gauss points for accuracy’s sake. Interested readers are referred to the references (Parvizian et al. 2007; Schillinger et al. 2013; Cai et al. 2014; Zhang et al. 2015) for more details about its implementation. It should be emphasized that the dimensionality of each kc or fc might be different due to the adoption of locally refined T-mesh.

D is the elasticity matrix and B is the strain matrix defined as

$$ \textbf{B} = \left[ \begin{aligned} \frac{\partial}{\partial x} \quad & \quad 0 \\ 0\quad & \quad \frac{\partial}{\partial y} \\ \frac{\partial}{\partial y} \quad & \quad \frac{\partial}{\partial x} \end{aligned} \right]\!\textbf{{T}} = \left[ \begin{aligned} \frac{\partial}{\partial x} \quad & \quad 0 \\ 0\quad & \quad \frac{\partial}{\partial y} \\ \frac{\partial}{\partial y} \quad & \quad \frac{\partial}{\partial x} \end{aligned} \right] \!\left[ \begin{array}{ccccccc} T_{1} & 0 & T_{2} & 0 & {\cdots} & T_{N} & 0 \\ 0 & T_{1} & 0 & T_{2} & {\cdots} & 0 & T_{N} \end{array} \right] $$
(12)

in which Ti is the i th T-spline shape function calculated as (6).

Note that, T-spline shape functions are multiplied with a weight function such that the homogeneous Dirichlet boundary condition (DBC) can be accurately imposed. In the calculation process, T is then modified as

$$ \overline{\textbf{{T}}}= \left[ \begin{array}{lllllll} wT_{1} & 0 & wT_{2} & 0 & {\cdots} & wT_{N} & 0 \\ 0 & wT_{1} & 0 & wT_{2} & {\cdots} & 0 & wT_{N} \end{array} \right] $$
(13)

where the weighting function w is, in reality, an implicit function that takes zero values at the Dirichlet boundary and can be defined in most cases by the level set method. Typical Dirichlet boundaries associated with a single point and a curved segment have been studied (Zhang et al. 2015). As a result, B is amended as

$$ \overline{\textbf{{B}}}= \left[ \begin{aligned} \frac{\partial}{\partial x}\quad & \quad 0 \quad \\ 0 \quad & \frac{\partial}{\partial y} \\ \frac{\partial}{\partial y}\quad & \frac{\partial}{\partial x} \end{aligned} \right]\overline{\textbf{{T}}}\\ =\left[ \begin{aligned} \frac{\partial w}{\partial x}{T}_{1}+w\frac{\partial{T}_{1}}{\partial x} \quad & \quad\quad 0 \quad & {\cdots} \quad & \frac{\partial w}{\partial x}{T}_{N}+w\frac{\partial{T}_{N}}{\partial x} & 0\quad\quad\quad\\ 0 \quad\quad\quad & \frac{\partial w}{\partial y}{T}_{1}+w\frac{\partial{T}_{1}}{\partial y} & {\cdots} \quad & \quad\quad\quad 0 & \frac{\partial w}{\partial y}{T}_{N}+w\frac{\partial{T}_{N}}{\partial y} \\ \frac{\partial w}{\partial y}{T}_{1}+w\frac{\partial{T}_{1}}{\partial y}\quad & \frac{\partial w}{\partial x}{T}_{1}+w\frac{\partial{T}_{1}}{\partial x} & {\cdots} \quad & \frac{\partial w}{\partial y}{T}_{N}+w\frac{\partial{T}_{N}}{\partial y} & \frac{\partial w}{\partial x}{T}_{N}+w\frac{\partial{T}_{N}}{\partial x} \end{aligned} \right] . $$
(14)

3 T-mesh refinement in FCM

In this section, the finite cells to be refined are first identified based on a stress gradient–based criterion. A refinement strategy is then developed to guarantee the linear independence of the shape functions. The merits of this refinement are finally investigated.

3.1 Identification of the cells to be refined

According to Ainsworth and Senior (1998), when using adaptivity with FEM for elasticity, the elements with sharp stress changes are refined. Inspired by this, it is proposed to analytically calculate the gradient of the stress/strain to identify the cells to be refined under the framework of FCM. This is practicable owing to the high-order continuity of the shape functions. In this work, the gradient of the von Mises stress σvon is adopted. Since σvon is calculated from the stress vector \({\boldsymbol {\sigma }} = \left \lbrace \sigma _{x}, \sigma _{y}, \tau _{xy} \right \rbrace ^{\text {T}} = \textbf {D}\overline {\textbf {B}}\textbf {U}\), we thus focus on calculating the derivatives of σ

$$ \left\lbrace \begin{aligned} \frac{\partial \boldsymbol{\sigma}}{\partial x} & = \textbf{D}\frac{\partial\overline{{\textbf{B}}}}{\partial x}\textbf{U} \\ \frac{\partial \boldsymbol{\sigma}}{\partial y} & = \textbf{D}\frac{\partial\overline{{\textbf{B}}}}{\partial y}\textbf{U} \end{aligned} \right. . $$
(15)

Combing with (14), the derivatives of \(\overline {{\textbf {B}}}\) can be written as

$$ \left\lbrace \begin{aligned} \frac{\partial\overline{{\textbf{B}}}}{\partial x}= \left[ \begin{aligned} \frac{\partial^{2} (w{{T}}_{1})}{\partial x^{2}}\quad & \quad\quad 0 & {\cdots} \quad & \frac{\partial^{2} (w{{T}}_{N})}{\partial x^{2}} & 0 \quad \\ 0 \quad\quad & \frac{\partial^{2} (w{{T}}_{1})}{\partial y \partial x } & {\cdots} \quad & \quad 0 & \frac{\partial^{2} (w{{T}}_{N})}{\partial y \partial x } \\ \frac{\partial^{2} (w{{T}}_{1})}{\partial y \partial x }\quad & \frac{\partial^{2} (w{{T}}_{1})}{\partial x^{2}} & {\cdots} \quad & \frac{\partial^{2} (w{{T}}_{N})}{\partial y \partial x } & \frac{\partial^{2} (w{{T}}_{N})}{\partial x^{2}} \end{aligned} \right] \\ \frac{\partial\overline{{\textbf{B}}}}{\partial y}= \left[ \begin{aligned} \frac{\partial^{2} (w{{T}}_{1})}{\partial x \partial y}\quad & \quad\quad 0 & {\cdots} \quad & \frac{\partial^{2} (w{{T}}_{N})}{\partial x \partial y} & 0 \quad \\ 0 \quad\quad & \frac{\partial^{2} (w{{T}}_{1})}{\partial y^{2} } & {\cdots} \quad & \quad 0 & \frac{\partial^{2} (w{{T}}_{N})}{\partial y^{2} } \\ \frac{\partial^{2} (w{{T}}_{1})}{\partial y^{2} } \quad & \frac{\partial^{2} (w{{T}}_{1})}{\partial x \partial y} & {\cdots} \quad & \frac{\partial^{2} (w{{T}}_{N})}{\partial y^{2}} & \frac{\partial^{2} (w{{T}}_{N})}{\partial x \partial y} \end{aligned} \right] \end{aligned} \right. $$
(16)

with the entries calculated as

$$ \left\{ \begin{array}{ll} \frac{\partial^{2}(w{T}_{i})}{\partial x^{2}} & = w\frac{\partial^{2}T_{i}}{\partial x^{2}}+ 2\frac{\partial w}{\partial x}\frac{\partial T_{i}}{\partial x}+ \frac{\partial^{2}w}{\partial x^{2}}T_{i} \\ \frac{\partial^{2}(wT_{i})}{\partial y^{2}} & = w\frac{\partial^{2}T_{i}}{\partial y^{2}}+ 2\frac{\partial w}{\partial y}\frac{\partial T_{i}}{\partial y}+ \frac{\partial^{2}w}{\partial y^{2}}T_{i} \\ \frac{\partial^{2}(wT_{i})}{\partial x \partial y} & = w\frac{\partial^{2}T_{i}}{\partial x \partial y}+ \frac{\partial w}{\partial x}\frac{\partial T_{i}}{\partial y}+ \frac{\partial w}{\partial y}\frac{\partial T_{i}}{\partial x}+ \frac{\partial^{2}w}{\partial x \partial y}T_{i} \end{array} \right. . $$
(17)

Since the shape functions Ti are defined in the parametric space, a 2-order Jacobian matrix needs to be introduced to obtain the partial derivatives of Ti with respect to x and y. Thus, we have

$$ \left[ \begin{aligned} \frac{\partial T_{i}}{\partial x} \\ \frac{\partial T_{i}}{\partial y} \\ \frac{\partial^{2} T_{i}}{\partial x^{2}} \\ \frac{\partial^{2} T_{i}}{\partial y^{2}} \\ \frac{\partial^{2} T_{i}}{\partial x \partial y} \end{aligned} \right]= \left[ \begin{aligned} \frac{\partial x}{\partial \xi}\quad\quad & \frac{\partial y}{\partial \xi} &\quad 0\quad\quad\quad &\quad 0\quad & 0\quad\quad\quad \\ \frac{\partial x}{\partial \eta}\quad\quad & \frac{\partial y}{\partial \eta}\quad & \quad 0\quad\quad\quad &\quad 0\quad & 0\quad\quad\quad \\ \frac{\partial^{2} x}{\partial \xi^{2} }\quad\quad & \frac{\partial^{2} y}{\partial \xi^{2}}\quad & \left( \frac{\partial x}{\partial \xi}\right)^{2}\quad\quad & \left( \frac{\partial y}{\partial \xi}\right)^{2}\quad & 2\frac{\partial x}{\partial \xi} \frac{\partial y}{\partial \xi}\quad\quad\\ \frac{\partial^{2} x}{\partial \eta^{2} }\quad\quad & \frac{\partial^{2} y}{\partial \eta^{2}}\quad & \left( \frac{\partial x}{\partial \eta}\right)^{2}\quad\quad & \left( \frac{\partial y}{\partial \eta}\right)^{2}\quad & 2\frac{\partial x}{\partial \eta} \frac{\partial y}{\partial \eta}\quad\quad\\ \frac{\partial^{2} x}{\partial \xi \partial \eta}\quad & \frac{\partial^{2} y}{\partial \xi \partial \eta}\quad & \frac{\partial x}{\partial \xi}\frac{\partial x}{\partial \eta}\quad\quad & \frac{\partial y}{\partial \xi}\frac{\partial y}{\partial \eta}\quad & \frac{\partial x}{\partial \xi}\frac{\partial y}{\partial \eta}+\frac{\partial x}{\partial \eta}\frac{\partial y}{\partial \xi} \end{aligned} \right]^{-1} \left[ \begin{aligned} \frac{\partial T_{i}}{\partial \xi} \\ \frac{\partial T_{i}}{\partial \eta} \\ \frac{\partial^{2} T_{i}}{\partial \xi^{2}} \\ \frac{\partial^{2} T_{i}}{\partial \eta^{2}} \\ \frac{\partial^{2} T_{i}}{\partial \xi \partial \eta} \end{aligned}\right].$$
(18)

According to (8), we naturally have x/ξ = lx and y/η = ly. As a consequence, the 2-order Jacobian in (18) can be further simplified as a diagonal matrix: \(\text {diag}\left (l_{x}, l_{y}, l^{2}_{x}, l^{2}_{y}, l_{x}l_{y}\right )\).

Based on (1618), σvon/ x can be calculated analytically by taking advantage of the high-order continuity of T-spline shape functions. It should be noted that a predefined threshold value \(\tilde {\sigma }\) is used to identify cells within which the stress changes sharply. Once the maximum stress gradient within a cell is larger than \(\tilde {\sigma }\), this cell is further refined. It should be clear that \(\tilde {\sigma }\) is problem-dependent, and the authors suggest to choose \(\tilde {\sigma } =\) 0.5\(||\bigtriangledown \sigma _{\text {von}}||_{\max \limits }\) for cases where the density of the initial B-mesh is moderate.

Other than the gradient-based refinement, the refinement of finite cells can be necessary for situations where a cell size is larger than the local feature of a structure.

3.2 T-mesh generation

After identifying the cells to be refined, a simple quadtree refinement criterion is adopted to generate T-mesh. Suppose that the physical domain corresponding to the gray part in Fig. 7a is to be refined. Then, the initial B-mesh is refined by quadtree strategy to generate a T-mesh, as shown in Fig. 7b. For a more accurate approximation, this refinement can be carried out on several levels. Figure 7b–d show the T-meshes after the refinement up to 3 levels.

Fig. 7
figure 7

Three levels of refinement based on the quadtree strategy

We are aware that not all the T-spline shape functions associated with the T-meshes are linearly independent (Li et al. 2012). The linear independence however is of vital importance for structural analysis (Buffa et al. 2010; Li et al. 2012; Morgenstern and Peterseim 2015; Scott et al. 2012). The T-mesh with one level of refinement in Fig. 7b can be treated as inserting knots successively along with two directions. In the first step, we can consider that only two knots along the horizontal direction are inserted and marked by light blue dots, as illustrated in Fig. 7b. Subsequently, another group of three knots is introduced along the vertical direction and marked by red dots, as shown in Fig. 7b. According to the Theorem 3.7 in Buffa et al. (2010), the corresponding T-spline shape functions constructed by the T-mesh in Fig. 7b are linearly independent. By analogy, the linear independence of the T-spline shape functions associated with T-meshes in Fig. 7c or d is also preserved.

3.3 Numerical validation of T-spline FCM

In what follows, two numerical examples are adopted to verify the proposed T-mesh refinement. The first example is provided to quantitatively show the accuracy improvement of the T-spline FCM comparing with the analytical solution. The second one is studied to show the efficiency improvement compared with the B-spline one.

3.3.1 Accuracy verification on a hollow cylindrical disk

We first consider a hollow cylindrical disk loaded uniformly, as shown in Fig. 8a. This benchmark is adopted to investigate the computing accuracy when increasing the local refinement levels. Due to the symmetry of the problem, a quarter model is considered, as shown in Fig. 8b. According to Cai et al. (2014) and Meng et al. (2016), the analytical solution of this problem is given by the Lamé equation

$$ \left\lbrace \begin{aligned} \sigma_{r} &= -\frac{Pr_{1}^{2}}{r_{1}^{2}-r_{2}^{2}}\left( 1-\frac{r_{2}^{2}}{r^{2}}\right)\\ \sigma_{\theta} &= -\frac{Pr_{1}^{2}}{r_{1}^{2}-r_{2}^{2}}\left( 1+\frac{r_{2}^{2}}{r^{2}}\right)\\ \tau_{r\theta} &= 0 \end{aligned} \right. $$
(19)

in which σr, σ𝜃, and τr𝜃 are the radial, circumferential, and shear stress, respectively. In this example, the geometric parameters are defined as r1 = 4 and r2 = 1. The applied pressure is P = 10. By substituting these parameters into (19), the stress distributions are analytically obtained and are shown in Fig. 9.

Fig. 8
figure 8

a A hollow cylindrical disk under outer pressure and b the simplified analysis model

Fig. 9
figure 9

The distributions of analytical stress components in a the circumferential direction and b the radial direction

In the first place, the problem is solved by adopting the B-spline FCM in using bi-cubic B-spline shape functions which are defined associated with 121 control points. The relative error distributions of the radial and circumferential stresses are shown in Fig. 10a. As demonstrated in the figure, the analysis result is generally acceptable except that large errors are observed near the inner boundary of the structure in both the circumferential and the radial directions. We attributed this to the insufficiency of the number of DOFs related to the B-spline shape functions.

Fig. 10
figure 10

Relative error distributions of stress components under a the initial B-mesh, b T-mesh with one level of refinement, and c T-mesh with two levels of refinement

For comparison reasons, the above problem is then solved with the use of T-spline FCM. The local refinement cells are first identified by virtue of the stress gradient criterion developed in Section 3.1. T-junction knots are subsequently introduced to locally refine the finite cells. Figure 10b–c illustrate two representative T-meshes and the resulting relative error distributions. We observe that the relative error near the inner boundary tends to be smaller and smaller with the increase of the number of refinement levels.

Moreover, the maximum and minimum stresses are depicted in Fig. 11, increasing gradually the numbers of refinement levels from 1 to 10. Clearly, the stresses converge to the analytical values indicated by the black solid lines. Furthermore, the difference from the analytical solution seems to decrease to a rather low level (around 0.4%) after three levels of refinements. These results demonstrate that the T-spline FCM with local refinement leads to a more accurate result in the sense of the maximum/minimum stress.

Fig. 11
figure 11

Convergences of the maximum and minimum stress components in a the circumferential and b the radial directions (the black lines in a and b denote the analytical results, and the gray color zones indicate the margins of the corresponding relative error (not applicable to \(\sigma ^{\max \limits }_{r}\)))

Following Cai et al. (2014), an error indicator is defined for a direct estimation of the stress distribution over the whole structure. The following L2 norm is adopted

$$ e_{\mathrm{L}_{2}}=\sqrt{\frac{{\int}_{\varOmega}(\boldsymbol{\sigma}-\boldsymbol{\sigma}^{*})^{\mathrm{T}}(\boldsymbol{\sigma}-\boldsymbol{\sigma}^{*})H({\varPhi})\text{d}\varOmega}{{\int}_{\varOmega}(\boldsymbol{\sigma}^{*})^{\mathrm{T}}(\boldsymbol{\sigma}^{*})H({\varPhi})\text{d}\varOmega}} $$
(20)

where \(\boldsymbol {\sigma }=\{\sigma _{r}, \sigma _{\theta }, \tau _{r\theta } \}^{\mathrm {T}}\) is the stress vector solved by adopting the T-spline FCM and the analytical one σ is set as the baseline. One can observe the convergent variation of this error with the increase of the refinement levels in Fig. 12. Notably, this error drops from 0.08 to 0.01 after only three times refinements. Hence, unless otherwise specifically stated, a refinement level of 3 will be hereafter employed.

Fig. 12
figure 12

The error indicator versus the refinement level

3.3.2 Efficiency verification on a shaped tension bar

After verifying the accuracy improvement with T-spline refinement, the efficiency of the proposed method is further validated. In fact, the efficiency improvement is prominent in cases when the feature size varies largely with the need for a dense B-mesh. T-spline FCM can deal with such a problem efficiently using a rather coarse B-mesh accompanied by local refinement. Hence, a shaped tension bar is studied. The dimensions and boundary conditions are illustrated in Fig. 13a. Young’s modulus is E = 207.4 GPa, and Poisson’s ratio is μ = 0.3. The analysis result obtained by ANSYS with a fine mesh of 31486 DOFs is presented in Fig. 13b, and the obtained maximum von Mises stress 85.92 MPa is regarded as the reference solution.

Fig. 13
figure 13

a The shaped tension bar with its left edge fixed and loaded by a uniform traction on the right edge. b The von Mises distribution obtained using ANSYS

Figure 14a shows the relative error distribution of the von Mises stress obtained by adopting a rather coarse B-mesh of 288 DOFs. It is noted that an inaccurate analysis result is obtained with the maximum error as high as 475%. To circumvent this issue, conventional B-spline FCM refines the fixed grid along with both directions such that the smallest feature shall generally cover several finite cells. Figure 14b–c are the relative error distributions obtained with a moderate and a dense B-mesh, respectively. The maximum relative errors decrease to 3.6% and 1.3%, and they are both considered to be acceptable.

Fig. 14
figure 14

Relative error distributions of von Mises stress under ac B-meshes and df T-meshes, with different refinement levels

As for the T-spline FCM, the refinement criterion proposed in Section 3.1 is adopted. Inserted and T-junction knots are introduced along with refinement until the 3rd level. The resulting T-meshes are presented in Fig. 14d–f, and the relative errors in comparison with the reference solution are also illustrated. As observed, by virtue of only a single level of refinement, a reliable analysis result is achieved, with the maximum error of the von Mises stress being 7.4%. Moreover, this error is further decreased to 1.8% at the 3rd refinement level.

For the sake of clarity, the number of DOFs and the analysis relative error versus the reference value 85.92 MPa are compared in Table 1. It can be observed that the number of DOFs under different levels of refinement with T-spline FCM is much less compared with the refined B-spline FCM, for instance, 346 vs. 1254, with only 1-level refinement. Also, with the increase of the local refinement level, the result is convergent to the reference solution as expected, and the efficiency is remarkably improved.

Table 1 Comparison of the number of DOFs and the resulting maximum relative errors in employing different B-/T-meshes for the shaped tension bar

4 Shape optimization under T-spline FCM framework

In what follows, T-spline FCM will be further extended to optimization problems in favor of the design phase of engineering parts. Sensitivity analysis will first be carried out, and the framework of the optimization is subsequently presented.

4.1 Shape optimization statement

In this work, we concentrate on the shape optimization with stress constraint for 2D linear elasticity problems. The goal is to minimize the material usage of the structure. For the permission of boundary evolution during the optimization procedure, an implicit level set function Φ(x, α) is defined for the structure based on a series of shape parameters α. As a consequence, the area of the structure is computed as an integral of the Heaviside function on the embedded domain. Therefore, the minimum weight optimization problem with maximum stress constraint can be stated as

$$ \begin{array}{l} \min V={\int}_{D}H({\varPhi}(\textbf{x},\boldsymbol{\alpha}))\text{d}S \quad\quad\quad\quad\quad \\[0.05in] \text{s.t.} \left\lbrace \begin{array}{l} \textbf{K}\textbf{U}=\textbf{F} \\ \sigma_{\text{von}} \leq \overline{\sigma}_{\text{von}} \\ \underline{\alpha}_{i} \leq \alpha_{i} \leq \overline{\alpha}_{i} \end{array}\right . \end{array} $$
(21)

where \(\boldsymbol {\alpha }=\left \lbrace \alpha _{1}, \alpha _{2}, \cdots , \alpha _{n} \right \rbrace \) denotes the vector of design variables and \(\overline {\sigma }_{\text {von}}\) represents the maximum allowable von-mises stress. \(\underline {\alpha }_{i}\) and \(\overline {\alpha }_{i}\) are the lower and upper bound of the i th shape design variable. It is noticed that α collects such variables as length, width, radius, and interpolation/control points of a spline, which may alter the shape of a given structure.

In the current work, the gradient-based method of moving asymptotes (MMA) is adopted for all the examples, and the optimization is stopped when either of the following two convergence criteria is satisfied: (1) the maximum iteration number MaxN is attained, (2) the \(\infty \)-norm of the design variables between the last two iterations is decreased to a critical value (e.g., \(\parallel {\boldsymbol {\alpha }}_{n} - \boldsymbol {\alpha }_{n-1} \parallel _{\infty } \leqslant \varepsilon \)). In the current work, the threshold values are adopted as follows: MaxN = 200 and ε = 10− 3.

4.2 Sensitivity analysis

For optimization problems, the sensitivities expression is of vital importance for the gradient-based optimization algorithms. Consider the von Mises stress is defined as

$$ \sigma_{\text{von}} = \sqrt{\frac{{\sigma_{x}^{2}}+{\sigma_{y}^{2}}+(\sigma_{x}-\sigma_{y})^{2}+6\tau_{xy}^{2}}{2}} $$
(22)

with three stress components σx, σy, and τxy. Its derivative with respect to αi can be deduced from

$$ \frac{\partial \boldsymbol{\sigma}}{\partial \alpha_{i}} = \textbf{D}\overline{\textbf{B}}\frac{\partial \textbf{U}}{\partial \alpha_{i}} $$
(23)

in which U/αi is obtained by differentiating both sides of KU = F

$$ \frac{\partial \textbf{U}}{\partial \alpha_{i}} = -\textbf{K}^{-1}\frac{\partial \textbf{K}}{\partial \alpha_{i}}\textbf{U}. $$
(24)

Being aware that the global stiffness matrix K is decomposed into local stiffness matrix, the differentiation of kc is required

$$ \frac{\partial \textbf{\textbf{k}}_{c}} {\partial \alpha_{i}}= {\int}_{D_{c}}\overline{\textbf{B}}^{\mathrm{T}}\textbf{D}\overline{\textbf{B}}\frac{\partial H({\varPhi})} {\partial \alpha_{i}}\text{d}S= {\int}_{\partial \varOmega \bigcap D_{c}}\overline{\textbf{B}}^{\mathrm{T}}\textbf{D}\overline{\textbf{B}}\frac{\partial {\varPhi}}{\partial \alpha_{i} } \frac{1}{\parallel \triangledown {\varPhi} \parallel}\text{d}\varGamma. $$
(25)

It should be noted that the dimensionality of each kc might be different due to the adoption of T-spline shape functions. It is emphasized that the level set function, defining the structural boundary, is also used to locate different types of finite cells. Therefore, both the cell stiffness kc and global stiffness matrix K are influenced by the level set function, as observed in (25), while other physical quantities like F and D are independent of Φ.

The sensitivity of the objective function in (21) with respect to αi can be calculated as

$$ \begin{array}{@{}rcl@{}} \frac{\partial V}{\partial \alpha_{i}}& =& {\int}_{D}\frac{\partial H({\varPhi})}{\partial \alpha_{i}}\text{d}S = {\int}_{D}\frac{\text{d} H({\varPhi})}{\text{d} {\varPhi}} \frac{\partial {\varPhi}} {\partial \alpha_{i}}\text{d}S \\&=& {\int}_{D}\frac{\partial {\varPhi}}{\partial \alpha_{i}}\left( \frac{\text{d}H({\varPhi})}{\text{d}{\varPhi}}\parallel \triangledown {\varPhi} \parallel\right) \frac{1}{\parallel \triangledown {\varPhi} \parallel} \text{d}S \\ &=& {\int}_{D}\frac{\partial {\varPhi}}{\partial \alpha_{i}}\delta\frac{1}{\parallel \triangledown {\varPhi} \parallel} \text{d}S = {\int}_{\partial \varOmega}\frac{\partial {\varPhi}}{\partial \alpha_{i} } \frac{1}{\parallel \triangledown {\varPhi} \parallel}\text{d}\varGamma \end{array} $$
(26)

where δ represents the directional derivative of the Heaviside function in the normal direction. By now, all prerequisites for gradient-based optimization algorithm have been obtained.

4.3 Shape optimization framework

Along with the structural evolution in shape optimization, the T-mesh is required to be updated at each iteration such that the local refinement is in accordance with the resulting stress gradient. As discussed earlier in Section 3.2, the generation of T-mesh relies on a pre-analysis. To avoid such pre-analysis in each iteration, we propose to adopt the T-mesh which is issued from the previous iteration step. To do this, the optimization procedure starts with a uniform B-mesh in the first iteration, and the analysis problem is solved by virtue of FCM. Subsequently, the stress gradient is derived and fed to the local refinement strategy. The resulting T-mesh is then provided for the next iteration, while the design parameters are updated by the gradient-based MMA optimization algorithm. The above procedures are repeated until convergence. A flowchart of the optimization framework is depicted in Fig. 15. It is relevant to underline that all the T-meshes during the iterations are constructed by applying the adaptively local refinement to the initial uniform B-mesh.

Fig. 15
figure 15

A shape optimization framework with T-spline FCM

5 Numerical examples

In this section, several numerical shape optimization problems are dealt with under the framework of adaptive T-spline FCM. In the present work, the level set function Φ(x, α) that implicitly describes the total structural boundary will be defined based on a series of geometric primitives according to the R-function theory (Shapiro et al. 1991). For the plate with a circular hole, we will present in detail the construction of the level set function from the design variables. As for the other two cases, cubic spline interpolation functions will be involved in the same manner as other geometric features such as a circle or a straight line. Interested readers are referred to Cai et al. (2014) for more details on how to construct a level set function.

5.1 Case1: a plate with a circular hole

As the first example, we set forth a simple two-dimensional plate with a hole to check the stress gradient–based refinement criterion of T-spline FCM. The dimensions of the structure are given in Fig. 16a. Young’s modulus E = 200 GPa and Poisson’s ratio μ = 0.29 are adopted. The structure is fixed at the left side and loaded by a uniform traction force on the right boundary. Here, we will try to minimize the area of the structure with the upper bound of the von Mises stress set at 400 MPa. As illustrated in Fig. 16b, the initial maximum stress is 320.22 MPa calculated by ANSYS. The design variables are the lengths of the semi-axis of the elliptical hole, a and b, with an upper bound of 15 mm.

Fig. 16
figure 16

a A plate with a circular hole fixed on the left and loaded on the right. b The von Mises stress distribution using ANSYS. c The construction of the level set function

As shown in Fig. 16c, the basic geometric primitives for constructing the level set function of the plate include four straight lines and a circle. Since the four lines indicate the fixed boundaries, their corresponding level set functions φ1φ4 are independent of the design variables. As for the inner boundary which is designed to evolve during optimization, two variables are defined and the level set function is expressed as φ5(a, b). As mentioned earlier, R-function is then adopted to obtain the level set function for the entire structure, and Boolean operations are demonstrated step-by-step in the figure.

Under the framework of FCM, the conventional B-spline shape functions are first employed to carry out optimization with a coarse mesh of 12 × 4. After several iterations, the final values of the design variables are a = 15 mm and b = 12.02 mm. Despite that, the maximum von Mises stress seems to be constrained below 400 MPa in Fig. 17a, this design can however be unreliable due to the inaccuracy caused by the coarse B-mesh. For verification purposes, a re-analysis is conducted utilizing the commercial software ANSYS with a refined mesh of 10808 quadrilateral elements. As observed in Fig. 17b, the maximum von Mises stress attains 495.42 MPa which has seriously violated the allowable stress of 400 MPa.

Fig. 17
figure 17

Final stress distributions under a coarse B-mesh and b dense mesh using ANSYS

In pursuit of a reliable design, the optimization problem is then carried out using T-spline shape functions. The same initial mesh is adopted to generate T-mesh with the help of the proposed refinement criterion. Recall that three levels of refinement are applied at each iteration. Several T-meshes during the iterations are shown in Fig. 18, and the optimized design variables are a = 15 mm and b = 10.55 mm. Figure 19 presents the final optimized design along with the convergence history of both the objective function and the stress constraint. It is underlined that convergence is reached after only 40 iterations, and the ε value is decreased to 0.0009. In order to make sure this result is reliable with respect to that obtained by B-spline FCM, a re-analysis is carried out for the optimized structure by ANSYS, and the maximum stress is 403.08 MPa, with only 0.75% deviation from the allowable stress.

Fig. 18
figure 18

The evolution of T-meshes during the iterations

Fig. 19
figure 19

a The final stress distribution under T-spline FCM and b the convergence curve

5.2 Case2: Torque arm

As the second example, the torque arm optimization problem widely investigated in the recent researches (Bennett and Botkin 1985; Cai et al. 2014; Zhang and Huang 2017; Zhang et al. 2015, 2017) is studied here. The part is fixed on the left inner circular and loaded with both horizontal and vertical force at the center of the right inner circle. The dimensions of the torque arm are presented in Fig. 20. The shape variables are chosen as the y coordinates of a group of 5 key points and the x coordinates of two semicircles as well as the radii r1 and r2. Based on these design variables, the cubic splines are first interpolated (McKinley et al. 1998), and the resulting level set functions are combined with those of other fixed boundaries analogous to the first example. Young’s modulus is E = 207.4 GPa and Poisson’s ratio is μ = 0.3. The area of the structure is minimized while constraining the von Mises stress below 800 MPa.

Fig. 20
figure 20

The basic dimensions of the torque arm with the definition of design variables

According to Cai et al. (2014), the max von Mises stress of the initial design is about 435 MPa around the inner slot. For this test case, the T-spline FCM is employed directly to do the shape optimization. A B-mesh that contains 22 × 12 cells is adopted as the initial mesh, and the first analysis is performed to calculate the von Mises stress gradient. A refined T-mesh is then obtained following the refinement procedure. Figure 21 showcases some T-meshes during the iterations. The optimized result and the convergence curve of the optimization procedure are depicted in Fig. 22.

Fig. 21
figure 21

Some T-meshes during the optimization

Fig. 22
figure 22

a The optimized design with stress distribution and b the convergence curve

Clearly, the initial volume of the structure V0 = 374.72 mm3 is reduced to Vfinal = 176.55 mm3 after optimization. The value of the objective function attains a reduction of 53% compared with the initial one after only 25 steps. Besides, the optimized design is very similar to the one in Cai et al. (2014) with the initial cells being 22 × 12 verse 61 × 32.

It is noteworthy that in the first few iteration steps, the convergence history of \(\sigma _{\max \limits }\) oscillates due to the mismatch between the structural shape and the T-mesh inherited from previous steps. Later, such a phenomenon gradually disappears since the shape variation tends to be smaller and smaller, and the mismatch shall no longer present.

5.3 Case3: Bracket

The third example concerns a triangular bracket. The structure is fixed on the two bottom holes and loaded by a horizontal force at the center of the upper inner hole. The multi-point constraint (MPC) strategy is adopted for the imposition of the concentrated force. The dimensions and the design variables of the bracket are presented in Fig. 23. Young’s modulus E = 207.4 GPa and Poisson’s ratio μ = 0.3 are adopted as the material properties. Analogous to previous examples, the area of the structure is minimized with an allowable von Mises stress of 800 MPa. The construction of the level set function of the bracket is similar to the former two examples, and interested readers are referred to Cai et al. (2014) for more details.

Fig. 23
figure 23

The dimensions and the design variables of the bracket model

First, a coarse uniform mesh of 20 × 35 cells is used for the B-spline FCM. The maximum von Mises stress, as illustrated in Fig. 24a, deviates apparently from the reference value, 413.3 MPa given in Cai et al. (2014). To highlight the problem, the global B-mesh refinement and the local T-mesh refinement are adopted to conduct the stress analysis, respectively. Both results have only a difference of 0.5% in terms of the maximum von Mises stress, as shown in Fig. 24b–c. The T-spline method increases only 10% of the cell number compared with the initial one, while the cell number of the dense B-mesh is four times of the initial one.

Fig. 24
figure 24

The von Mises stress distributions calculated from a a coarse initial B-mesh, b a uniformly refined B-mesh, and c a locally refined T-mesh

Therefore, structural optimization of the bracket is finally carried out with adaptive T-spline refinement. Figure 25 illustrates some steps of the T-meshes during the iterations. After 40 steps of iterations, the optimization process converges. Analogous to the two previous examples, the optimization stops as the \(\infty \)-norm decreases inferior to the threshold value. The final optimized design is shown in Fig. 26a, and the convergence curve is illustrated in Fig. 26b. It should be noted that the obtained design is very similar to that in Cai et al. (2014) with about 70% less finite cells. It concludes that the efficiency improvement is quite remarkable.

Fig. 25
figure 25

T-meshes with 3-level refinements during the optimization process

Fig. 26
figure 26

a The von-mises stress distribution for the final design. b The convergence history

6 Conclusions

In this study, a T-spline finite cell method is proposed for reducing the computational effort and improving the efficiency in structural shape optimization design. The main contributions of this work are:

  1. (1)

    Local refinement is achieved by introducing the T-spline shape functions into FCM, and shape optimization framework is correspondingly established. This method demonstrates the great advantage of using local T-mesh refinement for the computing accuracy instead of a global and uniform B-mesh refinement.

  2. (2)

    The stress gradient is analytically calculated owing to the high-order continuity of the T-spline shape functions, and a stress gradient–based criterion is developed to identify the cells for refinement.

  3. (3)

    The combination of the quadtree subdivision strategy with the computed stress gradient field enables more accurate analysis results to be obtained at critical locations, and the resulting optimization design is of higher reliability.

We conclude also that, through all the three presented examples, the number of DOFs can be reduced by up to 70%, while still maintaining a similar analysis accuracy. Concerning 3D examples, this efficiency improvement is anticipated to be even more significant, and it will be demonstrated in the coming work.