Accessibility of support structures in topology optimization for additive manufacturing

Additive manufacturing (AM) and topology optimization (TO) have a synergetic relation, as AM can produce complex TO designs, and TO provides high‐performance parts that utilize the form freedom provided by AM. Recently, TO has been tailored more toward AM with the inclusion of the minimum allowable overhang angle as a design constraint: resulting designs can be built without any support structures. This work is an extension thereof, by allowing support structures only if they are accessible, such that they can be removed after manufacturing. This is achieved by applying a conventional overhang filter twice, combined with basic operations such as geometry inversion, union, and intersection. The result is an accessibility‐aware overhang filter that can be incorporated in TO. Compared with conventional overhang filtered designs, the accessibility filter results in increased part performance and better convergence behavior. Furthermore, a modular filter structure is presented to easily construct the accessibility filter, and its effectiveness is demonstrated on several numerical cases.

Several studies have been published that determine design rules for AM, [8][9][10][11] and implementation of these design rules into TO is an active research topic; see Reference 12 for an overview. Especially, minimizing the need for support structures received considerable attention. Three approaches have emerged: first by enforcing a minimum overhang angle on the surface of the geometry, [13][14][15][16] second by sweeping through the structure layer-by-layer to detect areas that violate the minimum overhang angle, [17][18][19][20][21] and, finally, by modeling a physical aspect of the printing process, accounting for the heating or the self-weight of each layer. 13,[22][23][24] Most of the methods mentioned above focus on completely eliminating all the supports. Consequently, the design becomes printable at the expense of its performance. However, in practice support structures might be acceptable if they are significantly beneficial for the part weight or performance. For example in high performance applications, the cost of support fabrication and removal might be irrelevant. Then, no performance shall be sacrificed to prevent support structures, unless these supports are inaccessible, that is, impossible to remove after the build. Therefore, only those regions which are inaccessible, such as internal channels and cavities, must be free of overhang. This can be enforced by the above mentioned support elimination schemes. Consequently, it is of paramount importance to be able to asses where the design is accessible.
The partial admittance of support structures in TO has been addressed in several studies. In Reference 16 support structures are assumed to be columnar, and the total support volume is constrained, while in Reference 25 the support layout is optimized simultaneously with the part, and minimized according to a cost function. The approach presented in Reference 25 is extended in Reference 26 to also optimize the support structure for machining forces required in postprinting operations. Although in these studies supports are reintroduced to improve performance, the ease of support removal is not taken into account. This could result in undesirable configurations where the admitted support cannot be removed after printing. Furthermore, in contrast to References 25 and 26, the aim of this study is not to generate an explicit support layout, but merely account for regions in which supports could be removed afterward. As such, no additional design variables are introduced for the support layout. In this study, we propose a TO methodology to enforce the minimum allowable overhang angle exclusively in regions where support structures are difficult to remove. This results in an accessibility filter for TO, which eliminates regions that both violate the minimum allowable overhang angle and are inaccessible. An integral part of the method is the use of an overhang filter. In this study the front-propagation-based overhang filter presented in References 21,27 is used, which can identify and suppress overhanging regions in an efficient manner on unstructured meshes.
Because the proposed accessibility filter is a combination of several individual filters, a framework is presented in which filters can be easily combined and reordered. This framework is then used to define the accessibility filter set, which is demonstrated on numerical examples. This article is organized as follows. In Section 2, the concept of the accessibility filter is detailed, and the filter combination framework is explained. Then, numerical examples are given in Section 3, followed by the discussion (Section 4) and conclusions (Section 5).

METHOD
After a brief introduction to TO, the accessibility filter is presented in this section. As the accessibility filter consists of a combination of other filters, we present a general framework to combine filters and calculate sensitivities, which allows for quick experimentation and adaptation. In this framework, the individual filter steps of the accessibility filter are described in detail.

