1 Introduction

Additive manufacturing (AM) offers unprecedented form freedom and is rapidly being adopted throughout industry. High quality end-use components can be created in an expanding range of engineering materials, including metals (Gao et al. 2015). To fully exploit the potential offered by AM technologies, freeform design optimization and in particular topology optimization (TO) is recognized to be of key importance (Brackett et al. 2011; Rosen 2014). However, conventional TO does not account for specific AM restrictions, which can affect the optimal design layout significantly. In this paper, the focus is specifically on geometrical limitations regarding downward facing (overhanging) surfaces. Beyond a critical overhang angle, structures cannot be printed with the desired quality. In particular for popular powder-bed metal AM processes (e.g. selective laser melting, SLM) this forms an important restriction with implications for design. The critical angle is typically of the order of 45° (Wang et al. 2013; Mertens et al. 2014; Kranz et al. 2015). Other relevant considerations are e.g. local overheating, part distortion and even part failure during the printing process. These aspects require computationally intensive process simulations and are outside the scope of the present study.

Various ways exist to deal with overhang restrictions. For a given part geometry, a build orientation can be determined which minimizes the amount of overhanging surfaces. This geometrical problem has been solved in various ways (e.g. Alexander et al. 1998; Das et al. 2016; Morgan et al. 2017). However, in a TO setting this is not straightforward, as the part geometry is continuously developing during the optimization process.

In most cases, after orientation optimization parts still contain regions violating the overhang restriction. To ensure printability of these regions, sacrificial support structures are added. These support structures increase material usage and build time, and their removal increases post-processing costs. To reduce these disadvantages, various approaches to optimization of support structures have been proposed. For example, Strano et al. (2013) use cellular structures to minimize the support material volume. Vanek et al. (2014) present an heuristic approach to generate sparse support structures, while Kuo et al. (2018) apply TO to generate minimal support layouts.

In the approaches above, part geometries are considered fixed, while in many cases part modifications may be permissible that further reduce the need for support structures, without strongly affecting performance. Leary et al. (2014) propose to add ‘permanent support structures’ to a part, to make it fully self-supporting. In some applications the added mass may be acceptable, but as AM and TO are typically used to maximize performance, such modifications of optimized geometries are often not applicable.

To improve on this, restrictions of the considered AM process must directly be included in the design optimization phase, following a design-for-manufacturing philosophy. Recently, significant process has been made in this direction, by TO procedures that include overhang restrictions in 2D (Langelaar 2017; Gaynor and Guest 2016; Van de Ven et al. 2017) and 3D (Langelaar 2016b; Qian 2017; Hoffarth et al. 2017). With these procedures, fully printable part geometries can be generated that require no additional supports for overhanging regions. Next to these geometric overhang restrictions, other authors are exploring approaches based on physical modeling of the AM process, using simplified thermal or mechanical models (Ranjan et al. 2017b; Allaire et al. 2017). However, at present geometric approaches are most effective in terms of accuracy and computational cost, and will therefore form the basis of this study.

However, strict enforcement of overhang restrictions leads to part geometries that deviate considerably from the free TO design, which can result in significant performance reduction. Mirzendehdel and Suresh (2016) and Ranjan et al. (2017a) have proposed TO procedures that take overhang restrictions into account but at the same time allow designs to still require a certain amount of support material. Both approaches assume the support material to consist of simple vertical pillars, the possibility to create and print an optimized support layout is not exploited. To allow for a rational trade-off between the amount of support material and part performance, we have proposed an extended formulation where both part topology and support layout are optimized simultaneously (Langelaar 2016a), in the context of density-based TO. This approach builds on the simplified AM process simulation we proposed to determine the printable regions of a part, which will be referred to as ‘AM filter’ (Langelaar 2016b, 2017).

In all the TO formulations discussed above the build orientation, which is a very influential parameter, was set a priori. To determine the best build orientation, thus far the only available option for general density-based TO approaches is to repeat the optimization process for each candidate orientation, i.e. performing an exhaustive search over all orientations. This computationally intensive approach quickly becomes impractical, and does not provide a perspective toward 3D applications. Within the MMC/MMV-framework (Moving Morphable Components/Voids), recently a first formulation was proposed that allowed for simultaneous part and orientation optimization (Guo et al. 2017). However, the MMC/MMV design space is more restricted than that of general density-based TO, which limits its ability to fully exploit the geometric complexity AM provides.

The preferred approach motivating this research is to combine the optimization of the part, its build orientation, and the required support structures in one integrated process, in a density-based setting. This paper presents and evaluates a TO formulation that achieves this. The approach is illustrated on 2D compliance minimization problems in linear elasticity, but its formulation is not specifically restricted to this problem setting.

Our approach exploits the fact that in TO problems, the most computationally demanding step is the finite element (FE) analysis of part performance. In contrast, application of the AM filter to evaluate printability is far less costly (Langelaar 2016b). Thus, instead of performing N TO runs for N part orientations, we perform a single TO run in which a single part design is optimized, but its printability in N discrete orientations is monitored. During the optimization process, while the part design evolves, gradually the most promising orientation with the least support structures is identified. As this procedure is based on a highly nonlinear, nonconvex optimization problem, globally optimal results cannot be guaranteed. Nevertheless, extensive comparisons of numerical test results to those of separate fixed-orientation optimizations over a full range of orientations show that the proposed approach generally yields high quality solutions, at a fraction of the cost.

While the combined optimization of part topology, support structure layout and build orientation forms the main contribution of this paper, in order to realize this formulation Section 2 introduces several extensions of the AM filter approach originally proposed in Langelaar (2017). First, the AM filter is generalized to arbitrary FE meshes, overhang angles, and part orientations. Secondly, the capability to perform a combined optimization of part and support structure is presented, based on ideas proposed earlier in a conference contribution (Langelaar 2016a). Thirdly, the possibility to translate the part with respect to the baseplate is introduced, which is essential for a fair assessment of support structure costs in a setting with multiple part orientations.

Following this, Section 3 introduces the proposed problem formulation for the combined optimization of orientation, part, and support topology, and the accompanying sensitivity analysis. To increase the probability to obtain good local optima, a multi-stage continuation procedure is also discussed. Numerical results for 2D test cases are presented in Section 4, followed by discussion and conclusions.

2 AM process and cost modeling

As outlined above, this section defines several extensions regarding AM process modeling and support costs that are required for the formulation proposed later in Section 3.1. For clarity, these are mostly discussed in a 2D setting; extension of the AM filter to 3D is described in Langelaar (2016b).

2.1 Summary of basic AM filter

First, for reference and completeness, the formulation of the AM filter proposed in Langelaar (2017) is summarized. It is defined on a regular FE mesh, with single densities associated with each element. The AM filter is a procedure that takes a blueprint density field b as input, and generates a new density field p representing the printed structure. This is achieved by a simplified AM process simulation, in which printed densities are materialized in a layerwise fashion, provided that sufficient supporting printed material is present in the layer below. In a 2D setting, the supporting region \({\Omega }_{S}^{(i,j)}\) of an element at position (i, j) is given by the three elements directly underneath, as illustrated in Fig. 1a. In the 3D case, shown in Fig. 1b, a support region of five elements is used.

Fig. 1
figure 1

Definition of supporting regions S in 2D and 3D versions of the AM filter. Density distributions are defined directly on the FE mesh. Normal n indicates the build direction

The printed density in a given location is not allowed to exceed the maximum density in its supporting region. This principle leads to the following relation:

$$ p^{(i,j)} = \min\left( b^{(i,j)}, \max\left( p\in{}{\Omega}_{S}^{(i,j)}\right)\right) . $$
(1)

