1 Introduction

Topology optimization is an advanced structural design method, which aims to generate the optimal material distribution within a given design domain under certain constraints. Compared to the conventional size optimization and shape optimization, the topology optimization provides large design freedom and owns the ability to find innovative and high-performance structural layouts.

Since the original work proposed by Bendsøe and Kikuchi (1988), the topology optimization has attracted wide industrial and academic interests. Over the past decades, the topology optimization has been extensively explored, and many topology optimization methods have been developed. Typical methods include Solid Isotropic Material with Penalization (SIMP) (Bendsøe 1989; Zhou and Rozvany 1991), Evolutionary Structural Optimization (ESO) (Xie and Steven 1993, 1997), and Homogenization method (Bendsøe and Kikuchi 1988). Meanwhile, sensitivity filter and density filter have been developed to avoid the formation of checkerboard patterns and mesh dependency (Sigmund 2007), and black-and-white projection filters have been devised to obtain black-and-white solutions (Guest et al. 2004).

In most cases, the topology optimized designs tend to be complicated, which are difficult to be manufactured directly via traditional milling or casting manufacturing techniques (Sigmund 2006; Serphos 2014). In general, the results need to be modified based on the engineering judgment or experience by the designer, which losses the advantage of light and physical performance.

The advent and application of additive manufacturing (AM) solves the manufacturing problem of topology optimization successfully. Different from the traditional manufacturing techniques, the AM builds part by layer-by-layer material deposition and solidification, which removes the geometric complexity restriction to a large extent. Besides, the manufacturing efficiency and fabrication cost are not sensitive to geometric complexity. The AM is expected to be the next generation of manufacturing technique.

The merits of topology optimization can be adequately brought into play by adopting AM. The combination of topology optimization and AM is a natural trend, and there is an urgent need for the industry to develop better “design for AM” capabilities (Liu et al. 2018).

However, the AM processes have some special manufacturing limitations, such as the minimum feature size, minimum slot distance, and overhang limitation (Serphos 2014). With the rapid development of technologies, some new manufacturing limitations will be brought forward. These limitations should be addressed when developing an appropriate topology optimization algorithm for AM, which has received considerable attention from both industry and academia in recent years. Brackett et al. (2011) pointed out that the lack of AM-friendly topology optimization algorithms is a serious bottleneck for the application of topology optimization in AM. Liu et al. (2018) summarized the state-of-art topology optimization methods for a variety of AM topics.

This article proposes a new explicit constraint function to represent the self-supporting constraint, and then integrates it with typical topology optimization process. The remainder of this paper is organized as follows. The review of the topology optimization for AM with self-supporting constraint is introduced in the next section. Section 3 introduces the problem formulation and topology optimization procedure of the proposed method. Section 4 adopts three test examples to evaluate the functionality and performance of the developed method. Conclusions are drawn in Sect. 5.

2 Problem review

One of the manufacturing limitations inherent within AM processes is the overhang limitation. The inclination of down-facing surfaces is limited to a minimum angle with respect to the baseplate, or the part will collapse or distort when fabricating the part layer by layer. Thomas (2009) identified 45° as the critical overhang angle with a large number of experiments for parts manufactured with selective laser melting (SLM). Such limitation can be addressed by using supporting structures, which can prevent warping and increase the local thermal conduction to prevent excessive deformations due to the internal stresses, see in Fig. 1b. The disadvantage is that the supporting structures increase the build time, add material cost, and further post-processing activities are required to remove the unwanted supports.

Fig. 1
figure 1

a Overhang angle is less than the critical value needed to be supported. b Add supporting structures. c Self-supported design

An alternatively approach is to design the inclination of down-facing surfaces less than the critical angle, which means the structure is self-supported and eliminates the need for additional supports, as shown in Fig. 1c. Leary et al. (2014) presented an automated method to modify the topologically optimal geometries as required to enable support-free manufacture, while the optimality of topology optimization results is compromised. A better approach is to include the AM design constraint in topology optimization process, and the optimized designs are self-supported and can be manufactured directly, which is of great importance for reducing the material cost and shortening the development cycle.

Brackett et al. (2011) proposed a conceptual idea of penalizing the angles that violated the maximum overhang constraint during the topology optimization evolution following every design iteration. Based on the SIMP framework, Serphos (2014) investigated the incorporation of geometrical restriction directly into the optimization process, in which three approaches have been formulated and investigated: multiple objective, global explicit constraint, and density filter. Results show that the density filter performs better compared with the other two approaches. Gaynor and Guest (2014, 2016) introduced a wedge-shaped spatial filter to control the boundary orientation during topology optimization process, in which the self-supporting constraint is imposed through a Heaviside projection. Johnson and Gaynor (2018) then made some improvements to allow for specifying angles through an updated support region and generating self-supported 3D structures. Langelaar (2016, 2017) proposed a self-supporting filter integrated with the topology optimization process, which is able to rigorously exclude geometries from the design space that violate the overhang angle criteria. A limitation of this density filter-based method is that the extra-layer of projection increases the sensitivity-related computational cost. Zhao et al. (2017) formulated the self-supporting requirement as an explicit quadratic continuous constraint in the topology optimization problem, and the convolution operator and associated numerical techniques enable the self-supported structure to be reliably generated with high efficiency and robustness.