Topology optimization
There are several approaches to TO, [28][29][30] and in this article we use density-based TO, 3,31 where the layout of a part is specified throughout the design domain by a pseudo-density field , which indicates for each location if it contains material ( = 1), or is void ( = 0). In order to avoid an integer programming problem, the optimization problem is relaxed by allowing intermediate densities (0 ≤ ≤ 1). During the topology optimization, the density field is optimized to provide the best performance for an objective under certain constraints. This is an iterative procedure, where in every iteration the design is evaluated and then updated based on the sensitivities. The latter are the derivatives of the objective and constraints with respect to the design variables (the density field ), and indicate the effect of a change in density value on the objective and constraint values. The optimization is usually initiated with a homogeneous density field, for example, = 0.5.
One of the most basic and well-studied optimization problems is compliance minimization subject to a volume constraint. The most common TO scheme for compliance minimization is given in Figure 1. The density field , provided by the optimization algorithm, is first processed by a density filter, which smooths the density field to prevent artifacts such as checkerboarding 32 and introduces a length scale to prevent mesh-dependence. In this study, the filtered densities * are a weighted average of the densities within a certain filter radius r around the point of interest x j 33 : * where H is the filter matrix and r the length scale that is introduced. The filtered densities * are then used to evaluate the objective and the volume constraint. The process of calculating the objective f 0 is depicted in Figure 2(A). First, the Young's modulus is evaluated in each element, which is scaled with the penalized filtered densities. The penalization is done using SIMP interpolation, in order to suppress intermediate densities in the final design. 31,34 The effective Young's moduli for material and void regions are E 0 and E min , respectively. The lower bound E min is introduced to avoid singularity of the stiffness matrix K. Then, the displacements are calculated with a finite element analysis (FEA), where f and u are the discretized force and displacement vectors resulting from the FEA, and the stiffness matrix K is a function of the Young's modulus field E. Finally the compliance is calculated. For the volume constraint f 1 , the volume fraction is calculated by dividing the volume integral of the filtered densities * by the volume limit V lim , depicted in Figure 2(B). Altogether, the minimization problem can be formulated as

Accessibility of supports
Recall that the aim of this article is to obtain a geometry using topology optimization, of which the supports that are required to print the part are accessible for ease of removal. We define this requirement as only allowing supports that are F I G U R E 2 Detailed objective and constraint evaluation for a compliance TO both (1) printable themselves, and (2) connected to the base plate. Examples of support that are accessible and inaccessible are given in Figure 3. Any location that cannot be supported by accessible supports, should be free of overhang. The first requirement is straightforward: supports must be realized through printing. The effect of requiring supports to connect to the base plate is to prevent supports from forming in internal voids, from which they cannot be removed (Figure 3(B)). Furthermore, it also prevents supports in internal channels, as the required supports cannot be built from the base plate ( Figure 3(C)). Finally, when the supports connect to the base plate, only one side of the supports connects to the part. Supports that are connected to the part on both ends are thus not allowed. This can save postprocessing cost required to polish the surfaces affected by supports. Note that internal voids are inadmissible in certain printing technologies, but for this article we do not take that into consideration as other works have addressed this topic. 35,36 In order to achieve the accessibility of supports, a filter is required that can take any geometry as input, and removes the regions that require supports that are inaccessible. Such a filter can then be inserted into the TO scheme. Before going into the details of the formulation, the concept of the accessibility filter will be explained on the 2D geometry displayed in Figure 4. If a conventional overhang filter would be applied to this structure, with oh = 45 • , both overhanging areas (shaded red) are identified as not printable and thus removed by the filter. The overhanging area on the left should indeed be removed, as it is in an internal void and therefore the supports will be inaccessible for removal. However, the overhanging area on the right can be supported with a support connected to the base plate, as indicated by the green region in Figure 4. This overhanging region is thus accessible and should not be removed. Note that in order to allow supports to connect to the base plate, as shown by the accessible supports in Figure 4, the design domain should be slightly wider than the original design space. This is achieved by placing a void nondesign space around the geometry.
The basic principle of the accessibility filter is to apply a conventional overhang filter to the union of the original geometry and those regions where accessible supports can be printed. In order to achieve this, the following steps, visualized in Figure 5, are followed, starting with the input geometry shown in Figure 5(A): 1. Obtain the region in which supports can be placed by inverting the domain, as shown in Figure 5(B). In order to differentiate between the original structure and the support region, the support region is shaded. 2. From the region in which supports can be placed, remove the regions that are not printable and/or accessible by applying a conventional overhang filter. In Figure 5(C) it can be seen that the enclosed void is indeed removed from the domain. 3. Combine the support region attained from the previous step and the original structure. The result, displayed in Figure 5(D), is the original structure, combined with all possible accessible supports. 4. Remove the regions from the original structure that cannot be supported by accessible supports by applying the conventional overhang filter once more. The result is given in Figure 5(E), showing that overhanging areas in internal voids are not printable since no accessible supports can be placed to print its overhanging top surface. 5. Finally, remove all the support material that was added in Step 3 by taking the intersection of the previous result with the original structure ( Figure 5(F)). The inaccessible overhanging area is removed, while the accessible overhanging area is retained.
The progression of the geometry given in Figure 4 as the accessibility filter is applied step-by-step F I G U R E 6 TO layout with generic filter scheme Because of the many steps required for the accessibility filter, a general framework is set up to systematically organize and implement such a chain of filter operations. This is discussed in the next section.