This operation is applied in a layerwise fashion throughout the domain, in the same direction as the printing process itself. This results in the printed density field p. To allow for gradient-based optimization, the non-differentiable ‘min’ and ‘max’ operators are replaced by differentiable approximations \(\breve {\mathrm {s}}\) and s̑:

$$ p^{(i,j)} = \breve{\mathrm{s}}\left( b^{(i,j)}, {\overset {\frown}{\textrm{s}}}\left( p\in{}{\Omega}_{S}^{(i,j)}\right)\right) , $$
(2)

where the operators \(\breve {\mathrm {s}}\) and s̑ are chosen as:

$$\begin{array}{@{}rcl@{}} \breve{\mathrm{s}}(b, {\overset {\frown}{\textrm{s}}}(p\!\in\!{\Omega}_{S})) &=&\frac{1}{2}\left( \vphantom{\left( (b-{\overset {\frown}{\textrm{s}}}(p\!\in\!{\Omega}_{S}))^{2}\!+\varepsilon\right)^{1/2}}b\,+\,{\overset {\frown}{\textrm{s}}}(p\in{\Omega}_{S})\right.\\ &&\left.-\left( (b\,-\,{\overset {\frown}{\textrm{s}}}(p\!\in\!{\Omega}_{S}))^{2}\,+\,\varepsilon\right)^{1/2}\,+\,\sqrt{\varepsilon}\right), \end{array} $$
(3)
$$\begin{array}{@{}rcl@{}} {\overset {\frown}{\textrm{s}}}(p\in{\Omega}_{S}) \!\!&=&\!\! \left( \sum\limits_{e\in{\Omega}_{S}} {p_{e}^{P}}\right)^{1/Q}. \end{array} $$
(4)

with position superscripts (i, j) omitted for clarity. Parameters ε, P and Q control the accuracy and smoothness of the approximations. Default settings are ε = 10− 4, P = 40 and Q = P + log(2N D − 1)/log(p0), with N D denoting the spatial dimension (2 or 3) and p0 ∈ [0,1] controlling the penalization of lower-density structures. For a more detailed discussion, and the derivation of the adjoint sensitivity analysis of this AM filter, we refer to Langelaar (2017). Here only the result is reported. Given a sensitivity f/p, the sensitivity with respect to blueprint densities is obtained by:

$$\begin{array}{@{}rcl@{}} \frac{\partial f}{\partial \boldsymbol{b}_{k}}&=&\boldsymbol{\lambda}^{T}_{k}\frac{\partial \breve{\mathrm{s}}}{\partial \boldsymbol{b}_{k}} , \end{array} $$
(5)
$$\begin{array}{@{}rcl@{}} \boldsymbol{\lambda}^{T}_{k} &=& \frac{\partial f}{\partial \boldsymbol{p}_{k}} + \boldsymbol{\lambda}^{T}_{k + 1} \frac{\partial \breve{\mathrm{s}}}{\partial {\overset {\frown}{\textrm{s}}}}\frac{\partial {\overset {\frown}{\textrm{s}}}}{\partial \boldsymbol{p}_{k}} \qquad\text{for}~1<k<n , \end{array} $$
(6)

with n the number of layers, \(\boldsymbol {\lambda }^{T}_{n} = \partial f / \partial \boldsymbol {p}_{n}\), and derivatives of \(\breve {\mathrm {s}}\) and s̑ follow directly from (3) and (4), respectively. These sensitivity equations can be evaluated by sweeping backwards through the domain, from the top layer down to the baseplate.

2.2 Generalized AM filter

The original AM filter summarized in Section 2.1 is defined on a regular Cartesian mesh, coinciding with the finite element (FE) and density mesh conventionally used in density-based topology optimization. As a result, only layers and printing directions aligned with the coordinate axes can be considered, and the method only applies to problems involving such regular, Cartesian finite element meshes. Another consequence of linking directly to a regular finite element mesh is that the critical overhang angle becomes tied to the element aspect ratio. For square elements, a 45° angle is obtained. To consider other critical angles, element aspect ratios had to be modified.

To introduce more flexibility, both in critical angle and in printing direction, we propose to separate the discretizations used in the FE analysis and the simplified process simulation performed by the AM filter. We choose here to link the design field directly to the FE mesh, by introducing a density design variable for every finite element. This density field d is thus associated with the red FE mesh depicted in Fig. 2. To evaluate printability, this field is mapped to a regular Cartesian background mesh, as required for the AM filter. The original and mapped fields are, in vector form, denoted by d and \(\tilde {\boldsymbol {d}}\), respectively. Translations and rotations can be introduced to represent different part orientations with respect to the build direction n, as illustrated in Fig. 2. In the following, this background mesh is referred to as the ‘AM mesh’, as it represents the part on the base plate, in its physical orientation during the AM process. By choosing an appropriate aspect ratio of the elements in the AM mesh, the desired critical overhang angle β can be imposed, independent of the finite element mesh (see Fig. 3). While element sizes between FE and AM meshes can also be varied, this aspect has not been explored in this study and we choose the AM element size such, that its largest edge equals the largest element edge in the FE mesh. This is motivated by the observation that larger differences in mesh size generally increase the smoothing effect of the mapping operations. Note also that, while not explored in this paper, the AM filter can also be applied in a multi-material printing setting, when all materials share the same overhang angle. Even configuration-specific support rules could be introduced based on local material arrangements, by appropriately modifying (2).

Fig. 2
figure 2

Illustration of a decoupled FE and AM mesh configuration in 2D. Normal n indicates the build direction

Fig. 3
figure 3

Relation between overhang angle β and AM mesh element aspect ratio (left), and subdomains used in the definition of the coefficients of mapping matrix M (9). The triangular mesh represents the FE mesh, the quadrilateral mesh is the AM mesh

The FE and AM mesh coordinate systems, denoted X and x, are related by:

$$ \boldsymbol{x}=\boldsymbol{\mathrm{R}}\left( \boldsymbol{X}+\boldsymbol{T}\right), $$
(7)

where R is a rotation matrix and T a translation vector. The mapping of density fields between the two meshes is defined by a linear operator M:

$$ \tilde{\boldsymbol{d}} = \boldsymbol{\mathrm{M}}\boldsymbol{d}, $$
(8)

where M is in general a non-square matrix, and the tilde indicates a mapped quantity. Following the conventional formulation, the density distribution on the FE mesh is taken as piecewise constant. The coefficients of the mapping operator M, indicating the relative contributions of d entries to the corresponding mapped \(\tilde {\boldsymbol {d}}\) values, are given by volume ratios:

$$ M_{ij} = \left. {\int}_{\tilde{\Omega}_{i}\cap{\Omega}_{j}} dV \middle/ {\int}_{\tilde{\Omega}_{i}\cap{\Omega}} dV \right. . $$
(9)

Here Ω and \(\tilde {\Omega }\) refer to the FE and AM domains, and subscripts indicate the domain of individual mesh elements. The different integration domains are illustrated in Fig. 3. For AM mesh elements that have no overlap with the FE domain, i.e. \(\tilde {\Omega }_{i}\cap {\Omega }= 0\), by definition M i j ≡ 0. The integrals in (9) are most conveniently evaluated through numerical integration, and this process is only needed once at the start of each optimization. To map the integration point locations between the domains, (7) is used.

Similarly a reverse mapping operator W can be defined, which maps a density field from the AM mesh to the FE mesh. Note that for non-matching meshes, mapping will in general introduce a slight smoothing of the density field. This is the price of the introduced flexibility. As will be shown in the numerical examples, this has no significant effect on the clarity of the final results. Both operators will be used in the problem formulation in Section 3.