Unlike the self-supporting constraint analysis based on the discrete element densities, Qian (2017) developed a density gradient-based approach to control the overhang angle in topology optimization, in which the self-supporting constraint is cast into the Heaviside projection integral form with explicit geometric meanings. Ven et al. (2018) introduced an overhang filter based on the front propagation, in which the overhanging regions are detected based on an anisotropic speed function. Garaigordobil et al. (2018) implemented an overhang constraint that is introduced inside the topology optimization formulation, in which the overhang constraint is analyzed by an edge detection algorithm developed in the field of image analysis and processing.

The methods mentioned above are all integrated within the SIMP framework. Besides, some other methods have been developed within other topology optimization frameworks. With the level-set framework, Mirzendehdel and Suresh (2016) introduced a topological sensitivity approach for constraining support structure volume during design optimization based on surface angle. Liu and To (2017) proposed a multi-level set interpolation constraining the spatial relationship of consecutive printing layers to avoid the overhang features. Guo et al. (2017) adopted the Moving Morphable Components (MMC) and Moving Morphable Voids (MMV) frameworks to design self-supported structures, which transfer the topology optimization problem into shape optimization problem, and the overhangs are mitigated by constraining the angle of the curve boundaries. Zhao et al. (2019) proposed an optimization design method for AM-oriented porous structures based on the asymptotic homogenization theory, and customized element density filters are designed to ensure the porous structure satisfies the self-supporting constraint.

3 Problem formulation

In this section, the self-supporting constraint is formulated as an explicit continuous function in terms of the discrete element densities. Then the self-supporting constraint function is integrated within the classical SIMP framework, and the topology optimization procedure is introduced. In addition, the sensitivity analysis of the self-supporting constraint function is investigated.

3.1 Self-supporting constraint model

The role of self-supporting constraint model is to identify the unsupported regions and quantify the degree of self-supporting constraint violation, which includes the supporting regions’ definition and the explicit mathematical formulation. For simplicity, this paper only considers the topology optimization of 2D rectangular region problems, and the build direction is upwards.

In terms of the supporting regions, each element can be supported by the element directly below the element or multi-layer of elements in a specially defined neighborhood region. For the second approach, each element can be effectively supported as long as the average density of the neighborhood region is greater than a threshold value, which can lead to some unwanted intermediate elements, as shown in Gaynor and Guest (2014). In this paper, each solid element should be sufficiently supported by the elements in the underlying layer. According to the conclusion in Thomas (2009), the critical self-supporting angle is about 45° for parts manufactured with SLM, thus the supporting region is defined as the three adjacent square elements in the underlying layer, as shown in Fig. 2.

Fig. 2
figure 2

Definition of supporting regions

In order to avoid the solid elements being supported by multiple intermediate elements, inspired by Langelaar (2016, 2017), the self-supporting mathematical model is based on the maximum density in the supporting regions. The self-supporting constraint is defined as follows: the density of each element is no greater than the maximum density of the supporting elements, which can be stated as:

$$ {\rho}_{i,j}\le {\rho}_{i,j}^{\mathrm{max}}=\max \left({\rho}_{i-1,j-1},{\rho}_{i-1,j},{\rho}_{i-1,j+1}\right) $$
(1)

where ρi, j and \( {\rho}_{i,j}^{\mathrm{max}} \) are respectively the density of element (i, j) and the maximum density in the supporting elements.

The maximum function does not meet the differentiability requirement. In order to use the gradient optimization algorithms, the maximum function is replaced with a smooth approximation based on the P-norm:

$$ {\rho}_{i,j}^{\mathrm{max}}=\max \left({\rho}_{i-1,j-1},{\rho}_{i-1,j},{\rho}_{i-1,j+1}\right)\approx \sqrt{\rho_{i-1,j-1}^{\mathrm{Pn}}+{\rho}_{i-1,j}^{\mathrm{Pn}}\mathrm{Pn}+{\rho}_{i-1,j+1}^{\mathrm{Pn}}} $$
(2)