Filter structure
In order to construct the accessibility filter as outlined in the previous section, a scheme composed of several filters is to be inserted between the density filter and the objective and constraint evaluation, as can be seen in Figure 6. These filters might consist of simple expressions executed entrywise on a density field, similar to, for example, the SIMP penalization in Figure 2(A), or more complex operations such as a density or overhang filter. Conventionally, the filter operations would be programmed in the order they occur, and the sensitivities have to be determined for the filter scheme. This can be a tedious task if the filter scheme consists of many operations. Furthermore, inserting an additional filter to the scheme requires reprogramming and compilation of the code. As the accessibility filter scheme contains a relatively large number of filters, a more flexible approach is taken, detailed in this section.
Although each filter performs a different operation, all the filters share some properties: they all produce a density field as output, and will have a function to process the filter and a function to calculate the sensitivities. To facilitate the systematic construction of complex filter chains, it is therefore convenient to approach the filter scheme in an object-oriented manner, where every filter is derived from the same base class: Filter, depicted in Figure 7. The Filter class has several attributes: • state: a vector that contains the density field computed by the filter.
• sensitivities: a vector that for every response function contains a vector of the derivative of that response function to the output density field.
• inputs, outputs: vectors of pointers to the filters that are inputs/outputs to the current filter.
Furthermore, the Filter class has three functions: initialize(), which initializes the filter (e.g., set up the filtering matrix for a density filter), forward(), which applies the filter, and backward(), which processes the sensitivities. Filter-specific data, for example, filter radius or overhang angle, and general data such as mesh information or filter inputs and outputs, are passed to the Filter object when initialize() is called. To the other two functions, only the iteration number is passed. F I G U R E 7 Diagram of the Filter class F I G U R E 8 Example of a filter structure where an overhang filter is followed by an expression filter that interpolates between the original density field 0 and the overhang-filtered densities 1

Filter types
From the base class Filter, the following filter classes are derived:

Expression filter
The expression filter evaluates a mathematical expression containing only componentwise operations. It is the only filter that can have multiple inputs. This allows for example interpolation between several density fields, or boolean operations on the geometry. Furthermore, the expression can have a continuation variable c that takes a value based on the iteration number. An example of the expression filter is the application of SIMP penalization in Figure 2(A).

Overhang filter
The overhang filter removes regions that violate the minimum overhang angle from a design, and leaves the printable part. In this work the front propagation based implementation as presented in Reference 21 has been used.

Filter layout and initialization
The filter schemes used in this work can all be represented as a directed acyclic graph: the filter scheme has one input I 0 , one output O k per response function k, and the scheme does not contain any loops. A typical example is given in Figure 8, which takes the filtered densities 0 , applies the overhang filter, and then interpolates between 0 and the overhang filtered densities 1 , based on a continuation parameter c. The output is the density field 2 , which is passed to outputs O 0 and O 1 , which are connected to the objective and volume constraint ( Figure 6). The filter scheme can be stored in a data file (e.g., XML 37 or JSON 38 ), such that it can be read at runtime. The data file will contain a list of the filters, their inputs and outputs, and parameters such as the expression or continuation scheme for the expression filter, or the minimum overhang angle and build direction for the overhang filter. At runtime, the filters are read from the file and added to a list, filterList, and initialized. During initialization, the state and sensitivities vectors are allocated, inputs and outputs vectors set, and filter specific initializations performed.
During the evaluation of the filter scheme, every filter can only be evaluated once all its inputs have been evaluated. For example, in Figure 8, the expression filter can only be evaluated after the overhang filter. It is therefore convenient to order the filterList in topological ordering, such that for every filter in filterList, its inputs have lower indexes in filterList. The topological ordering can be achieved manually, by specifying the input file in the correct order, or by using a topological ordering algorithm such as Kahn's algorithm. 39