Performing a topology optimization with AM overhang restrictions in this setting, given an arbitrary printing direction and overhang angle, involves the following steps in each iteration:

  1. 1.

    Mapping of the density design field d from the FE mesh to the AM mesh using (8),

  2. 2.

    Application of the AM filter to the mapped field \(\tilde {\boldsymbol {d}}\) present on the AM mesh, yielding p,

  3. 3.

    Return mapping of the resulting printed density field to the FE mesh, using \(\tilde {\boldsymbol {p}}=\boldsymbol {\mathrm {W}}\boldsymbol {p}\),

  4. 4.

    Performance evaluation of \(\tilde {\boldsymbol {p}}\) through FE analysis.

In addition, the mapping operations must also be considered in the sensitivity analysis, as will be discussed in Section 3.2.

2.3 Co-optimizing support structures

Enforcing exclusively self-supporting designs corresponds to adding a constraint to the design problem, which in general will result in reduced performance, as observed by (e.g., Langelaar 2016b; Qian 2017). It is desired to provide designers the option of trade-off solutions, where costs associated with support material can be balanced against achieved component performance. To describe a component and an accompanying support structure in a density-based TO setting, we introduce two design variable fields: a design density field d and a support density field s. For this discussion we assume these fields to exist on the same (AM) mesh, but this 2-field concept can also be combined with the mappings introduced above. The blueprint density field b is now defined as the union of the design and support field:

$$ \boldsymbol{b} = \boldsymbol{d} \cup \boldsymbol{s} . $$
(10)

The union operation is implemented at element level, by a P-norm term that provides a smooth maximum of d e and s e :

$$ b_{e} = \left( d_{e}^{P_{b}}+s_{e}^{P_{b}}\right)^{1/P_{b}} , $$
(11)

with P b a suitable exponent, here chosen as 40.

From the blueprint design, using the described AM filter the printed density field p can be found. This printed structure still contains parts specified by the design field and possibly the support field. To obtain the layout of the component itself, we take the intersection of the printed part with the original design field:

$$ \boldsymbol{c} = \boldsymbol{p} \cap \boldsymbol{d} . $$
(12)

where c is the density field representing the component, after support removal. Also the intersection operation can be implemented as an operation at element level, by taking the smooth KS minimum of p e and d e (Kreisselmeier and Steinhauser 1979):

$$ c_{e}=-\frac{1}{P_{c}}\ln\left( \frac{1}{2}\left( e^{-P_{c}{}p_{e}}+e^{-P_{c}{}d_{e}}\right)\right) $$
(13)

with P c set to an appropriate value.

The concepts described here are illustrated by the example shown in Fig. 4. Note that support and design fields can overlap, this provides maximum design freedom during the optimization process. As a cost will be associated with the support volume, and an active volume constraint acts on the component, converged designs typically do not show overlapping densities.

Fig. 4
figure 4

Illustration of the description of additional support structures. The fields in a) and c) combine into d). Subfigures b) and e) show the printed structures obtained from a) and d), respectively. The component obtained after support removal is shown in f)

2.4 Support structure costs and part translation

It is desired to limit the amount of support structures, as these increase powder consumption, build time and lead to costly post-processing operations. In this paper, we opt for a simple model, that defines support costs by the total support volume multiplied by a cost factor. This model can be enhanced for specific situations when more accurate cost information is available (see e.g. Langelaar 2016a). The support cost calculation however needs to be refined to allow fair comparisons between different part orientations. In this subsection first the principles are described, followed by the mathematical formulation.

Firstly, in the targeted metal AM powderbed processes, instead of building parts directly on the baseplate a certain spacing Δ between part and baseplate is generally used, as illustrated in Fig. 5a. The distance to the part is covered by support structures. This arrangement facilitates part removal and limits residual stresses. In this study, this distance is accounted for in the translation T between FE and AM meshes, introduced in (7). Given the resolution of the AM mesh, we limit the spacing to integer multiples of the AM mesh element height.

Fig. 5
figure 5

Schematic illustration of a) baseplate spacing and design-induced part translation, and b) the definition of support cost areas. The red border indicates the region available for part design, under a certain orientation. The density distribution of the design itself is shown in gray

Secondly, when the part design evolves such, that it can actually be translated closer to the baseplate, less support material is needed. The possibility of such translations must be considered in the support costs. This situation is illustrated in Fig. 5a, where the density distribution in the red design region leaves a number of element layers empty between the part and the baseplate. In this paper, we consider discretized design problems, and therefore translations are considered in terms of integer AM mesh element heights. If the design in Fig. 5a were to be printed, it could be shifted downward by δ element heights, or equivalently, the baseplate could be placed the same distance higher. Therefore, any support material present in the first δ layers from the baseplate should not contribute to the total support costs.

In combination with the spacing Δ, this part translation δ is accounted for in the support cost calculation by including full costs for the first Δ layers below the part, since the support material there is necessary to realize the spacing. If the part density distribution is such, that additional translation is possible, the remaining δ layers will have zero support costs. Effectively this means that densities in layer i + Δ determine the support cost factor for layer i. This principle is indicated in Fig. 5b, together with the cost regions that will be applied in this work. Region I represents the de facto ‘free support’ zone, where support costs are disregarded as they can be avoided by part translation. In Region II the nominal support cost factor is applied.

However, these cost regions depend on the design. To cast these support cost principles for part translation and baseplate spacing into a differentiable mathematical procedure, we choose the highest (mapped) layer density \(\tilde {d}_{\max }^{(i+{\Delta })}\) as a support cost multiplication factor for layer i. Thus, support cost S is given by:

$$ S = \frac{1}{n}\sum\limits_{(i,j)\in{\Omega}_{AM}} \tilde{d}_{\max}^{(i+{\Delta})}s^{(i,j)} $$
(14)

where n denotes the number of design elements in the FE mesh. For differentiability, \(\tilde {d}_{\max }^{(i)}\) is defined by a P-norm:

$$ \tilde{d}_{\max}^{(i)} = \left( \sum\limits_{\tilde{d}_{e} \in {\Omega}_{i}} \tilde{d}_{e}^{P_{l}}\right)^{1/P_{l}} , $$
(15)

where Ω i denotes the domain of layer i. P l is a suitable exponent to approximate the layer maximum, taken here as 20. Since very large part translations are not expected, this cost multiplication factor is only considered for layers in the lower half of the domain. Note that empty layers should only result in a zero support cost weight when all layers underneath are empty as well, otherwise translation to the baseplate is restricted. But since optimized structural parts are generally not fully intersected by empty regions, this situation does not occur, and is not explicitly included in the formulation.

3 Combined part, support and orientation optimization

3.1 Problem formulation

Evaluation of printability is computationally inexpensive compared to the FE-based part performance evaluation in the topology optimization process. This motivates the central idea of the proposed approach: to consider N discrete part orientations simultaneously, in a process that optimizes and evaluates performance of a single part geometry. From a single design density field, the printed part geometry is constructed by combining the printed geometries of all orientations. By co-optimizing the required support structure in each orientation as the design evolves, the most suitable orientation that requires the least support material can be identified and promoted in the optimization process. This approach is preferred over including part orientation as optimization design variable, as responses show multimodal behavior and lack continuous differentiability with respect to part orientation in the present setting.

To implement this approach, we define a single FE mesh and an associated design field d, as well as N AM meshes, each at different orientations defined by {R i (ϕ i ), T i }, with subscript i denoting a particular orientation. Every AM mesh is also associated with mapping operators M i and W i and support density field s i . Note that, as each AM mesh must be large enough to contain the rotated and translated mapped FE mesh, the support field dimension varies per orientation.