The parameter pn controls the accuracy and smoothness of the approximation. Larger value of pn can result in smaller approximation error, but the degree of nonlinearity increases. Besides, the maximum function is overestimated for equal inputs, and the largest error occurs for three equal solid supporting elements. A simple linear penalization is adopted such that the overestimation of the maximum density is reduced:

$$ {\rho}_{i,j}^{\mathrm{max}}=\max \left({\rho}_{i-1,j-1},{\rho}_{i-1,j},{\rho}_{i-1,j+1}\right)\approx {\left({\rho}_{i-1,j-1}^{\mathrm{Pn}}+{\rho}_{i-1,j}^{\mathrm{Pn}}+{\rho}_{i-1,j-1}^{\mathrm{Pn}}\right)}^{\frac{1}{\mathrm{Pn}}}-{\rho}_{i-j}\times \left({3}^{\frac{1}{\mathrm{Pn}}}-1\right) $$
(3)

Based on the self-supporting constraint definition, an explicit function φ(ρ) is constructed to represent the degree of self-supporting constraint violation, which is stated as follows:

$$ {\displaystyle \begin{array}{c}\varphi \left(\rho \right)=\sum {\varphi}_{i,j}=\sum \left({\rho}_{i,j}-{\rho}_{i,j}^{\mathrm{max}}\right){\rho}_{i,j}^{0.5}{\varDelta}_{i,j}\\ {}{\varDelta}_{i,j}=\Big\{\begin{array}{cc}1& \mathrm{if}\kern0.75em {\rho}_{i,j}-{\rho}_{i,j}^{\mathrm{max}}>0\\ {}0& \mathrm{if}\kern0.75em {\rho}_{i,j}-{\rho}_{i,j}^{\mathrm{max}}\le 0\end{array}\end{array}} $$
(4)

where Δi,j is a step function, and φ is a function of each element density and its difference between the maximum density in supporting elements. Large value of φ indicates serious violation of self-supporting constraint. The exponential value of ρi,j adopts 0.5 to reduce the interference caused by low-density elements.

The self-supporting constraint function is not differentiable due to the step function. In order to use the gradient algorithm in optimization, the step function is replaced with a differentiable approximation, which is restated as follows:

$$ \varphi \left(\rho \right)=\sum {\varphi}_{i,j}\approx \sum \left({\rho}_{i,j}-{\rho}_{i,j}^{\mathrm{max}}\right){\rho}_{i,j}^{0.5}\frac{1}{1+{e}^{-k\left({\rho}_{i,j}-{\rho}_{i,j}^{\mathrm{max}}-\alpha \right)}} $$
(5)

where k is a parameter that controls the steepness of the approximation, and α is a positive shifting parameter.

The using of shifting parameter α is necessary as large value of k will result in numerical difficulties due to the high gradient when \( {\rho}_{i,j}\approx {\rho}_{i,j}^{\mathrm{max}} \). However, the SIMP framework will enforce a gradual transition between solid and void regions, especially in the supporting structures due to the low carrying capacity. In the gradual transition regions, the density differences between each layer are very small. The parameter α should be less than the density differences between each layer, or when Eq. (5) cannot recognize the unsupported elements.

3.2 Topology optimization formulation

Based on the SIMP framework, the proposed method achieves self-support by adding a new explicit self-supporting constraint. The optimization is to minimize the structural compliance under volume constraint and self-supporting constraint. Firstly, the formation of checkerboard patterns and mesh dependency are avoided by adopting the typical density filter (Sigmund 2007). Then the Heaviside filter is used to void intermediate densities and obtain black-and-white solutions (Guest et al. 2004). Based on the filtered density, the structural compliance, volume constraint, and self-supporting constraint function evaluation are performed, respectively. The topology optimization formulation is as follows:

$$ {\displaystyle \begin{array}{ccc}\mathrm{find}& & \boldsymbol{\rho} \\ {}\min & & \mathrm{c}={\boldsymbol{U}}^{\mathbf{T}}\boldsymbol{KU}=\sum \limits_{e=1}^N{E}_e\left({\overline{\rho}}_e\right){\boldsymbol{u}}_e^{\mathrm{T}}{\boldsymbol{k}}_0{\boldsymbol{u}}_e\\ {}\mathrm{s}.\mathrm{t}.& & \boldsymbol{K}\left(\overline{\boldsymbol{\rho}}\right)\boldsymbol{U}\left(\overline{\boldsymbol{\rho}}\right)=\boldsymbol{F}\\ {}& & V\left(\overline{\boldsymbol{\rho}}\right)/{V}_0\le {V}_f\\ {}& & \varphi \left(\overline{\boldsymbol{\rho}}\right)=\sum {\varphi}_{i,j}\approx \sum \left({\overline{\rho}}_{i,j}-{\overline{\rho}}_{i,j}^{\mathrm{max}}\right){\overline{\rho}}_{i,j}^{0.5}\frac{1}{1+{e}^{-k\left({\overline{\rho}}_{i,j}-{\overline{\rho}}_{i,j}^{\mathrm{max}}-\alpha \right)}}\le \varepsilon \\ {}& & 0\le \boldsymbol{\rho} \le 1\end{array}} $$
(6)

where c is the structural compliance, ρ is the design variables, and \( \overline{\boldsymbol{\uprho}} \) is the filtered densities. U and K are the vector of global displacements and global stiffness matrix, ue and k0 are the element displacement vector and element stiffness matrix for an element with unit Young’s modulus, respectively. F is the nodal force vector. N is the total number of elements. V and V0 are the material volume and design domain volume, respectively, and Vf is the prescribed volume fraction constraint. ε is the self-supporting constraint value.

In order to allow for a straightforward implementation of additional density filters, a modified SIMP approach is adopted as in Sigmund (2007):

$$ {E}_e\left({\overline{\rho}}_e\right)={E}_{\mathrm{min}}+{\overline{\rho}}_e^p\left({E}_0-{E}_{\mathrm{min}}\right) $$
(7)

where E0 is the stiffness of solid elements, Emin is a very small stiffness assigned to void regions in order to prevent the stiffness matrix from becoming singular, and p is the penalization factor.

The optimization procedure of the topology optimization considering self-supporting constraint can be outlined as follows:

  1. (1)

    The linear density filter is applied to avoid the formation of checkerboard patterns, and the filtered density ρ is obtained by weighted average of all element densities within the filtering radius R (Sigmund 2007):

    $$ {\displaystyle \begin{array}{c}{\rho}_e^{\ast }=\frac{1}{\sum \limits_{i\in {N}_e}{H}_{ei}}\sum \limits_{i\in {N}_e}{H}_{ei}{\rho}_i\\ {}{H}_{ei}=\max \left(0,R-\varDelta \left(e,i\right)\right)\end{array}} $$
    (8)

    where Ne is the set of elements i for which the center-to-center distance (e, i) to element e is smaller than the filter radius R, Hei is a weight factor.

  2. (2)

    The Heaviside projection filter is applied on the filtered density ρ to suppress the gray elements at the structural boundary (Guest et al. 2004):

    $$ {\overline{\rho}}_e=1-{e}^{-\beta {\rho}_e^{\ast }}+{\rho}_e^{\ast }{e}^{-\beta } $$
    (9)

    where β is a parameter controls the smoothness of the approximation. A continuation scheme is used where the parameter β is gradually increased during optimization to avoid local minima.

  3. (3)

    Perform finite element analysis and constraint evaluation based on the filtered density \( \overline{\boldsymbol{\uprho}} \) according to Eq. (6).

  4. (4)

    Perform sensitivity analysis on objective function c and constraint functions V and φ, respectively, as the response evaluation is based on the filtered density after density filter and Heaviside projection. Using the chain rule, compute the derivatives of each response with respect to the element density as follows:

    $$ \frac{d\phi}{d{\rho}_e}=\frac{d\phi}{d{\overline{\rho}}_e}\frac{d{\overline{\rho}}_e}{d{\rho}_e^{\ast }}\frac{d{\rho}_e^{\ast }}{d{\rho}_e} $$
    (10)

    When considering the sensitivity analysis formulation of objective function c, volume constraint V, density filter, and Heaviside projection filter, refer to Andreassen et al. (2011). The detailed sensitivity analysis of self-supporting constraint will be introduced in Sect. 3.3, in which a directional sensitivity filter is applied on the self-supporting constraint sensitivity to promote the evolution of supporting structures.

  5. (5)

    The method of moving asymptotes (MMA) (Svanberg 1987) is used for problem optimization, and the design variables ρ and self-supporting constraint value ε are updated until the optimization is converged. In order to make the optimization process more stable, the following scheme is used thus the value of ε can decrease gradually:

    $$ \varepsilon =\frac{n}{1.3^{\mathrm{loop}/m-m}} $$
    (11)

    where loop is the number of iterations, and m and n are positive constants. It can be seen that the value of ε is larger than n when the iteration number is less than m2, then it decreases gradually to 0. In general, it would be preferable if the self-supporting constraint is always satisfied in the former m2 iterations, which can be achieved by setting the n larger than the self-supporting constraint value of the initial optimized design without self-supporting constraint.

    A flowchart of the proposed topology optimization procedure with self-supporting constraint is given in Fig. 3.

    Fig. 3
    figure 3

    Flowchart of the topology optimization procedure with self-supporting constraint

3.3 Sensitivity analysis

In the following, the sensitivity analysis of the self-supporting constraint function \( \varphi \left(\overline{\boldsymbol{\uprho}}\right) \) with respect to the filtered density \( \overline{\boldsymbol{\uprho}} \) is introduced. Regardless of the boundary cases, each element can provide support for the upper three adjacent elements as described in Sect. 3.1. The sensitivity analysis only considers the effect of element density change on the three supported elements, and the self-supporting constraint sensitivity with respect to \( {\overline{\rho}}_{i,j} \) can be expressed as:

$$ \frac{d\varphi}{d{\overline{\rho}}_{i,j}}=\frac{d{\varphi}_{i+1,j-1}}{d{\overline{\rho}}_{i,j}}+\frac{d{\varphi}_{i+1,j}}{d{\overline{\rho}}_{i,j}}+\frac{d{\varphi}_{i+1,j+1}}{d{\overline{\rho}}_{i,j}} $$
(12)

The three terms on the right side in Eq. (12) are respectively the effect of change in \( {\overline{\rho}}_{i,j} \) on φi + 1, j − 1, φi + 1, j, and φi + 1, j + 1, respectively. According to Eqs. (3) and (5), each term can be expressed as:

$$ {\displaystyle \begin{array}{c}\frac{d{\varphi}_{i+1,s}}{d{\overline{\rho}}_{i,j}}=-{\left({\overline{\rho}}_{i,s-1}^{{\mathrm{p}}_{\mathrm{n}}}+{\overline{\rho}}_{i,s}^{{\mathrm{p}}_{\mathrm{n}}}+{\overline{\rho}}_{i,s+1}^{{\mathrm{p}}_{\mathrm{n}}}\right)}^{\frac{1}{{\mathrm{p}}_{\mathrm{n}}}-1}{\overline{\rho}}_{i,j}^{{\mathrm{p}}_{\mathrm{n}}-1}\times \Big(\frac{{\overline{\rho}}_{i+1,s}^{0.5}}{1+{e}^{-k\left({\overline{\rho}}_{i+1,s}-{\overline{\rho}}_{i+1,s}^{\mathrm{max}}-\alpha \right)}}+\\ {}\left({\overline{\rho}}_{i+1,s}-{\overline{\rho}}_{i+1,s}^{\mathrm{max}}\right){\overline{\rho}}_{i+1,s}^{0.5}\frac{ke^{-k\left({\overline{\rho}}_{i+1,s}-{\overline{\rho}}_{i+1,s}^{\mathrm{max}}-\alpha \right)}}{1+{e}^{-k\left({\overline{\rho}}_{i+1,s}-{\overline{\rho}}_{i+1,s}^{\mathrm{max}}-\alpha \right)}}\Big)\kern1.75em s=j-1,j,j+1\ \end{array}} $$
(13)

For the boundary cases, additional layers of void elements are added to the left, right, and upper side of the density matrix, while the bottom elements are always taken as supported as they are always supported by the baseplate.

It can be noted that the sensitivity values of the self-supporting constraint are always nonpositive, which means that for the elements to violate the self-supporting constraint, the constraint value is reduced by increasing the support element densities. Besides, the sensitivity analysis does not consider the knock-on effect of unsupported elements, thus the optimization process realized is self-supported by gradual supporting structure evolution. Compared with the layer-by-layer–wise sensitivity analysis method, the sensitivity analysis can be solved concurrently, and the computational time can be greatly reduced for large problems.

During the gradual evolution of supporting structures, a density gradual transition will exist between the solid and void regions caused by the density filters. The sensitivity values of these elements are very small, which will result in weak support or unsupport during optimization, as shown in Fig. 4a, b. In order to promote the evolution of supporting structures, a directional self-supporting sensitivity filter is proposed. As shown in Fig. 4c, the filtered self-supporting sensitivity is obtained by the weighted average of all element sensitivities above the element and within the filtering radius R:

$$ {\displaystyle \begin{array}{c}\frac{d\varphi}{d{\rho}_e}=\frac{1}{\sum \limits_{i\in {N}_e}{H}_{ei}}\sum \limits_{i\in {N}_e}{H}_{ei}\frac{d\varphi}{d{\rho}_i}\\ {}{H}_{ei}=\max \left(0,R-\varDelta \left(e,i\right)\right)\end{array}} $$
(14)

where Ne is the set of elements i for which the center-to-center distance (e, i) to element e is smaller than the filter radius R, and Hei is a weight factor. The row number of element i is not less than the row number of element e.

Fig. 4
figure 4

The illustration of weak support a and unsupported b. c Description of the directional self-supporting sensitivity filter

4 Numerical examples

Three numerical examples are adopted to demonstrate the functionality and performance of the developed optimization procedure. For illustration purposes, the material, load, and geometry data are dimensionless. In all cases, a Young’s modulus E0 = 1, lower bound Emin = 1e−9, and Poisson’s ratio ν = 0.3 are used. The penalization factor p is set to 3, parameter pn is set to 60, and the initial value of Heaviside projection parameter β is set to 1. The build direction is assumed to be always vertical and upwards, and the baseplate is at the lower side of the design domain. All optimizations start from the uniform density with 0.5. The MMA algorithm is adopted, and the movement limit is set to 0.05.

4.1 MBB beam

The first case is the well-known MBB beam problem. The design domain, boundary conditions, and external load for the MBB beam are shown in Fig. 5. The design domain is a rectangular area with a width (W) and height (H) = W/3, which is discretized with 150 × 50 equally sized square finite elements. The allowable volume fraction is set to 50%, and density filter is applied with a radius of 3.0 element widths. The value of Heaviside projection parameter β is doubled every 80 iterations.

Fig. 5
figure 5

Design domain for the MBB beam example

The optimal design without self-supporting constraint is depicted in Fig. 6a, and the structural compliance c is 206.79. It can be seen that the dome of the structure is virtually horizontal, and the inclination angles of some down-facing edges are less than 45°, all of which violate the self-supporting constraint. When considering the self-supporting constraint, the self-supporting constraint parameters are set as k = 150, α = 0.03, m = 10, and n = 80. Figure 6b is the optimized design after 380 iterations. It can be seen that the design result is self-supported, and the optimal structural compliance c is 256.95, which is 24.26% higher than the conventional design due to the added self-supporting constraint. It can be observed that the proposed method successfully evolves around some supporting structures, and the inclination of most down-facing edges is exactly 45. Besides, the structural height of the right side is reduced compared with the conventional design so that more material can be used in the inner zone to generate the supporting structures.

Fig. 6
figure 6

Optimized designs for the MBB beam case. a Without the self-supporting constraint, c = 206.79; b with the self-supporting constraint, c = 256.95

In order to demonstrate the validity of the proposed sensitivity filter in Eq. (14), topology optimization was also performed without the sensitivity filter while other parameters remained the same. However, the results have shown that the optimization process is unable to converge, and the result after 450 iterations is depicted in Fig. 7. It should be noted that there are two supporting structures that fail to connect with the lower sides, which suggests that the proposed self-supporting sensitivity filter is effective and necessary for the evolution of supporting structures.

Fig. 7
figure 7

Result without self-supporting sensitivity filter after 450 iterations

Figure 8 illustrates the design evolution history of MBB beam with self-supporting constraint, and Fig. 9 gives the variations of the objective and self-supporting constraint value with iterations. It can be seen that in the first 100 iterations, the effect of the self-supporting constraint is negligible, as shown in Figs. 8ac and 9. The structural compliance reaches the minimum value around 100 iteration steps, while the self-supporting constraint value reaches the maximum. With the increase of iteration steps, the self-supporting constraint value ε decreases gradually to 0. Meanwhile, the structure boundary changes gradually, and eventually evolves around some supporting structures and is fully self-supported.

Fig. 8
figure 8

Design evolution of MBB beam with self-supporting constraint. a Initial Design; b Iteration 50; c Iteration 100; d Iteration 150; e Iteration 200; f Iteration 250; g Iteration 300; h Iteration 350; i Iteration 380

Fig. 9
figure 9

Variations of the objective and self-supporting constraint values with iterations

4.2 Bridge structure

The second example is the bridge structure topology optimization problem. The design domain and boundary conditions for the bridge structure problem are shown in Fig. 10. The design domain is a rectangular area with a W and H = W/2, which is discretized with 100 × 50 equally sized square finite elements. The structure is supported in the lower right and left corners. A concentrated load is applied vertically at the middle point of the lower edge. Figure 11 shows the optimized design without self-supporting constraint with filter radius R = 3.0 element widths and allowable volume fraction Vf = 40%. It can be seen that the nonconstrained optimum topology shows several boundaries where the inclination is less than 45°, and the height of overhang regions is relatively higher compared with the first example in Fig. 6a, which is more challenging for the proposed algorithm.

Fig. 10
figure 10

Design domain for the bridge structure example

Fig. 11
figure 11

Optimized design for the bridge structure without self-supporting constraint

In order to fully demonstrate the performance of the proposed algorithm, the optimizations with different filter radiuses and volume constraints are studied. The bridge problem is solved with filter radius of 2.0 and 3.0 element widths and allowable volume fractions of 30%, 40%, and 50%. The self-supporting constraint parameters are set as k = 200 and α = 0.02. It should be noted that the overhang height when Vf = 0.3 is higher than the other two cases, and a smaller α = 0.016 is used to suppress the interference caused by density gradual transition in supporting structures. The values of m and n are set to 8 and 40, respectively, and the Heaviside projection parameter β is doubled every 50 iterations.

All optimizations are converged within 320 iterations, and the optimized solutions are shown in Fig. 12. It can be seen that all optimized designs are self-supported and the structural heights are reduced. As the boundary conditions and load are symmetrical, the final optimized results are almost symmetrical. When the allowable volume fraction Vf = 0.3 and 0.4, the middle support deviates to one support structure when it evolves downward to the baseplate. Half-optimization design domain of the bridge structure can be adopted to obtain full symmetrical results.

Fig. 12
figure 12

Optimized solutions for the bridge structure with various allowable volume fractions and filter radiuses. a R = 2, Vf = 0.3; c = 26.32, c/cref = 120.0%, Mnd = 1.2%; b R = 2, Vf = 0.4; c = 19.13, c/cref = 109.9%, Mnd = 1.4%; c R = 2, Vf = 0.5; c = 15.28, c/cref = 104.8%, Mnd = 0.8%; d R = 3, Vf = 0.3; c = 31.26, c/cref = 121.4%, Mnd = 5.4%; e R = 3, Vf = 0.4; c = 21.45, c/cref = 120.4%, Mnd = 4.4%; f R = 3, Vf = 0.5; c = 16.35, c/cref = 108.9%, Mnd = 3.5%.

The ratio of the optimal structural compliance c and the optimal structural compliance cref without self-supporting constraint is adopted to evaluate the performance loss caused by self-supporting constraint. It can be seen in Fig. 12 that the volume constraint has significant effect on the structural performance. Increased allowable volume fraction will lead to reduced structural compliance, which is the same trend seen in any free-form topology optimization. Besides, the structural performance loss caused by self-supporting constraint is much larger with smaller allowable volume fraction. For example, the value of c/cref is 120.0% when R = 2.0 element widths and Vf = 0.3, while it is only 104.8% when Vf = 0.5. The reason is that the volume proportion of the supporting structures is relatively higher with less allowable materials, which owns lower carrying capacity.

The SIMP framework can always lead to intermediate density zones near the structural boundaries. It can be seen in Fig. 12 that the optimized designs are almost 0–1 solution except for a very low fraction of elements. The solutions are indicated by the measures of nondiscreteness (Mnd, Sigmund 2007), which can be computed with Eq. (15), and the results are also shown in Fig. 12.

$$ {M}_{\mathrm{nd}}=\frac{\sum \limits_{e=1}^N4{\overline{\rho}}_e\left(1-{\overline{\rho}}_e\right)}{N} $$
(15)

It can be seen that the filter radius has a great influence on the size of the supporting structures and the values of Mnd. Smaller filter radius will result in finer supporting structures and details, and the structural compliance is reduced. However, there are many unwanted holes with smaller filter radius. In addition, the nondiscreteness Mnd value is much larger when adopting larger filter radius, which is about 4% for R = 3.0 element widths, and only about 1% for R = 2.0 element widths. The reason is that larger filter radius will lead to a relatively larger amount of intermediate density elements, which are less efficient in minimizing compliance and increases the nondiscreteness.

4.3 Tensile beam

The third case is a tensile beam problem designed to challenge the proposed optimizer to create self-supported structures, which is based on the example in Serphos (2014). The design domain is a rectangular area with a W and H = W/2, and boundary conditions for the topology optimization problem are shown in Fig. 13. The design domain is discretized with 100 × 50 finite elements. A clamped condition is applied at the mid-height of the left side, and a concentrated load is applied oppositely at the middle point of the right edge. It is easy to figure out that the optimized design without self-supporting constraint is a rod-shaped structure, as shown in Fig. 14, which is the result for R = 3.0 element widths and Vf = 0.4. It can be seen that the conventional optimized design is completely unsupported as the baseplate is located at the bottom of the design domain. This is an interesting test case to exploit any weaknesses of the implementation of the proposed method.

Fig. 13
figure 13

Design domain for the tensile beam example

Fig. 14
figure 14

Optimized design for the tensile beam without self-supporting constraint

Different filter radiuses and volume constraint values are adopted to verify the effectiveness of the proposed algorithm. The tensile beam is solved with filter radius of 2.0 and 3.0 element widths and allowable volume fractions of 30%, 40%, and 50%. The self-supporting constraint parameters are chosen as k = 150, α = 0.03, m = 8, and n = 80, in which the value of n is much larger as the conventional optimized design is completely unsupported. Besides, the value of Heaviside projection parameter β is doubled every 50 iterations. All optimizations with self-supporting constraint are converged within 220 iterations, and the optimized solutions are shown in Fig. 15. It can be seen that all solutions are self-supported and totally symmetrical.

Fig. 15
figure 15

Optimized solutions for the tensile beam with various allowable volume fractions and filter radiuses. a R = 2, Vf = 0.3; c = 17.34, c/cref = 163.5%, Mnd = 10.0%; b R = 2, Vf = 0.4; c = 10.40, c/cref = 113.7%, Mnd = 5.3%; c R = 2, Vf = 0.5; c = 8.94, c/cref = 107.1%, Mnd = 4.8%; d R = 3, Vf = 0.3; c = 20.94, c/cref = 189.3%, Mnd = 12.7%; e R = 3, Vf = 0.4; c = 11.89, c/cref = 125.9%, Mnd = 10.9%; f R = 3, Vf = 0.5; c = 9.47, c/cref = 112.4%, Mnd = 9.13%.

Regarding the influence of volume fraction constraint on structural compliance, it is easy to find that it is more significant compared with the second example. For example, the optimal value of structural compliance c is 17.34 when R = 2.0 element widths and Vf = 0.3, while it is only 8.94 when R = 2.0 element widths and Vf = 0.5. Besides, compared with the conventional optimized design, the structural compliance increased 63.5%, 13.7%, and 7.1% for Vf = 0.3, 0.4, and 0.5, respectively, when R = 2.0 element widths, as shown in Fig. 15a–c. As the conventional optimized design is completely unsupported, the volume proportion of supporting structures is much higher compared with the bridge structure case, especially when the allowable volume fraction is small. However, the supporting structures in the tensile beam case barely transfer the external loads and only provide supporting functions.

As for the influence of filter radius, the same trend as the second example, smaller filter radius will result in finer supporting structures and lower compliances. The nondiscreteness Mnd values are much larger when adopting larger filter radius due to the increased amount of intermediate density elements.

Besides, it should be noted that if the build direction changes to horizontal direction, the optimized design without self-supporting constraint is inherently self-supported, which means that the optimized design will remain the same as the conventional design and the value of c/cref is 100% when considering the self-supporting constraint.

Furthermore, by analyzing all the results obtained by the proposed approach in the three examples, it can be found that there are barely very tiny supporting structures in the optimal solutions, and the structural boundaries are very smooth, which means that results own good manufacturability. On the other hand, the density filter approaches may lead to many fine features that are smaller than the length scale imposed by the filter radius, as pointed by Langelaar (2017), and the results may include some distorted structural boundaries. The main reason is that the density filter approaches enforced in each step of solution satisfies the self-supporting constraint by density filtering, which may cause the supporting structures to become distorted, or consist of a few columns of elements. In this paper, the proposed method realized is self-supported by gradual evolution of supporting structures, in which the self-support is only required at the final convergence point. Besides, the filter radius will impose a minimum length scale on the structures. This algorithm characteristic makes the structural topologies natural and smooth and own better manufacturability.

5 Conclusions

Based on the SIMP framework, this article proposes a topology optimization method that takes into account the self-supporting constraint for AM. A structural self-supporting mathematical model is established to identify the overhang regions, and an explicit constraint function is proposed to represent the degree of self-supporting constraint violation. The topology optimization formulation and optimization procedure with self-supporting constraint are presented, in which the density filter and Heaviside projection filter are applied to avoid the checkerboard patterns and intermediate elements.

The sensitivity analysis method of the self-supporting constraint is investigated for using gradient optimization algorithms. The proposed method realized is self-supported by gradual evolution of supporting structures, and the sensitivity analysis does not consider the knock-on effect of unsupported elements. Compared with the layer-by-layer–wise sensitivity analysis method, the sensitivity analysis can be solved concurrently, and the computational time can be greatly reduced for large problems. A directional self-supporting sensitivity filter is devised to promote the evolution of supporting structures. In addition, various measures have been taken to avoid the intermediate elements and suppress the interference caused by density gradual transition regions.

The performance and functionality of the developed optimization procedure is illustrated with three compliance minimization problems. Results show that all the topology optimization cases have achieved self-support and the optimized solutions own good manufacturability. The effectiveness of the proposed directional self-supporting sensitivity filter is validated, which is necessary for the convergence and evolving of supporting structures. The study found that the added self-supporting constraint will lead to a certain degree of performance loss, which can be reduced or even avoided by changing the build direction. In this paper, only 45° is considered the critical self-supporting angle. For other cases, the design domain can be discretized with the rectangular elements that the inclination of diagonal line equals to the critical overhang angle. The combination of build direction optimization and topology optimization will be investigated the future works, and the proposed topology optimization method can be further extended to the 3D problems.