Evaluating the filter scheme
Since the filterList is in topological ordering, one can simply loop over the filterList and call the forward() function of each filter to evaluate the filter scheme. Each filter can access the state vectors of its inputs through the inputs vector, and perform the necessary manipulations to calculate its own state vector.

Evaluating sensitivities
In order to calculate the sensitivities of each response function k toward the input densities of the graph 0 , the chain rule of differentiation is used to systematically evaluate the sensitivities filter by filter. For a filter i, whose output density field i is input to the filters N, the sensitivity of its output density field with respect to a response function f k is defined as where f / a represents a column vector g with entries g l = f / a l , and a/ b represents a matrix A with entries A lm = a l / b m . The sensitivities are propagated through the graph by calculating the right-hand side of Equation (5) in the filters j ∈ N, and adding this contribution to df k ∕d i . Since the filterList is in topological ordering, traversing it backward, from end to beginning, will ensure that each filter j will only evaluate its contribution to its inputs when the term df k ∕d j is already calculated.

Algorithm 1. Sensitivity calculation for response k
Initialize: For filter i directly connected to O k set:

end for end for
The sensitivity evaluation is initiated at the filters connected to the outputs O k , and then propagated backward through the filter scheme, as described by Algorithm 1. For the scheme displayed in Figure 8, this would result in the following sensitivities The sensitivities df k ∕d O k are obtained using adjoint sensitivity analysis for compliance minimization for the objective f 0 , and standard differentiation of the volume constraint f 1 . 3 Note that in Algorithm 1, the Jacobian matrix i ∕ j can be calculated explicitly, as is usually done for, for example, the density filter. This matrix is usually sparse, for example, for componentwise operations it is diagonal. For more complex filters, for example, the overhang filter, an adjoint approach can be used to avoid explicit calculation of the Jacobian matrix, and instead directly calculate f k ∕ i .

F I G U R E 9
The accessibility filter scheme. The first six density fields correspond to the density fields shown in Figure 5

Accessibility filter scheme
With the filter framework as defined in the previous section, the concept of the accessibility filter as presented in Section 2.2 can now be formulated in a similar manner. The full scheme is given in Figure 9. The first five filters exactly represent the five steps presented in Section 2.2, and the density fields 1 -6 resemble Figure 5(A-F) when applied to the geometry given in Figure 5(A). Numerical experience shows that convergence is improved when the accessibility filter is inactive for the first 10 iterations, and is then gradually activated over the next 10 iterations, until it is fully active. This is achieved in the last step, which is an interpolation between the original (c = 0) and the accessibility filtered geometry (c = 1), similar to Figure 8. The inversion filter ( 1 to 2 ) and the intersection filter ( 5 to 6 ) are straightforward operations on the density fields. However, the superimposing filter ( 3 to 4 ), is less trivial and will be discussed in more detail. The simplest union operation would be 4 = 3 + 1 . In theory, since 2 = 1 − 1 , and 3 ≤ 2 because the overhang filter only removes material, 3 + 1 ≤ 1. However, in practice, the overhang filter can slightly smooth the density fields, 21 and 3 + 1 can be larger than 1. There are multiple possibilities to avoid this behavior, and after testing several options the union operation is chosen as This operation is an addition of the original density field 1 , and a term smaller or equal to 1 − 1 , such that the combination cannot exceed a density of 1. The hyperbolic tangent function was used as it is bounded by 1. The parameter k scales how fast the second term of the right-hand side in Equation (7) approaches 1, and is chosen as k = 20.

RESULTS
In this section, the accessibility filter is demonstrated both in 2D and 3D, for stiffness maximization as formulated in Equation (4). The Young's modulus is chosen as E 0 = 1 Pa for material and E min = 1 × 10 −6 Pa for void, with a Poisson's ratio = 0.3, and SIMP penalization factor p = 3. For the optimization, the method of moving asymptotes (MMA) 40 is used as optimization algorithm. The optimization is terminated when the maximum change of any of the design variables in subsequent iterations is smaller than 0.01, or when a maximum of 300 iterations has been reached. The continuation scheme and parameters for the accessibility filter are identical for all the presented cases, no case specific tuning has been applied.