Design field d is mapped onto the AM meshes of all orientations, as depicted in Fig. 6. By combining each mapped field \(\tilde {\boldsymbol {d}}_{i}\) with associated support field s i according to (10), N blueprint density fields b i are created. Next, applying the AM filter on each AM mesh yields printed density fields p i . These are subsequently combined into a single printed field, by mapping all p i fields back to the FE mesh domain using \(\tilde {\boldsymbol {p}}_{i} = \boldsymbol {W}_{i}\boldsymbol {p}_{i}\) and taking the intersection. To define the component density field c needed for part performance evaluation, the original design field d is also included in this intersection operation. For differentiability, it is implemented by a smooth KS minimum (Kreisselmeier and Steinhauser 1979):

$$ c^{(j)} = -\frac{1}{P_{p}}\ln\left( \frac{1}{N + 1} \left( e^{-P_{p} d^{(j)}} + \sum\limits_{i = 1}^{N} e^{-P_{p} \boldsymbol{p}_{i}^{(j)}} \right) \right) , $$
(16)

where P p is a suitable factor in this KS function, taken here as 30. Index j runs over all entries in the FE mesh.

Fig. 6
figure 6

Flowchart indicating the way component density field c is obtained from design field d and support density fields s i , defined for N part orientations

Now that the way the component density field c is obtained has been defined, the optimization problem can be formulated. For the considered case of compliance minimization under a volume constraint, the mathematical problem statement reads:

$$ \begin{array}{ll} \underset{\boldsymbol{d},\{\boldsymbol{s}_{i}\}}{\min}~~ & C(\boldsymbol{c}) + w_{S} S(\boldsymbol{d},\{\boldsymbol{s}_{i}\}) \\ \textrm{s.t.} & V(\boldsymbol{c})/\hat{V} - 1 \leq 0 \\ & 0 \leq \{\boldsymbol{d},\{\boldsymbol{s}_{i}\}\} \leq 1, \quad i = 1{\ldots} N , \end{array} $$
(17)

with \(\hat {V}\) denoting the maximum volume. The objective consists of 2 parts: compliance C of the realized component (which can be replaced by other performance measures), and a support cost term S, with weight factor w S controlling its relative importance. The support costs S i for each individual orientation ϕ i are computed as described in Section 2.4. To stimulate the optimization process to focus on the orientation that requires the least support material, S is defined as a smooth KS minimum of the costs S i of all considered orientations:

$$ S=-\frac{1}{P_{s}}\ln\left( \frac{1}{N}\sum\limits_{i = 1}^{N} e^{-P_{s} S_{i}}\right), $$
(18)

where P s is a suitable factor in this KS function, discussed further in Section 3.3. The compliance C is evaluated by linear finite element analysis, where the conventional SIMP material definition (Bendsøe and Sigmund 1999) is used based on component density field c:

$$\begin{array}{@{}rcl@{}} C &=& \boldsymbol{f}^{T}\boldsymbol{u}, \end{array} $$
(19)
$$\begin{array}{@{}rcl@{}} \boldsymbol{\mathrm{K}}\boldsymbol{u}&=&\boldsymbol{f}, \end{array} $$
(20)
$$\begin{array}{@{}rcl@{}} \boldsymbol{\mathrm{K}}_{e} &=& E(c_{e})\boldsymbol{\mathrm{K}}_{0}, \end{array} $$
(21)
$$\begin{array}{@{}rcl@{}} E(c_{e}) &=& E_{\min} + {c_{e}^{p}}\left( E_{\text{solid}} - E_{\min}\right) . \end{array} $$
(22)

Here K, u and f represent the FE system stiffness matrix, displacement and load vectors, respectively, while K e and K0 refer to element stiffness matrices. The SIMP material law defined in (22) interpolates the Young’s modulus between Emin and Esolid, with a penalization exponent p.

Note that the considered optimization problem is significantly larger than the single-orientation case: the design space dimension is the sum of the dimension of FE-mesh-based design field d and of the dimensions of all support fields s i of all N orientations, defined on the associated AM meshes. However, since only the performance evaluation of a single density field c requires an FE analysis, the computational cost is much smaller than solving N individual single-orientation problems.

3.2 Sensitivity analysis

To solve the large-scale optimization problem defined by (17), we employ gradient-based optimization, specifically the Method of Moving Asymptotes (Svanberg 1987). In this section, relevant details of the sensitivity analysis for the considered problem are discussed, starting with the quantities that depend on the component density field: compliance C(c) and volume V (c). In general, given a quantity f(c), its sensitivity to design and support variables d and s i follows by the chain rule, taking into account the dependencies defined by (16) and expressed by Fig. 6:

$$\begin{array}{@{}rcl@{}} \frac{d f}{d \boldsymbol{d}} &=& \frac{\partial f}{\partial \boldsymbol{c}}\left( \frac{\partial \boldsymbol{c}}{\partial \boldsymbol{d}} + \sum\limits_{i = 1}^{N}\frac{\partial\boldsymbol{c}}{\partial\tilde{\boldsymbol{p}}_{i}}\frac{\partial\tilde{\boldsymbol{p}}_{i}}{\partial\boldsymbol{p}_{i}}\frac{\partial\boldsymbol{p}_{i}}{\partial\boldsymbol{b}_{i}}\frac{\partial\boldsymbol{b}_{i}}{\partial\tilde{\boldsymbol{d}}_{i}}\frac{\partial\tilde{\boldsymbol{d}}_{i}}{\partial\boldsymbol{d}} \right), \end{array} $$
(23)
$$\begin{array}{@{}rcl@{}} \frac{d f}{d \boldsymbol{s}_{i}} &=& \frac{\partial f}{\partial \boldsymbol{c}}\left( \sum\limits_{i = 1}^{N}\frac{\partial \boldsymbol{c}}{\partial \tilde{\boldsymbol{p}}_{i}}\frac{\partial \tilde{\boldsymbol{p}}_{i}}{\partial \boldsymbol{p}_{i}}\frac{\partial \boldsymbol{p}_{i}}{\partial \boldsymbol{b}_{i}}\frac{\partial \boldsymbol{b}_{i}}{\partial \boldsymbol{s}_{i}} \right) . \end{array} $$
(24)

Subscripts i refer to quantities associated with the ith orientation. Note that f/c is obtained as in conventional topology optimization procedures, for which the reader is referred to e.g. Bendsøe and Sigmund (2003). The other derivatives in (23) and (24) follow from (16), (8) and (11) as:

$$\begin{array}{@{}rcl@{}} \frac{\partial c^{(j)}}{\partial d^{(j)}} &=& \frac{ e^{-P_{p} d^{(j)}}}{ e^{-P_{p} d^{(j)}} + {\sum}_{i = 1}^{N} e^{-P_{p} \tilde{p}_{i}^{(j)}} } , \end{array} $$
(25)
$$\begin{array}{@{}rcl@{}} \frac{\partial c^{(j)}}{\partial \tilde{p}_{i}^{(j)}} &=& \frac{ e^{-P_{p} \tilde{p}_{i}^{(j)}} }{ e^{-P_{p} d^{(j)}} + {\sum}_{i = 1}^{N} e^{-P_{p} \tilde{p}_{i}^{(j)}} } , \end{array} $$
(26)
$$\begin{array}{@{}rcl@{}} \frac{\partial b_{i}^{(j)}}{\partial \tilde{d}_{i}^{(j)}} &=& \left( \tilde{d}_{i}^{(j)}\right)^{P_{b} - 1} \left( \left( \tilde{d}_{i}^{(j)}\right)^{P_{b}}+\left( s_{i}^{(j)}\right)^{P_{b}}\right)^{1/P_{b}-1} , \end{array} $$
(27)
$$\begin{array}{@{}rcl@{}} \frac{\partial b_{i}^{(j)}}{\partial s_{i}^{(j)}} &=& \left( \tilde{s}_{i}^{(j)}\right)^{P_{b} - 1} \left( \left( \tilde{d}_{i}^{(j)}\right)^{P_{b}}+\left( s_{i}^{(j)}\right)^{P_{b}}\right)^{1/P_{b}-1} \end{array} $$
(28)