2D case: Cantilever
In 2D, the accessibility filter is demonstrated on a 2:1 aspect ratio cantilever beam case. For this purpose, a rectangular design domain is mechanically clamped on the left side, with a vertical point force acting on the right, as displayed in Figure 10. A 50% volume constraint is applied. The domain is discretized with 60 × 30 square Q4 elements, and a density filter with a radius of 2h is applied, where h is the element edge length. For demonstration purposes, it is assumed that the out-of-plane direction in the third dimension cannot be used for printing, or support removal. The geometry is assumed to be printed in the vertical direction as indicated with the vector b in Figure 10. Unless specified otherwise, the displayed density field is the filtered density field that forms the input to the objective and volume constraint (see Figure 6). The resulting density field generated by a conventional optimization without overhang or accessibility filter is displayed in Figure 10. The required support to print the part for a minimum allowable overhang angle oh = 45 • , is indicated in blue and green. The support material required inside the three interior holes of the structure, indicated in blue, cannot be removed in a 2D setting, thus the design is not suitable for AM. The simplest method to enforce printability is to completely avoid the requirement of support material, with the addition of an overhang filter (see Figure 8 and Reference 21). The resulting design is displayed in Figure 11(A), which can be printed without supports.
Depending on the type of component, one might allow supports, as long as they are removable, if, for example, performance can be gained. In this case, the accessibility filter is applied, as is displayed in Figure 9, which only suppresses overhanging regions that are inaccessible. The resulting design is displayed in Figure 11(B). Notice that the design domain is extended by one element in width on both sides to allow support material to connect to the base plate on both sides of the structure. The extra columns of elements are nondesign regions, and the boundary conditions are now one element from the actual boundary, such that the original aspect ratio is not influenced. As can be seen, the enclosed voids that are inaccessible can be printed without the need of support material, while support is required for the outside boundaries that are partially not printable without the use of support material. The field corresponding to 3 in Figure 9, is displayed in green in Figure 11 (Figure 9), which is the printable support region. The design in (B) has a better performance because less material is sacrificed for manufacturability be printed that are directly connected to the base plate. The actual support layout will be only partially filling the green domain.
The consecutive filtering operations of the accessibility filter as illustrated in Figure 9, leading to density fields labeled as 1 -6 , are plotted in Figure 12. This figure is the numerical equivalent of the schematic picture in Figure 5. The filter is initiated with the filtered density field, and the regions of extension on both sides are nondesign regions where 1 = 0 ( Figure 12(A)). This design is inverted (Figure 12(B)), and overhanging regions are removed (Figure 12(C)). The resulting field 3 (cf. the green regions in Figure 11(B)) indicates the printable support region. It is then combined with the original design 1 (Figure 12(D)), and the overhanging regions of 4 are removed (Figure 12(E)). Finally, by removing the printable support region 3 , the accessibility filtered design 6 is obtained (Figure 12(F)).
From the printable support field 3 in Figure 11(B), it can be seen that supports are required that are at the limit of the overhang angle. One can, for example, enforce columnar support by changing the minimum overhang angle used in the overhang filter in Step 2 of the accessibility filter (Section 2.2), referred to as sup , to sup = 90 • . The resulting design is displayed in Figure 13. Now, also part of the outer boundary is constrained by the overhang filter, and the design is a hybrid between Figure 11(A and B), which is also reflected in the performance, discussed next.

Convergence
The convergence behavior of the presented 2D cantilever beam optimizations are shown in Figure 14. The overhang and accessibility filters are gradually introduced by a continuation scheme, which linearly ramps up the continuation parameter c (Figure 9) from 0 to 1 between iteration 10 and 20. Therefore, the convergence in the first 10 iterations is identical for all cases. As expected, the conventional optimization without overhang or accessibility filter has the lowest objective (maximum stiffness), at f = 74.2 N m. The overhang filtered optimization, which is the most constrained, has the highest objective at f = 87.6 N m. Since the accessibility filter allows for more overhang, the objective is between the conventional and overhang filtered designs at f = 78.3 N m for sup = 45 • , and f = 81.8 N m for sup = 90 • . Furthermore,

F I G U R E 12
Numerical results of the progression of the geometry shown in Figure 11(B) through the accessibility filter F I G U R E 13 Cantilever case result with accessibility filter enforcing vertical supports. The green field indicates 3 from the accessibility filter (Figure 9), which is the printable support region. Objective f = 81.8 N m it can be seen that the less constrained optimizations, next to obtaining a lower objective, also converge slightly faster for this 2D example studied.