and

$$ \frac{\partial \tilde{d}_{i}}{\partial d_{j}} = \boldsymbol{\mathrm{M}}_{ij}, \qquad \frac{\partial \tilde{p}_{i}^{(j)}}{\partial p_{i}^{(k)}} = \boldsymbol{\mathrm{W}}_{jk}, $$
(29)

where □(j) indicate vector indices for subscripted quantities. These are all component-wise or sparse explicit relations, which do not require computationally intensive operations, as discussed in further detail in Langelaar (2017). The term p i /b i , which expresses how the printed density field depends on the provided blueprint, is evaluated using the adjoint AM filter sensitivity analysis procedure defined by (5) and (6) in Section 2.1.

Next, we consider the design sensitivities of the support cost term S(d,{s i }) in (17). Differentiation of (18) yields:

$$ \frac{\partial S}{\partial S_{i}} = \frac{e^{-P_{s} S_{i}}}{{\sum}_{i = 1}^{N} e^{-P_{s} S_{i}}} . $$
(30)

Sensitivities of S with respect to d and s i follow from the chain rule:

$$ \frac{\partial S}{\partial \boldsymbol{d}}=\sum\limits_{i = 1}^{N}\frac{\partial S}{\partial S_{i}}\frac{\partial S_{i}}{\partial \tilde{\boldsymbol{d}}}\frac{\partial \tilde{\boldsymbol{d}}}{\partial \boldsymbol{d}}, \qquad \frac{\partial S}{\partial \boldsymbol{s}_{i}}=\frac{\partial S}{\partial S_{i}}\frac{\partial S_{i}}{\partial \boldsymbol{s}_{i}} , $$
(31)

where \(\partial \tilde {\boldsymbol {d}} / \partial \boldsymbol {d}\) is given by (29). The \(\partial S_{i} / \partial \tilde {\boldsymbol {d}}\) terms arise due to part shifting introduced in Section 2.4 and defined by (14) and (15), whose derivative is readily found by differentiation. Finally the term S i /s i also follows directly from (14).

3.3 Continuation strategy

The optimization problem defined in (17) is a large-scale, nonlinear, nonconvex problem, solved by gradient-based optimization. In such a setting, the end result depends on the starting point. In order to obtain good quality local optima, it is customary in topology optimization to use continuation approaches, where problem parameters are suitably varied during optimization. Typical examples are penalization continuation or beta-continuation for Heaviside projection (Bendsøe and Sigmund 1999; Guest et al. 2004; Li and Khandelwal 2015). In these cases, continuation serves to reduce nonlinearity and nonconvexity in the earlier stages of the optimization process, while still achieving the full effect of the penalization or Heaviside measures toward the end.

In the problem considered here, the best part orientation is identified from the amount of support material that is required. To create a fair and equal basis for comparison, in the initial phase of the optimization we aim to reach a situation where the part design already resembles its final optimal form, and where all orientations start out with well-developed support structures supporting this design. We do so by initially using a relatively small value for support cost weight w S and taking a slightly negative value for P s , which means that (18) becomes a measure between an average and a very approximate maximum, instead of a minimum. As a result, the optimization process will promote the reduction of support material usage in all orientations, with emphasis on the orientation that requires most support. This ensures that in all orientations a reasonable support structure is developed.

Once this phase has stabilized, with more precise criteria defined below, the next phase concerns identification of those orientations that have the lowest need for support material. In a continuation approach, w S and P s are increased. As P s becomes positive, (18) increasingly emphasizes the smallest S i of the considered orientations. This triggers the optimization process also to focus on the associated ith orientation, to drive down the support costs further. The part design will be gradually adjusted in a way that is favorable for this orientation, with corresponding changes in its support layout. The support layouts in other orientations also evolve accordingly, but as long as these do not approach minimal cost they play a lesser role in the objective.

By monitoring the support costs S i of all orientations, at certain points in the optimization process it becomes clear that some orientations have become so uncompetitive that the optimizer is no longer improving them. To save computation costs, when this situation is observed the corresponding orientation is removed from the active set. This pruning process continues until at a point only one orientation is left. With this orientation, the optimization is completed.

The general idea outlined above can be implemented in countless ways. In this paper, we opt for a continuation scheme where Phase 1 (finding a non-biasing starting design) consists of one stage, and Phase 2 (pruning and optimization) consists of four subsequent stages. In every stage, part design and support structure layout are optimized simultaneously. The specific case presented here should not be regarded as the best possible version, and no finetuning was performed to make it optimally efficient. Still, it performed well on all numerical examples considered in Section 4, and was found adequate for testing the proposed problem formulation.

Table 1 Parameters used in the continuation scheme applied in this work. Parameter p0 is used in the definition of exponent \(Q\,=\,P\,+\,\log (2N_{D}\,-\,1)/\log (p_{0})\) of the AM filter

The parameters involved in the continuation scheme and their values in the different stages are listed in Table 1. The rationale behind the choices is as follows: starting with low penalization p decreases nonconvexity and increases the chance of finding high-quality topologies. In later stages, to promote black-white solutions, penalization is increased. The second parameter listed in Table 1, p0, affects the AM filter. Initially a setting that tolerates intermediate density supporting structures is used, in order not to restrict the design evolution too aggressively at the start. Gradually this is changed to a setting that limits lower-density supports, to obtain manufacturable, dense results.

Parameters P s and \(w_{S}^{\text {fac}}\) control the focus of the optimization problem. As described above, by changing P s from negative to positive, the optimization shifts from Phase 1 to Phase 2. The focus shifts from minimizing the maximum (or average) support costs of all orientations, to the minimum support cost. Parameter \(w_{S}^{\text {fac}}\) is a factor used to set the importance of the support cost term S relative to the mechanical objective C. At the start of each stage, weight factor w S in (17) is set to \(w_{S}^{\text {fac}}\cdot {}\hat {C}\), with \(\hat {C}\) being the initial compliance value after stage transition. Parameter \(w_{S}^{\text {fac}}\) increases as the optimization progresses, as seen in Table 1. Consequently, initially support costs only play a minor role, and the part topology is allowed to develop relatively freely. In the later stages, the importance of support costs relative to the compliance objective is increased, to promote designs with minimal support structures. It is beyond the scope of this paper to define an appropriate value for the support cost, which depends on many factors. The focus of this study is on the fundamental question how, given a certain cost model, optimal trade-off solutions can be found including build orientation.

For the approach to handle a wide variety of problems, stage transitions are not preprogrammed at fixed iterations, but adaptively controlled by events occurring in the optimization process. The main trigger is stabilization of objective and volume constraint values, which is quantified by the ratio of standard deviation over the mean (coefficient of variation) of 4 subsequent iterations. For the transition to Stage 2.1, stability threshold values of 0.04 are applied to objective, volume constraint and each S i evolution, to identify a situation where the designs in all orientations have sufficiently stabilized. At this transition, MMA is also reinitialized, since the sign change in P s significantly changes the objective and built-up asymptote values can become invalid. For all other transitions, the objective threshold is set to 0.004 while the S i terms are no longer included, and no optimizer reinitialization is applied.