2D case: Crane hook
Finally, the accessibility filter is demonstrated on a more practical case shown in Figure 15. For this case, a crane hook design is optimized for stiffness and subject to a 25% volume constraint. To show the flexibility of the method the critical overhang angle is chosen as oh = 30 • instead of 45 • . The domain is mechanically fixed at the top, and a vertical load is applied where the hook is normally loaded (Figure 15(A)). Furthermore, the domain is discretized with unstructured triangular elements. The optimized design without overhang constraint or accessibility filter is shown in Figure 15(B). It can be seen that there is a considerable distance between the hook and the bottom plane. With a conventional overhang filter, the crane structure will connect to the bottom plane to enforce an overhang-free design. The location of the bottom plane is however arbitrary, and should have no influence on the final design. As shown in Figure 15(C), the optimized design with accessibility filter does not need to connect to the bottom plane while still enforcing the overhang constraint inside the cavities to ensure printability. Consequently, the accessibility filtered design has only a 3.0% higher objective compared with the conventional optimized design, while being printable.

Accessibility filter in 3D
As there is no direct dimension dependency in the accessibility filter, the same filter scheme used in 2D can be directly applied to 3D, provided that a 3D overhang filter is used. Fortunately, many of the published overhang filters have F I G U R E 14 Convergence plots for the cantilever case. The accessibility and overhang filters are gradually introduced by continuation from iteration 10 to 20, which causes the increase in objective in that interval

F I G U R E 15
The crane hook case. The unstructured mesh and boundary conditions are shown in (A). The shaded red boundary is fixed, while a vertical load is applied at the blue arrows. The conventional optimized design is shown in (B), while the design with accessibility filter is displayed in (C). In (C), the overhang filter is only active in the internal cavities, while the bottom of the crane hook is completely overhanging as it can be supported by easily removable supports provided a 3D implementation. 18,19,27 For the 3D results, the front propagation based filter presented in Reference 27 is utilized. The 3D results presented in this section are obtained with an optimization code based on the portable, extensible toolkit for scientific computing (PETSc). [41][42][43] The domains are discretized using Gmsh, 44 and visualized with ParaView. 45 The displayed geometries are isosurfaces of the density field at = 0.5. Finally, the PETSc-based MMA implementation presented in References 46,47 has been used as optimization algorithm.
Before topology optimized results are presented, the filter operations of the accessibility filter are verified in 3D. The 3D layout illustrated in Figure 16(A) is reminiscent of the layout in Figure 4. The geometry contains two overhanging regions: one in the internal cavity, and one on the outside. After the accessibility filter is applied, the overhang filter removes the overhang in the internal cavity, as can be seen Figure 16(G). Therefore, the remaining structure is manufacturable, as supports can be removed on the outside, but not in the internal cavity.