Pruning of inferior orientations is activated from Stage 2.1, and is triggered by support costs S i that are over twice the average value, and that have been increasing monotonically for at least 8 iterations. Support design variables belonging to pruned orientations are excluded from subsequent sensitivity calculations and optimizer calls, which helps to accelerate the process. In addition, next to the adaptive pruning described above, the set of considered orientations is reduced at stage transitions to a target fraction ηN, based on S i value, with η given in Table 1. Upon transition to Stage 2.4, in case multiple orientations remain, only the one with the lowest S i value is kept for the final optimization steps. In each stage, a minimum of 25 iterations are performed before stage transition is allowed.

The optimization process is terminated when a total of 400 iterations is reached, or when a feasible result is found with a stability level of 10− 5. As FOU only involves support optimization, a maximum of 150 iterations is used there. To allow the process to reach and complete the final stage before the maximum number of iterations is used, each stage is also assigned an ultimate iteration count at which a transition is enforced. This is defined as a fraction of the maximum number of iterations, given by γ in Table 1.

4 Numerical examples

This section presents the results of numerical tests, that illustrate the performance of the proposed approach in several 2D plane stress example problems. We choose to use structured FE meshes of square 4-node bilinear quadrilateral elements for simplicity and computational efficiency. In all optimizations, MMA is applied with default settings, apart from a reduced initial move limit of 0.1. All density fields are initialized at the allowed volume fraction.

Linear elastic material is considered, with Young’s moduli defined in (22) set to Esolid = 1 and Emin = 10− 9, and Poisson’s ratio ν = 0.3. To prevent checkerboarding, a density filter (Bruns and Tortorelli 2001) is applied to the design and support density fields produced by the MMA optimizer. The filter radii are fixed at 1.5h and 1.2h, respectively, with h being the element size. Sensitivities are adjusted for the density filter in a consistent manner, for details see e.g. Bruns and Tortorelli (2001). Note that without imposing a length scale, optimal support solutions will be strongly mesh-dependent and tend to infinitesimally fine support structures, as observed in e.g. Guo et al. (2017) and Van de Ven et al. (2018). Baseplace spacing Δ is set to 5h, and unless stated otherwise the critical overhang angle is 45°. In all cases the same continuation scheme is used, as introduced in Section 3.3.

One aim of the considered numerical tests is to evaluate the capability of the proposed combined optimization approach to generate valid solutions. A second aim is to assess the quality of the obtained solutions: ideally, the globally optimal build orientation should be found together with the globally optimal support and part layout. However, given the high-dimensional and nonconvex nature of topology optimization problems, compounded by the addition of nonlinear filtering, it is not realistic to expect globally optimal solutions. As an alternative way to assess the relative performance of the combined approach, the obtained result is compared with two reference solutions:

  1. I.

    A reference part layout obtained by unrestricted TO, with subsequently optimized support layout generated for a single, fixed orientation. In this case, the support volume is minimized under the constraint that everywhere the density of the printed part is at least equal to that of the original reference design.

  2. II.

    A fixed-orientation part and support layout obtained by AM-restricted TO using the AM filter. This involves solving the combined problem defined in (17), for a single preset orientation.

These reference cases will be referred to as fixed-orientation unrestricted TO [FOU] and fixed-orientation AM-TO [FOAM]. The proposed combined approach is denoted by multi-orientation AM-TO [MOAM]. Performing the FOU and FOAM cases for many orientations can be seen as exhaustive searches in the part orientation variable, which form a pragmatic but expensive alternative way to solve the considered problem.

In the following subsections, the FOU and FOAM cases will be compared to the MOAM results. This is first discussed for an introductory four-orientation problem, followed by a variety of cases involving 72 unique orientations.

4.1 Initial four-orientation cantilever problem

The first set of test problems involve a short cantilever design case (Fig. 7). To illustrate the method, first only four distinct part orientations are considered, with ϕ ∈{30°,120°,210°,300°}. A mesh of 100 × 50 elements is used. We start the discussion with the reference case results. Figure 8 shows the fixed-orientation unrestricted (FOU) designs, with optimized support layouts in the various orientations. In all displayed results, the baseplate is always in its natural position at the bottom of the domain, and the printing direction is vertically upward. As the cantilever has first been optimized without any manufacturing considerations, a considerable amount of support material is needed in each case to ensure printability of overhanging sections.

Fig. 7
figure 7

Cantilever beam test problem used in the numerical examples. F is a unit load, and the domains are meshed with n X × n Y square elements with edge length 1

Fig. 8
figure 8

Fixed-orientation unrestricted (FOU) TO results for 4 different orientations, in their embedding domain. The baseplate is located at the bottom, support material is shown in green

Designs for the second reference case, i.e. the fixed-orientation AM-restricted (FOAM) results, are shown in Fig. 9. By including the overhang restriction in the TO process, and seeking a sensible trade-off between compliance and support volume defined in (17), designs are obtained that require far less support material compared to the FOU case. The layers of support material present near the baseplate of Fig. 9c result from the part shifting described in Section 2.4: the support cost factor at these layers is zero, therefore they are not removed by the optimizer. Visually comparing the FOAM results, it appears that in the 30° and 210° cases the component layout is more strongly affected by the AM restrictions than in the other orientations. In addition, the amount of support material is the largest in these two cases. The 300° case, shown in Fig. 9d, has the least support material and visually seems the best design. This impression is confirmed by the objective values (i.e. combined compliance and support costs, following (17)) of the various cases, shown in Fig. 10. Indeed the 300) orientation is the best of the considered orientations. All FOAM cases outperform the FOU designs, due to the excessive amount of support material needed in the latter.

Fig. 9
figure 9

Fixed-orientation AM-restricted (FOAM) TO results for 4 different orientations, in their embedding domain

Fig. 10
figure 10

Normalized objective values of the FOU, FOAM and MAOM cases, for a four-orientation cantilever problem

The combined, multi-orientation case (MOAM) is also shown in Fig. 10 with a circular marker. For comparison purposes, objective values in this paper are all normalized with respect to the corresponding MOAM case. Out of the four orientations, the combined optimization process has selected the optimal 300° orientation and achieved an objective value that is only 4% above the performance of the single-orientation FOAM design.

Insight in the MOAM optimization process is given by Fig. 11, which shows the evolution of the support costs S i of the 4 considered orientations. The different stages are denoted by dashed vertical lines. The transition of Stage 1 to 2 is triggered at iteration 27, and results in a spike as the support cost calculation is modified by the continuation scheme. The other stage transitions are more gradual, apart from the fact that underperforming orientations are gradually dropped from the orientation set. Upon entering the final stage (2.4, iteration 279) the focus of the optimization is solely on the 300° case. The obtained topology is depicted in Fig. 12. It differs from the FOAM design in Fig. 9d, which is not unexpected since we are comparing results of different nonconvex optimization processes. However, the fact that a single combined optimization resulted in the same optimal orientation and comparable performance as found by an exhaustive search over the considered orientations is seen as an encouraging result.

Fig. 11
figure 11

Support costs S i versus iterations of multi-orientation AM-restricted (MOAM) TO, based on 4 orientations. Vertical dashed lines indicate stage transitions. A vertical log scale is used to clearly separate the curves, this also visually exaggerates minor fluctuations

Fig. 12
figure 12

Multi-orientation AM-restricted (MOAM) TO result, based on 4 different orientations. Part layout, support layout (in green) and orientation have been optimized simultaneously

4.2 Full 72-orientation cantilever problems

4.2.1 Performance comparison