3D case: Torsion box
In order to demonstrate the full potential of the accessibility filter, it is applied to a case where the optimal design contains overhanging regions on its outer surface, and in an internal cavity. Closed shell structures, resulting in internal cavities, are often optimal under torsion. 48 Consequently, the test case is defined as shown in Figure 17. A torsional load is applied on a rectangular patch as displayed, and the domain is mechanically fixed on a similar patch at the opposite side. The torsional load is applied by applying a distributed load of 1 N/m on the outer perimeter of the rectangular patch, oriented such that a moment normal to the patch is generated. In order to force overhanging regions on the outer surface, the loading and clamping are placed well above the base plate (i.e., the bottom xy-plane). Furthermore, the volume is constrained at 30% of the design domain. The domain is discretized with an unstructured mesh, containing roughly 7 ⋅ 10 6 tetrahedral elements and 1 ⋅ 10 6 nodes. Finally, the density filter that is applied before the accessibility The resulting design for a conventional stiffness optimization, that is, without accessibility or overhang filtering, is displayed in Figure 18. The interior is displayed in Figure 18(B), where the domain is cut along the y = 0.25 plane, and the x = 0.5 plane (Figure 18(C)). As expected, as there is enough material available, a closed shell structured is formed to carry the torsional load. Material is placed as far from the centerline of the load as possible, creating an internal cavity. Supports inside the cavity are thus required in order to additively manufacture the component. However, these supports will be impossible to remove after the build.
Instead, when an overhang filer is included to suppress overhang inside the cavity, the result displayed in Figure 19(A and B) is obtained. As can be seen in the cross-section in Figure 19(B), there is an internal structure in the cavity with permitted degree of overhang, therefore the cavity can be printed without the need for supports. However, the overhang filter is also active on the outside of the structure, requiring the bottom of the component to be printable without supports. This is not realistic, as the bounds of the optimization domain do not need to correspond with the boundaries of the component. Also, certainly with metal AM, the part would not be printed on the base plate directly, but on a layer of supports. This is not well represented by applying the overhang filter on the bottom surface. Furthermore, it can be seen that there are some semidense areas left in Figure 19(B), and holes are present in the top of the structure (Figure 19(A)). Because of the overhang filter, the complete geometry pivots on the bottom supports. If the density in one of the bottom nodes is slightly altered, the complete structure can become overhanging and removed by the overhang filter. This large nonlinearity makes it difficult for the optimization to converge, and causes the semidense regions.
With the accessibility filter applied, a result closer to that of the conventional stiffness optimization is obtained, as can be seen in Figure 19(C and D). The supports that are required to manufacture the bottom of the structure are accessible, and therefore the overhang filter is suppressed. Inside the cavity, the overhang filter is active and a self-supporting internal structure is generated to support the top. Similar to the 2D case, the printable support region is displayed in green in Figure 20. It represents possible locations for support material, in order to support the bottom of the structure.

F I G U R E 20
The printable support field ( 3 from the accessibility filter in Figure 9) indicated in green, with the final geometry in gray

Torsion box with forced hole
It remains to demonstrate the flexibility of the filter structure presented in Section 2.3 to adjust the accessibility filter for more challenging cases. For this purpose, the torsion case discussed above is slightly altered. The same domain and boundary conditions are used, but for demonstration purposes a cylindrical nondesign region parallel to the z-axis with a diameter of 0.05 m is introduced, as displayed in Figure 21. Consequently, a small hole in the bottom of the design emerges, through which supports stemming from the base-plate can reach the cavity. Therefore, the design obtained with the accessibility filter as displayed in Figure 21 is similar to a conventional optimization as shown in Figure 18. The support region required to manufacture the design is displayed in green in Figure 22(A). Although the supports are accessible in the sense that they are connected to the base plate, they still are difficult to remove. To prevent this, the amount of supports inside the cavity can be reduced by increasing the overhang angle for the supports, sup , as was done in the 2D case in Figure 13. However, this would still leave some supports inside the cylindrical nondesign region that are difficult to remove. Instead, we alter the filter to prevent supports from going through small holes. This is achieved by introducing an additional density filter before Step 2 in the accessibility filter, as shown in Figure 23. With the filter structure as presented in Section 2.3 in place, only the input file has to be changed, and the sensitivity calculation is automatically adjusted to the new scheme. The additional density filter smooths the original structure, and closes small holes, up to the filter radius. Note that also a dilate or close filter 49 could have been used, but as the linear density filter already proves effective it is preferred here. A filter radius of r = 0.07 m was used, and the result is displayed in Figure 22(B). This results resembles the structure of the original accessibility filter in Figure 19(C and D), except with a hole in the bottom. A structure inside the cavity supports the top side, and no supports are required that are difficult to remove.

F I G U R E 22
With the conventional accessibility filter, supports can access cavities through small holes (A). By including an additional density filter, this can be prevented (B)

F I G U R E 23
The modified accessibility filter with additional density filter as indicated by the red block. The remainder of the filter is similar to Figure 9