Next we increase the orientation resolution from 90° to 5°. This results in 72 unique orientations, which are again separately optimized for each of the FOU and FOAM cases, and combined in a single optimization for the MOAM case. Note that the MOAM optimization problem now will involve a single part density field, as well as 72 support density fields. The available space prohibits presenting all 145 individual designs, therefore Fig. 13 presents the best FOAM result over all orientations, together with the MOAM design. We find that different optimal orientations are selected: MOAM finds 295°, while of all 72 FOAM results, the one for 265° was the best.

Fig. 13
figure 13

a Best fixed orientation AM-restricted (FOAM) TO result, based on 72 orientations. b Multi-orientation AM-restricted (MOAM) TO result, based on the same 72 orientations

Figure 14 depicts the normalized objectives of FOU, FOAM and MOAM cases as function of orientation. Again the FOU results are not competitive, due to excessive support material. Examining the FOAM results, it is seen that around 90° and 270° the lowest objective values are obtained, with relatively low variation near these orientations. The MOAM result, at 295°, also falls in this range, but does not show the globally best performance. The best FOAM case performs 5% better, and in total 4 of the 72 orientations outperform the MOAM design.

Fig. 14
figure 14

Normalized objective values of the FOU, FOAM and MAOM cases, for a 72-orientation cantilever problem

Focusing on compliance alone, the MOAM design reaches a 5% higher value than the unrestricted FOU case. For other problems, even smaller differences have been observed (Langelaar 2017; Guo et al. 2017). It should be noted that the found compromise between performance and manufacturing cost is influenced by the cost factors selected by the designer. Depending on the case, with the right optimization approach AM restrictions do not necessarily result in significant performance reduction compared to unrestricted designs. The possibility to find the optimal orientation is however essential, as for an unfavorable orientation (e.g. here 195°) the optimized FOAM design showed more than double the compliance of the free-form design.

For another perspective on these results, a histogram of the normalized FOAM objectives is given in Fig. 15. This visualizes more clearly the relative performance of MOAM (indicated by a dashed line at f/f M O A M = 1) with respect to single-orientation optimizations. When randomly choosing an orientation to consider for part and support optimization, the expected objective value will be worse than the MOAM result, which sits to the far left of the distribution. Rather than only comparing against the absolute best FOAM objective, results of all subsequent cases will be presented in this histogram form, to give an indication of the effectiveness of combined optimization.

Fig. 15
figure 15

Histogram of normalized objective values of 72 cantilever FOAM cases (lower is better), with the dashed line indicating the MOAM objective

Another aspect of interest is the relative computational cost of the combined MOAM optimization versus the alternative: an exhaustive search in the orientation variable using the FOAM approach. For this example, the MOAM optimization required 2.4% of the time needed for all 72 FOAM optimizations. This means that at a computational cost of less than two ‘normal’ optimizations, the build orientation can be included in the optimization process up to an accuracy of ± 2.5°. While the number of iterations of FOAM shows some variation, on average the number of iterations used by FOAM and MOAM was similar, as illustrated in Fig. 16.

Fig. 16
figure 16

Optimization iterations for the various FOU, FOAM and MOAM cases, for a 72-orientation cantilever problem. Note that limits of 400 respectively 150 iterations were applied

4.2.2 Cantilever with 55° overhang angle

As a variation on the previous problem, we consider a different critical overhang angle of 55° (defined with respect to the build direction). In comparison to the 45° setting, this gives a more relaxed overhang restriction, as could potentially be expected in future implementations of SLM technology. The different angle is simply implemented by using a different aspect ratio for the cells in the AM grid. The best FOAM design obtained over 72 orientations is shown in Fig. 17, together with the MOAM result. In both cases, 270° is found as the best orientation.

Fig. 17
figure 17

a Best fixed orientation AM-restricted (FOAM) TO result, based on 72 orientations. b Multi-orientation AM-restricted (MOAM) TO result, based on the same 72 orientations

Figure 18 shows the relative objective values of all studied cases. The MOAM design, next to reaching the same orientation as the best FOAM result, also closely approximates its performance: the difference is only 0.4%. The histogram in Fig. 19 gives a better view of the relative performance of MOAM and FOAM designs, and shows that the combined optimization outperforms nearly all single-orientation results. For this example, the MOAM runtime amounted to 1.7% of all FOAM cases.

Fig. 18
figure 18

Normalized objective values of the FOU, FOAM and MAOM cases, for a 72-orientation cantilever problem

Fig. 19
figure 19

Histogram of normalized objective values of 72 cantilever FOAM cases (lower is better), with the dashed line indicating the MOAM objective

4.2.3 Cantilever at higher resolution

Using again the default 45° critical overhang angle, a test was performed using a finer 200 × 100 mesh. The purpose of this study is not to test mesh (in)dependence, but simply to evaluate the effectiveness of the combined optimization approach in a different setting. Figure 20 shows the obtained MOAM and best FOAM designs. As filter radii have been kept constant relative to element size, finer details appear in the solutions. Again MOAM finds the same optimal orientation as the exhaustive FOAM study. The best FOAM objective is 1.4% better than the MOAM result.

Fig. 20
figure 20

a Best fixed orientation AM-restricted (FOAM) TO result, based on 72 orientations. b Multi-orientation AM-restricted (MOAM) TO result, based on the same 72 orientations

The distribution of objective values over the considered orientations is shown in Fig. 21, and the objective histogram (FOAM vs. MOAM) in Fig. 22. Because of the increased resolution, comparatively less support material is needed to properly support overhanging structures. As a result, the FOU designs are more competitive compared to FOAM and MOAM, as less support material is needed to render them printable in various orientations. Figure 21 also reveals that certain obtained FOAM designs are local optima, e.g. at 355°, since these theoretically should always be able to at least replicate the performance of the corresponding FOU case.

Fig. 21
figure 21

Normalized objective values of the FOU, FOAM and MAOM cases, for a 72-orientation cantilever problem

Fig. 22
figure 22

Histogram of normalized objective values of 72 cantilever FOAM cases (lower is better), with the dashed line indicating the MOAM objective

A comparison of computational cost gives a similar result as for the previous cases: the MOAM optimization was completed in 1.9% of the runtime of the 72 FOAM optimizations combined. The fact that the MOAM problem initially has 47 times more design variables than the average FOAM problem (problem sizes are orientation-dependent, as the support fields differ in size) does not appear to affect the total runtime significantly.

4.3 Problem and domain variations

To study whether the performance observed in the preceding section is characteristic for the combined multi-orientation approach or incidental, this section presents additional variations in problem definition and domain aspect ratio. The latter may seem a rather trivial problem variation, but for the orientations of structural members and the associated printability, the domain aspect ratio can have a significant influence. In this way, with a simple parameter change, a wide variety of cases can be explored. The two additional problems that have been studied, next to the cantilever, are shown in Fig. 23. One case is loosely inspired on the ‘Michell arch’ problem, which has been modified with the intent to create inclined sides in the optimized geometry. These sides are expected to interact in complex ways with the overhang restriction, resulting in a nontrivial test for the MOAM algorithm. Next to this modified arch case, we also tested a case referred to as a two-load bracket (Fig. 23b), which has been conceived with the same aim: forming a challenging case for the MOAM algorithm.

Fig. 23
figure 23

Additional 2D test problems used in the numerical examples. F is a unit load, and the domains are meshed with n X × n Y square elements with edge length 1

The domain variations are combinations of various mesh sizes in X- and Y-direction: n X ∈{90,120,150} and n Y ∈{80,100,120}. Considering all combinations results in 9 different meshes. All cases have been run with the same parameter and optimization settings as used in the previous section. In total, 3 × 9 × 145 = 3915 optimizations have been performed, with the aim of obtaining an impression of MOAM performance based on a reasonably broad test set.

The results of all these studies are presented in condensed form, showing the objective histogram, the best FOAM design and its orientation, and the best MOAM design and orientation. FOU results were dominated in all cases and are therefore omitted. Results for the cantilever, arch and bracket cases are depicted in Figs. 2425 and 26, respectively.

An examination of these results reveals the following points:

  1. 1.

    In the vast majority of cases, MOAM combined optimization performance is highly competitive with the best FOAM (i.e. exhaustive orientation search) results.

    • For the cantilever (Fig. 24) only the coarsest mesh result shows a larger margin of 7.5%.

    • For the modified arch case (Fig. 25), the exceptions are found at 150 × 80 (11%) and 150 × 120 (8.5%).

    • For the bracket (Fig. 26), excellent performance is found for all MOAM cases. Note that for this problem, the possibility to shift the part toward the baseplate is frequently exploited by the optimization process. This can be recognized by the superfluous zero-cost support material near the base.

  2. 2.

    Quite different optimal orientations are found in several cases, with similar performance (e.g. the 90 × 120 and 120 × 120 cantilevers, and the 120 × 100 and 90 × 120 brackets,). Apparently multiple local optima exist for these problems that are close in performance, yet quite different in orientation and topology.

  3. 3.

    The optimal orientation for the modified arch case is relatively insensitive to domain aspect ratio. While as expected the relative angles of the outer boundaries vary with the domain aspect ratio, this does not affect the optimal orientation, which in nearly all cases is found to be 270°. At 120 × 80, Fig. 25 shows an interesting result: the best FOAM design is found at 115° and shows worse performance than the MOAM result. Clearly here the FOAM has found an inferior local optimum. Note again that the support layers present at the base are a result of part shifting, and do not contribute to the support cost.

  4. 4.

    Broadly speaking, the overall objective variation over all orientations seen in the histograms falls within 20-40%, disregarding outliers. This value is linked to the orientation-dependence of the specific problems, as well as the chosen cost factor and volume fraction, thus problems with higher variation may exist. Note that the FOU designs (obtained by the conventional ‘optimize first, AM considerations second’ approach) typically show larger performance deficits, but these are not included in the histograms.

Not listed in the figures are the relative computation times. In line with the ratios reported in the previous section, MOAM results were obtained at, on average, 1.6% of the cost of the combined FOAM results, i.e. at the cost of less than 2 single-orientation optimizations.

Fig. 24
figure 24

Cantilever beam results on an array of domain sizes, with 72 orientations considered in each case. The vertical dashed line indicates MOAM design performance in the f/fMOAM-histograms. Best FOAM designs are also shown

Fig. 25
figure 25

Modified arch results on an array of domain sizes, with 72 orientations considered in each case. The vertical dashed line indicates MOAM design performance in the f/fMOAM-histograms. Best FOAM designs are also shown

Fig. 26
figure 26

Two-load bracket results on an array of domain sizes, with 72 orientations considered in each case. The vertical dashed line indicates MOAM design performance in the f/fMOAM-histograms. Best FOAM designs are also shown

5 Discussion

The results of the performed numerical tests indicate that the combined optimization of part, support and orientation is not only feasible, but quite effective and capable of finding designs that in most cases compete with the best designs obtained through single-orientation optimization. While some variation is present, this is not beyond what can be expected in the considered high-dimensional, nonconvex optimization setting. All optimizations in this work have been carried out with the same generic optimizer and continuation settings. These have not been tailored for convergence speed and leave room for improvement.

The possibility of converging to inferior local optima always exists for the considered nonconvex problems, and has been observed in some of the discussed results. The fact that the objective comparisons involve a single instance of the combined MOAM approach, versus 72 instances of FOAM, puts the MOAM at a significantly higher risk of incidentally showing worse performance by hitting an inferior local optimum. Despite this, it reaches competitive objective values in the vast majority of cases. Next to controlling the orientation, the optimizer is also able to exploit the possibility of part shifting, as is seen in several of the numerical examples.

The focus of this study has been on the question how to incorporate the part orientation into the TO process. To explore this question, the study has been restricted to two-dimensional examples for convenience. The approach can be extended to three dimensions without fundamental changes using the same AM filter approach (Langelaar 2016b), apart from the fact that a second orientation angle must be introduced. This will further increase the dimension of the combined optimization problem, and the implications of this for the achievable angle resolution and runtime will be studied in future research.

Furthermore, in practice the set of allowable orientations is limited by e.g. needs for post-machining access, surface quality, stacking considerations in the build chamber, etc. While the studied examples all featured a full range of orientations (0°…360°), any desired subset of orientations can also be used in exactly the same manner. Because all orientations are considered simultaneously, discrete and disjoint sets of angles can be handled naturally by the proposed method.

Other aspects that deserve attention, but which are beyond the scope of this study, are:

  • Many of the optimized configurations feature parts that are connected to the baseplate by only a small strut of support material, that takes care of the imposed baseplate spacing. While optimal in terms of support material usage, such configurations are not acceptable regarding stability. Moreover, since all the heat injected into a given layer has to flow through a small connection to the base plate, from a thermal point of view this configuration is also not desirable.

    A direction to extend the present study is to include additional requirements in the optimization problem to ensure that the part is connected to the baseplate in a stable manner, and that sufficiently conductive heat paths are present to the base plate, e.g. in line with ideas presented in Ranjan et al. (2017b).

  • The proposed formulation involves various numerical parameters. Langelaar (2017) showed results to be relatively insensitive to variations of the recommended AM filter parameters. In the present paper, the same recommended parameters were applied. Values for the introduced P b , P l , P c and continuation parameters were not tuned but chosen based on experience, and more optimal settings may exist. In general, lower values were preferred where desired accuracy allowed this, to limit the increase of response nonlinearity. Given the good performance on an extensive and diverse test set, the suggested values can be recommended as baseline for other problems.

  • In the present study, no restriction has been placed on the location of support material relative to the component. While in 2D in principle every location is accessible, in a general 3D setting support material may be placed in locations where removal is impossible due to lack of tool access. It is desirable to also include this aspect in the optimization problem, either through the support cost model or via a constraint.

  • The cost model used in this study is very simple and conceptual. A more realistic cost model should also include the effect of build height (which varies with orientation), support material usage (proportional to support volume) versus cost of machining for support removal (proportional to part-support interface area), etc. The presented formulation can in principle accommodate any cost model that can be expressed as a differentiable function of the part and support densities, and part orientation.

6 Conclusion

In an additive manufacturing (AM) setting, the build orientation of a part is a determining factor in production costs, and should therefore be included in optimization procedures for AM. The method proposed in this paper simultaneously optimizes the topology of an AM-produced part, its support structure layout and its build orientation. Through the combined consideration of these three aspects in a single optimization process, the least assumptions and restrictions are imposed on the optimized design, with the aim of reaching the best performance versus computational cost.

The presented approach builds on previously proven methods to incorporate geometrical AM restrictions (overhang limitations) and support structure generation into topology optimization. These methods have been generalized to a setting where arbitrary part orientations, overhang angles and part translation can be considered. The essence of the approach is a problem formulation where all considered orientations are included simultaneously, which exploits the low computational cost of the applied AM process simulation (i.e. AM filter). This concept is combined with an adaptive continuation strategy to obtain high quality results without need for parameter tuning.

The effectiveness of the method has been tested in a two-dimensional setting, using a simplified support cost model. This setting allowed extensive numerical testing involving thousands of optimizations. The proposed combined formulation proved consistently to reach high quality solutions, at a fraction of the time that alternative, fixed-orientation approaches required to reach results of comparable quality. This encouraging result motivates the future extension of this method to three dimensions, where the additional freedom in part orientation makes it even more important to include it in the optimization.