Convergence
The convergence behavior for the different optimizations of the torsion box case is plotted in Figure 24. Similar to the 2D case, the optimizations that include an overhang filter or accessibility filter show an increase in objective from iteration 10 to 20, as the filters are gradually activated with continuation. The exception is the accessibility filter with forced hole (Figure 21), which does not show an increase in objective. Because of the forced hole, the geometry is completely supported, and therefore activating the accessibility filter has no noticeable effect. Furthermore, it can be seen that the optimization with overhang filter has difficulties to converge due to the high degree of nonlinearity as discussed. This might be prevented by choosing a different optimization algorithm such as globally convergent MMA, 50 which adjusts the step size according to the degree of nonlinearity.
The final objective values of the conventional, overhang filtered, and accessibility filtered optimization are 22.9, 30.1, and 23.2 N m, respectively. This is in accordance to the amount of material in the final design that has to be used to make the structure printable, instead of improving the performance. That is none for the conventional case, the most for the overhang filtered case, and a small amount for the accessibility filtered case. The same holds for the optimizations with F I G U R E 24 Convergence plots for the torsion box case for the conventional, overhang filter (OH), accessibility filter (AF), accessibility filter with force hole (AF + hole), and the modified accessibility filter with forced hole (MAF + hole) forced hole, which reach a final objective of 22.4 and 22.9 N m for the accessibility filter and modified accessibility filter, respectively.
Surprisingly, the accessibility filter with hole has a somewhat lower objective than the conventional optimization. A contribution to the lower objective can be the fact that the two overhang filters present in the accessibility filter slightly modify the length scale, allowing sharper edges. 21 Consequently, there is less semidense material for the accessibility filtered case. This can lead to a lower objective as semidense material has an unfavorable stiffness-mass ratio due to the penalization. Besides, it is also possible that the conventional optimization is stuck in a local minimum with a higher objective value compared with the accessibility-filtered optimizations.

DISCUSSION
Both the 2D and the 3D results demonstrate the effectiveness of the accessibility filter in relaxing a strict minimum overhang angle constraint to a more realistic accessibility of support requirement. An overhang filter requires the structure to connect to some predefined base-plate, which can have a large impact on performance. Although slightly exaggerated in the 3D case by placing the boundary conditions well above the base plate, a significant increase of performance is achieved when switching from overhang to accessibility filter. Because the accessibility filter is composed of many individual filters, a filter structure was proposed that automates the filtering and sensitivity evaluation of any filter layout. This structure is much more widely applicable than just considering the accessibility filter case, and has already proved valuable for rapid prototyping of different filter configurations.
The numerical examples show that the relative impact on part performance of the accessibility filter is small, 6% for the 2D case and 1% for the 3D case, compared with 18% and 31% for the strict overhang filter. This is of course case specific, but the performance decrease is expected to be certainly lower than strict overhang constraints, as only inaccessible areas are affected. Furthermore, by inspecting different fields of the accessibility filter, one can get a good indication where supports are required. An optimization of the support structures inside the printable support domains identified by the accessibility filter could be complementary to the accessibility filter to generate an accurate support layout.
The accessibility of supports is currently assessed based on whether a support is connected to the base plate or not. With this definition of accessibility, it is possible to have a result with supports that are in practice difficult to remove, as shown by the last example in Figure 22(A). However, this case has specifically been fabricated to showcase this possibility. In practice, it is unlikely that a hole is created in the wall of an enclosed region, as having a closed wall is a local optimum. The optimization algorithm can only exploit this configuration after a hole is already present. Furthermore, it was shown that this behavior can be avoided with a slight modification of the accessibility filter. However, it would be interesting to improve on this by incorporating a simulation of an actual tool removing the support, for example, a type of milling constraint. This will result in a more accurate measure of accessibility.
On the other hand, there are printing process for which support removal is less of a problem, for example, by using soluble support material. For these processes, solutions such as the one shown in Figure 22(A) are acceptable. This requires a small initial hole in the shell of the enclosed void which might be triggered by including a constraint to prevent enclosed voids, 36 or possibly the filter scheme can be adopted to detect internal cavities with front propagation. These constraints can also be used when cavities have to be opened to, for example, remove powder after printing.
Finally, in this study the accessibility filter is only demonstrated on compliance minimization problems. However, there is no fundamental limitation to the applicability of the accessibility filter to any problem that can be optimized using a density-based approach such as flow optimization or stress-minimization.

CONCLUSION
In this work an accessibility filter for topology optimization is presented, and successfully demonstrated. The filter provides an optimized structure which is printable without support structures in regions where they are difficult to remove. In contrast to conventional overhang filters/constraints, which result in a structure that is printable without any support, supports are allowed if they are connected to the base plate. This resembles powder bed AM methods, where a part is never directly built onto the base plate. The accessibility filter is a composition of a number of regular filters, which is implemented in a novel modular filter structure. This arrangement makes it relatively easy to implement if an overhang filter is available. Future directions include to build on this idea and further refine the definition of support structures and their removability as required.