HiTop 2.0: combining topology optimisation with multiple feature size controls and human preferences

ABSTRACT Topology optimisation is a computational design approach that generates high-performing, efficient structures uniquely suited to a design engineer’s goal. However, there exist two major obstacles to the accessibility, or ease of use, of topology optimisation: expensive computational costs and users’ binary decision between personal intuition and the algorithm’s result. Human-informed topology optimisation, or HiTop, presents an alternative approach to topology optimisation when a user lacks access to a high-performance computer or knowledge of code parameters. HiTop 2.0 prompts users to interactively identify a region of interest in the preliminary design and modify the size of the solid and/or void features. The novel contribution of this paper implements multi-phase minimum and maximum solid feature size controls in HiTop 2.0, and demonstrates 2D and 3D benchmark examples, including test cases that show how the user can interactively enhance issues related to eigenvalues, stress, and energy absorption, while solving the minimum compliance problem.

Using a numeric computing program, topology optimisation users can specify a design problem by inputting the bounds of their domain, loads, boundary conditions, objective functions, and constraints, shown in Figure 1(a).The design domain is discretized into a user-specified number of finite elements.The classic formulation of topology optimisation aims to minimise compliance, subject to static equilibrium and a userspecified volume fraction [23].Using a gradient-based optimiser, the algorithm iteratively converges on an optimal design through the redistribution of material within the design domain.At each iteration, finite element analysis is conducted to evaluate the performance associated with the given distribution of material.Each iteration of a topology optimisation code thus requires a finite element analysis and sensitivity calculation, and each code usually runs hundreds to thousands of iterations, depending on the objective functions, constraints, and mesh density.More complex objective functions, constraints, and finer mesh densities, typically increase the time per iteration and the total number of iterations needed to achieve convergence.Resulting optimized designs, such as Figure 1(b), are often unique and typically highly materially efficient, satisfying the common demand for engineers to use less material while sustaining highperformance and aesthetic appeal.
There exist two major barriers to the accessibility, or ease of use, of topology optimisation in academia and industry: expensive computational costs and the binary decision users must make as to whether to accept the design or not.First, topology optimisation can be computationally expensive since the finite element mesh density scales directly with the computational cost of the algorithm.For advanced algorithms that target specific dynamic or nonlinear objective functions such as buckling load, the computational costs further increase.Therefore, access to and familiarity with highperformance computers are critical to running these algorithmsan asset that novice users or some users in industry lack.Second, topology optimisation places users in a retroactive judgement state where they are presented with two options: use or do not use the outputted design.For new users or those with real-world engineering experience, concern for load variability and constructability or a general proclivity for traditional design practices, leads them to favour suboptimal, conventional designs [24] similar to Figure 2(a), rather than computationally optimized designs, such as Figure 2(b).
Human-Informed Topology Optimization, or HiTop, presents the alternative approach shown in Figure 2(c) that allows users to interactively modify regions of the optimized design [25].HiTop embeds the user's design intentions and concerns through interactive control of the feature sizes.The interactive control of the length scale grants design flexibility, allowing the user to improve other engineering performance metrics while solving the minimum compliance problem and maintaining low computational costs.HiTop does not replace an in depth dynamic, nonlinear optimisation for performance metrics such as buckling or energy absorption, but rather provides a quick, human-guided alternative to improve such metrics when computational resources are restricted.
Incorporating human intuition into topology optimisation or artificial intelligence (AI) driven generative design gained increased attention in the past year.To articulate how humans interact with computational design optimisation, Saadi et al. [26] interview engineers working in industrial design, mechanical engineering, and architecture on the role of designers during earlystage design in the age of AI.From their results, they suggest restructuring how humans and AI collaborate to design structures.Beyond the initial specification of a design problem and objective function, designers will be required to iteratively evaluate results and guide AI generated outputs towards a converged  solution that satisfies their interests [26].Smith [24] conducts a similar survey of over thirty engineers working in industry in the North-eastern United States, asking respondents to indicate their likelihood of using topology optimisation given they had prerequisite knowledge and unlimited time and budget.They find that less than half of the engineers responded they would use topology optimisation due to concerns for constructability and load variability [24].These usersurveys illustrate a general hesitation to use topology optimisation that HiTop can help mitigate.Through HiTop, design engineers can embed their design intentions and concerns for load variability or constructability, while leveraging the algorithmic, generative power of topology optimisation.

Background
HiTop is a density-based topology optimisation approach [27,28] that builds upon almost a decade of human-inthe-loop schemes that integrate engineers' preferences into generative design.This section will first discuss the original formulation and limitations of HiTop [25], and Section 3 will introduce this paper's novel extension in HiTop 2.0 that improves its flexibility and utility as an interactive design tool.Other examples of interactive design codes include Yan et al.'s [29] Bi-directional Evolutionary Structural Optimization (BESO) based algorithm that takes the user's design intentions as an input and generates parent designs that range in resemblance to the user's graphical drawing.Li et al. [30] expand this BESO-based approach by prompting the user, after the optimisation has converged, to input subjective scores or drawings that will re-run the BESO with weights that guide the optimiser towards the inputted subjective preferences.Both BESO approaches inject designer preferences after the optimisation algorithm has converged, in between generations of the evolutionary process.By contrast, HiTop prompts users to interactively modify the design mid-run, stopping pre-convergence to incorporate the user's updated feature size requirements of the minimum solid or void [25].HiTop effectively reduced stress concentrations and increased buckling load on 2D benchmark problems in roughly 5% of the time the stress and buckling topology optimisation codes require [25].However, a shortcoming of HiTop prior to HiTop 2.0 was the limitation in modifying only either minimum solid or minimum void feature sizes [25].Section 3 of this article will introduce HiTop 2.0's new capability that allows multiple modifications to the minimum solid and/or void, and prescription of maximum solid feature sizes, and/or passive regions.
Minimum feature size controls, often referred to as minimum length scale controls, and their relation to manufacturability is a well-developed, densely researched subdiscipline of topology optimisation, as the emergence of additive manufacturing necessitates control of the minimum feature size.A full review of feature size controls in density-based topology optimisation is thus beyond the scope of this paper and readers are instead referred to [31].Initially focusing on controlling the minimum feature sizes of the solid material features [32][33][34], research has in recent years expanded into enabling minimum feature size control of both solid and void features [35][36][37][38][39].It has additionally naturally extended to incorporating maximum feature size requirements [40][41][42][43][44].With control over the maximum feature size, users can generate porous, structurally redundant designs that introduce load path diversification, increase buckling load [45], and show improved fail-safe and energy absorption performance [46].Two intellectual neighbours of maximum feature size control are the optimisation of porous infill [46,47] and multiscale structures [48][49][50][51], as all methods result in structurally redundant designs with extensive applications in additive manufacturing.In this context, it is worth mentioning that similar approaches to achieve minimum and maximum length scale control also exist for topology optimisation based on the level set approach [52][53][54][55].
As evidenced by decades of research, the universal application of minimum and maximum length scale can improve the manufacturability and performance of topology-optimized designs [31].However, any addition of complexity, constraints, or nonlinearity increases compliance and further diverges the result from 'true' optimality; therefore, there is a marked benefit to the selective application and spatial variation of the feature size controls.By applying feature size requirements in selective regions of interest, researchers are finding improvements in alternative engineering metrics, along with reduced complexity and computational costs [25].Amir and Lazarov [56] implement spatial variation of the minimum void feature size requirements to minimise the maximum stress at the sharp corner of an L-bracket.Schmidt et al. [57] vary the maximum feature size of designs through graded porosity control, optimising the allocation of infill for additive manufacturing using Wu et al.'s [46] local volume constraint.Similarly, Yan et al. [58] expand their BESO-based approach by allowing users to vary a local volume constraint over the design domain.
In addition to code-based topology optimisation algorithms, many commercially available optimisation platforms, such as Fusion 360 and Abaqus, enable modification to the minimum or maximum length scale requirements to improve manufacturability.Like the workflow for established topology optimisation codes, the user initialises the optimisation with predefined minimum or maximum feature sizes.HiTop 2.0 improves upon these academic codes and commercial software in three major ways.First, HiTop 2.0 allows for easy and flexible application of feature size controls, whereas current commercial software requires extensive preparation of the design domain to be partitioned and individually selected, and codes require rigorous, unintuitive lines of code to accurately reference certain finite elements in the design domain.Second, HiTop 2.0 can modify the minimum solid and/or void, maximum solid, and/or passive regions, while the original version of HiTop, length scale topology optimisation algorithms, and commercial software typically allow one modification per design problem.Finally, by inserting the user's input mid-run, HiTop 2.0 not only allows the user to make an informed decision on the selective application of feature size controls, but also prevents performance loss due to post-processing.Working in established codes or commercial software, users must pre-emptively specify regions of interest to modify feature sizes, without knowledge of where material may be allocated in the optimized design.Or users must modify designs post-optimisation to facilitate their manufacturing process, without knowledge of how the modifications will impact performance.HiTop 2.0, on the other hand, prompts the user to specify length scale controls based on a 50-iteration output of the optimisation, saving the time users lose when improperly, blindly selecting regions of interest in other codes and software and having to rerun the problem.Additionally, HiTop 2.0 prevents the user from pushing the design further from optimality and sacrificing performance due to post-processing [31,59,60].To ease implementation, a HiTop 2.0 MATLAB code is available via GitHub.
This research introduces a novel extension from current interactive design algorithms' one-phase modification of minimum solid or void feature sizes [25,29] to increased flexibility that allows multiple modifications to any or all three feature requirements: minimum solid and void, and maximum solid.The previous version of HiTop [25] used the classic proximity-based weighting function with spatially varied minimum void or solid feature radius to enforce one modification to the design.In this paper, HiTop 2.0 abandons this approach and adopts Carstensen and Guest's [41] three-phase projection scheme, which is the most compatible for the desired control of the minimum solid and void and maximum solid.Multiple maximum and minimum feature control approaches were explored in this research, and the three-phase projection scheme grants the most versatility with control over solid and void phases, while maintaining low computational costs.The increased complexity of the design space that is typically reported as a limitation of the method is counteracted by the regional application of additional filters and the lack of additional constraints or finite element solutions that other methods require.This article will first provide an overview of HiTop 2.0 in Section 3, detailing the optimisation formulation, filtering operations, sensitivity calculations, and continuation schemes.Section 4 will present five 2D numerical examples that illustrate the results for the minimum solid and void, and maximum solid modifications, as well as interactive incorporation of passive regions and a 3D example.Finally, Section 5 will summarise the ideas presented in this article and provide ideas for future research.

HiTop 2.0: multiple feature size controls
HiTop 2.0 is an interactive design algorithm that applies a user's design concerns and intentions through control of the minimum solid and/or void, and/or maximum solid feature sizes.It is based on the 88-line code for compliance-based topology optimisation in MATLAB [61], with the standard extension that uses the Method of Moving Asymptotes [62] as the gradient-based optimiser.In addition, a modified version of the multiphase filtering approach from Carstensen and Guest [41] is used.The feature size controls are interactively updated by changing the settings of the filtering operations.The code begins with an interactive graphic user interface (GUI), Figure 3(a), where HiTop 2.0 presents the user with a finite element mesh of the design domain and prompts them to draw the loads, boundary conditions, and passive regions that can be predetermined as passive or void, as well as to input initial minimum feature sizes for solid and void.
The algorithm runs 50 iterations, solving the minimum compliance problem using the two-phase projection of the minimum solid and void phase variables, Figure 3(b).Although the user is not interactively modifying the length scale at this stage, the two-phase projection of solid and void from the start of the algorithm ensures compatibility with the user's future changes.For all examples in this work, the initial minimum feature size of both phases is set to a small value greater than 1, such as 1.5 elements, to prevent checkerboarding without initiating additional length scale constraints.As in the earlier version of HiTop [25] the user is prompted to modify the design at 50 iterations because it is the earliest time at which a clear image of the design is generated, and most intermediate densities are resolved.At 50 iterations, the user is presented with a plot of the stress distribution across the design domain and uses MATLAB's Image Processing Toolbox to define an elliptical Region of Interest (ROI), Figure 3(c).The position and dimensional information of the elliptical ROI are stored, and concentric contours are generated inward, towards the centre of the ellipse as this reduces the risk of having sharp, discontinuous features appear in the design [25].The user specifies the number of elliptical contours and degree of gradation that gradually increases or enforces the new minimum or maximum length scale in the ROI from the unaltered universal length scale imposed on the rest of the design domain.The formulaic and graphical descriptions of ROI contours and gradation are discussed in detail in [25].If the designer chooses to update the minimum solid, minimum void, or maximum solid feature size they will do so by inputting a new minimum or maximum radius applied only within the ROI.The algorithm resumes with the updated filtering operations for 50 more iterations, as shown in Figure 3 (d).At this point, the user can make an additional modification to the design, such as implementing a local maximum feature size control like in Figure 3 (e), and the optimisation then resumes till it converges, Figure 3(f).For the shown example, the final minimum and maximum feature size maps of the design domain can be seen in Figure 3(g-i).Figure 3(g) demonstrates that the minimum void length scale control is active across the domain but is set to a small (shown as blue) value outside the user-selected ROI.The colour bar and scale below the feature size map in Figure 3 (g-i) graphically show the number of elements required for the minimum or maximum feature size radii across the domain.For the finite elements within the ROI, a larger size is required for the minimum void feature size (yellow).Figure 3(h) shows that since the user did not modify the minimum solid feature size, the ROI map is uniformly set to a small (blue) value to prevent checkerboarding.Finally, Figure 3(i) demonstrates that if a user changes the maximum length scale, the maximum feature size control is only 'turned on' in the design domain within the selected ROI.

Optimisation formulation
HiTop 2.0 follows the classic topology optimisation formulation shown in Equation 1, where the objective function minimises compliance subject to static equilibrium, a volume constraint, and a solid, void solution [63]: Where x is the design variable vector, U is the displacement vector, K is the stiffness matrix, F is the force vector, V(x) is the total volume, V 0 is the fully solid volume, f is the volume fraction, x min and x max are bounds of the design variables equal to 0 and 1, respectively, V is the design domain, and c (x) is the compliance of the structure.
The Solid Isotropic Material Penalisation (SIMP) Method is implemented to penalise intermediate densities and drive the designs variables towards a 0, 1 solution [28].The SIMP scheme is as follows: Where E is the Young's modulus of the material as a function of the element density x e , E 0 is the Young's Modulus of an element with x e = 1, E min is a small value that ensures the stiffness matrix is positive definite, and h is the penalisation factor.For the purposes of this paper, E min = 1 E −9 , E 0 = 1, and h = 3.

Filtering operations
This work uses a slightly modified version of the multiple feature size controls suggested by Carstensen and Guest [41].Three filtering operations are conducted consecutively to implement length scale control of the minimum solid, minimum void, and, if selected, maximum solid, shown schematically in Figure 4.
The first filtering operation takes the vector of design variables, x, as an input and calculates three phase variables, w s , w p , and w m .Unlike in the original formulation in Carstensen and Guest [41] this work uses the boxcar weighting functions [64], shown in Equation 3, as these have been found to provide better results in the HiTop 2.0 context [64]: Where x is the design variable vector, w s is the nonlinear function used for the minimum solid phase, w v is used for the minimum void phase, w m for the maximum solid phase, a is the slope of the minimum solid and void boxcar weighting functions, a m is the slope of the maximum solid boxcar weighting function, and s, v, and m determine the locations of the respective functions' peaks.
A plot of the boxcar weighting functions is shown in Figure 5 and illustrates how a design variable, x, is projected to the minimum solid and void, and maximum solid phase.The maximum solid and minimum void boxcar functions are collocated due to the radius over which the maximum solid is projected.The projection radius for the maximum solid is equal to the sum of the user-inputted maximum feature radius and minimum void feature radius.Therefore, for the maximum solid length scale requirement to be satisfied, the void must also be actively projected.This is discussed in detail in [41].
The outputs of the boxcar weighting functions in Figure 5 are fed as inputs into the classic proximitybased weighting function [63]: H ei = max (0, r min,p − D(e, i)) Where xe p is the filtered element density for the minimum solid or void, or maximum solid phase as a function of w p , the filtered phase variable, N e p is the collection of elements in the neighbourhood of given element e, H ei is the matrix of weight factors, and r min,p is the minimum feature size for the given phase.This filter prevents checkerboarding of the design, where each phase variable, w p , is weighted by the value of its neighbours.
The final filter is the Heaviside's projection function seen in Guest [32], which smooths the design and drives the variables decisively towards 0 or 1, is listed in Equation 6: Where x e p is the Heaviside filtered density as a function of xe p , the proximity filtered density for the given phase p, xmax is the maximum value of the weighted element density, set to 1, and b is the Heaviside parameter controlling the steepness of the Heaviside function's slope.For this study it is kept constant at b = 25.
The filtered variables are then combined into a vector of physical elemental densities, x e .This value corresponds to the physical density of the element calculated in Equation 7 or 8, which is mapped to the structure and used for the finite element analysis and compliance calculation [41].Equation 7 is used when the user changes the minimum solid and/or void, while Equation 8 is used  in ROIs where changes to the maximum solid are made: x e s + (1 − x e v ) 2 ( 7) Where x e s , x e m , and x e v , are the minimum solid, maximum solid, and minimum void filtered phase variables, calculated from Equation 6.

Calculation of sensitivities
Gradient-based optimisation requires the calculation of the sensitivity of the objective function with respect to the design variables.The sensitivity of the compliance with respect to the design variables is derived using the chain rule and listed as Equation 9: The first term in Equation 9 can be found by taking the derivative of the compliance with respect to the physical element density, which is modified for the SIMP method shown and shown in Equation 10[63]: The second term in Equation 9 can be found by taking the derivative of the physical element density with respect to the design variable, accounting for the three filtering operations.The summed sensitivity is shown in Equation 11 [41]: Where each phase variable's sensitivity is a product of the sensitivities of the three filtering operations.Starting left to right, the sensitivity of the physical element density with respect to the Heaviside's projection can be found in Equation 12 [63]: The second sensitivity in each phase's term is the derivative of the proximity based weighting function with respect to the boxcar weighting function output.This is calculated in Equation 13 [65,66]: Finally, the last derivative in the chain rule calculation of each phase is the derivative of the phase generated with the boxcar weighting function with respect to the input design variable [64]: With the length scale implicitly defined through the three filtering operations, the gradient based optimisation relies upon the sensitivity calculations to enforce the length scale requirements while converging on a solution.

Continuation of boxcar weighting functions and seeding designs
Upon experimentation, it is found that HiTop 2.0 requires continuation of the boxcar weighting functions to remove intermediate densities without increasing the nonlinearity of the design space.HiTop 2.0 begins with the boxcar weighting functions in a relatively relaxed state, Figure 6(a), where a m = 15, a = 15, s = 0.25, v = 0.25, m = 0.26.After the algorithm reaches 50 iterations, the slopes steepen to a m = 45, a = 45, enforcing a stricter requirement of the length scale.However, with this stricter application of the length scale constraint, the algorithm settles into a local minimum where it is difficult to resolve intermediate densities without substantially increasing the penalisation factor.Therefore, the constraints are relaxed for 50 iterations to a m = 15, a = 15, and the boxcar weighting functions are stepped away from each other, s = 0.167, v = 0.167, m = 0.26, driving the design towards solid or void and 'reshuffling' the elements, Figure 6(b).For the remainder of the continuation scheme, the slopes of the weighting functions are increased to a m = 45, a = 45 and eventually a m = 55, a = 55,, and the functions are stepped further from the midpoint, s = 0.133, v = 0.133, m = 0.22, shown in Figure 6(c), encouraging each element to be decisively solid or void to comply with the length scale requirements.
Although the continuation scheme shown in Figure 6 allows for some intermediate densities to remain, the resulting designs converge quicker and yield lower compliance than designs optimized with only continuation of the SIMP penalisation factor or Heaviside's beta value.As the numerical examples will illustrate, post-processing will remove the intermediate densities while retaining the integrity of the design and allow HiTop 2.0 to remain a cheaper alternative when computational resources and time are constrained.Running HiTop 2.0 on a finer mesh allows for clear solid, void solutions.
Seeding the maximum feature size ROI is an additional modification to HiTop 2.0 that facilitates faster convergence towards a 0-1 design.After the user specifies the maximum feature size and the ROI to where it should apply (Figure 7(a)) the design variables within the region are changed to x e = 0.8, while all other elements retain their value from the 50-iteration output, Figure 7(b).Seeding the maximum length scale ROI encourages the algorithm to converge on a design with material in the region, as demonstrated by Figure 7(c,d), rather than avoiding the ROI entirely.

2D minimum void
In this example, a user is interested in reducing the maximum stress of an L-bracket while minimising compliance.The design domain is shown in Figure 8, where the red arrows correspond to a downward force, blue lines indicate the upper edge is fixed, and the elements in the yellow upper quadrant are prescribed as void.The number of elements in the x-  Subject to a f = 25% volume fraction constraint, the minimum compliance topology optimisation formulation with no modifications to the design is shown in Figure 9(a).A user who is constrained by time or computational resources is concerned about the stress concentration at the sharp corner of the design introducing a premature potential failure mode.Therefore, they specify a region of interest at the sharp corner of the L-bracket and increase the minimum radius of the void phase, Figure 9(b,c).The resulting HiTop 2.0 modified design creates a fillet at the corner, shown in Figure 9(d).
The traditional and HiTop 2.0 designs are post-processed in Abaqus with a 2D elastic, static analysis using constant boundary conditions, loads, and material  properties.Figure 10 shows that the HiTop 2.0 design reduces the maximum Von Mises stress by 23%, while incurring a 2.5% increase in compliance.Although HiTop 2.0 does not specifically minimise the maximum stress, [50], human intuition guides the algorithm to improve this performance metric and mitigate a potential failure mode.Additionally, HiTop 2.0 provides the improved stress performance at a run time comparable (within 1 min) to the original topology optimisation problem.

2D minimum solid
In this example, HiTop 2.0 with modifications to the minimum solid feature size provides a method to improve the minimum eigenvalue.The user is designing an MBB Beam, shown in Figure 11, with traditional topology optimisation.For this MBB problem, nelx = 345 and nely = 115.
The output of this code generates a long, thin strut that the user identifies as problematic shown in Figure 12(a).Therefore, using HiTop 2.0, the user defines a region of interest for this long, thin member and increases the minimum solid length scale, Figure 12(b,   c).The output from HiTop 2.0 merges the thin member to the bottom strut of the MBB beam, resulting in Figure 12(d).
Applying the same loads, boundary conditions, and material properties, an eigenvalue analysis of the traditional and HiTop 2.0 designs show that the HiTop 2.0 MBB beam has a 44% increase in the eigenvalue, as shown in Figure 13, while decreasing compliance 2.5%.This example illustrates how humans can effectively guide design algorithms towards better solutions, especially when complex, nonlinear codes may yield artefacts or undesirable features.

2D minimum solid and void
There exist many applications where it is desirable for the user to modify both the solid and void design variables.An example is illustrated on a U-bracket problem, shown in Figure 14 below, where elements in the yellow region are predetermined as void.For the U-bracket problem, nelx = 300 and nely = 150.
The optimized U-bracket without user modifications is shown in Figure 15(a), with elements in the yellow region prescribed as void.The sharp corner near the void boundary introduces a stress concentration; therefore, the user increases the minimum void length scale within a region of interest defined at the corner, Figure 15(b,c).As the design converges, the user identifies a small thin bar that would be difficult to manufacture, prompting an additional region of interest with increased minimum solid length scale requirements, Figure 15(d,e).The appearance of high stress in Figure 15(d) at the minimum void ROI is due to intermediate densities.The low-density value in the region generates  an artificially high stress value that is resolved in postprocessing, shown in Figure 16.Ultimately, the minimum solid and void modified HiTop 2.0 design is shown in Figure 15(f), where the user has manually introduced a fillet and thickened a structural member to ease manufacturability.
Post-processing of the original topology-optimized Ubracket and HiTop 2.0 minimum solid and void modified designs show that for a 1.8% increase in compliance, the maximum stress of the HiTop 2.0 design is reduced by 20%, shown in Figure 16.Additionally, it is apparent that the minimum solid ROI thickened the selected connective bar, allocating more material to the region and resulting in a less complex design with fewer thin struts than the traditional topology-optimized result.The doubly interactively modified HiTop 2.0 result both improved performance for an alternative engineering metric, while also conforming to the user's design intentions and concern for additive manufacturability.

2D maximum solid
Structural redundancy is an established method to diversify load paths and increase energy absorption, which are both critical for structures subjected to blast or impact loading.As discussed in Section 2, redundant structures are also high-performing methods of lightweighting and are popular in design for additive manufacturing.HiTop 2.0 with maximum length scale control allows users to create selectively redundant designs with localised redundancy in a region of anticipated impact or blast exposure.An example is demonstrated on a cantilever beam, shown in Figure 17 below, where nelx = 240 and nely = 150.
The traditional design is displayed in Figure 18(a).The user decides to design a cantilever with structural redundancy on an interior strut of the cantilever, shown in the ROI defined in Figure 18(b,c), and resulting in the cantilever beam shown in Figure 18(d).
The traditional and HiTop 2.0 modified structures are post-processed in Abaqus and undergo yielding analysis with elastic and plastic material properties, loads, and boundary conditions.The structures are defined with steel material properties found in [68] and subjected to 110 kN of force applied in the direction shown in Figure 17 along 14 nodes to prevent the mesh distortions resultant from single node load applications.A left strip of elements is fixed in all degrees of freedom and the structures are analysed as 2D shell models.The load plastically yields both cantilever beams and the applied force and displacement in the direction of loading are plotted in Figure 19, as well as the stress distribution of the deformed structures at peak load.
HiTop 2.0 incurs a 4.5% increase in compliance, while increasing the energy absorption by 181%.The addition of structural redundancy anywhere in the design will minimally increase the compliance relative to traditional topology optimisation, while substantially increasing the structure's energy absorption.The user-guided addition of structural redundancy can be tailored to anticipated blast or impact directions, which is applicable to structures with inward and outward facing components, such as barrier walls or vehicle protection.

2d passive region
An extension of the HiTop 2.0 framework includes an option to interactively introduce passive regions to the design as it converges.The introduction of solid or void elements, in conjunction with modifications to the feature size controls, grant increased flexibility for users to design for manufacturability.For example, a user designs a cantilever beam with the boundary and loading conditions shown in Figure 17.The optimized beam without modifications is shown in Figure 20(a); however, the user would like to add a central hole to facilitate the design's assembly with other mechanical components.Therefore, the user defines a region of interest in Figure 20(b), resulting in the passive map shown in Figure 20(c).After incorporating the hole, the user is still able to modify the length scale, choosing to increase the minimum solid requirements of the central connections near the hole, shown in Figure 20(d).This modification yields the minimum solid map in Figure 20(e) and HiTop 2.0 optimized result in Figure 20(f).

3d maximum solid
As the 88-line two-dimensional topology optimisation code [61] is extended to three dimensions in top3d [69], HiTop 2.0 can similarly be used to design 3D structures.HiTop 2.0 presents the user with a 3D GUI, allowing users to specify vertices and faces to use as loads and boundary conditions, then prompting the user to interactively specify the ROI with the drawcuboid function.An example extending HiTop 2.0 with maximum length scale control to three dimensions is illustrated on a 3D pinned wheel, shown in Figure 21(a,b).For the 3D pinned wheel, nelx = 30, nely = 30, and nelz = 30.
The 3D pinned wheel with no modifications to the length scale is shown in Figure 22(a).The user is interested in designing the wheel for an anticipated blast or impact loading directed from above.Therefore, they specify the ROI in the upper half of the design domain and apply a maximum feature size, shown in Figure 21(b).The optimized, structurally redundant output is shown in Figure 22(b).The cross-sections are taken at the same heights for Figure 22(a,b), showing how the material allocation for the maximum length scale in the upper half of the domain in Figure 22(b) compares to the original output in Figure 22(a) for the coarsely meshed, 3D pinned wheel example.The redundant wheel with maximum length scale has concentric rings of material to satisfy the maximum feature size, while the unmodified wheel is completely solid across the cross-section.

Conclusions
HiTop presents an alternative approach to design topology-optimized structures for minimum compliance, while improving the performance of other engineering metrics.Established codes that maximise buckling load or energy absorption outperform HiTop for those specific metrics; however, they incur high computational costs and introduce complex parameters.Therefore, HiTop presents a quick, simple method for the user to address manufacturability concerns and alternative failure modes by interactively modifying the length scale requirements of the design.This paper has presented an extension of the preliminary HiTop algorithm [25], in which the human engineer is enabled to interactively impose minimum feature size controls on both the solid and void phases of the design as well as interactively control the maximum solid features.HiTop 2.0 with multiple feature size controls has been demonstrated on benchmark 2D and 3D examples.In addition, HiTop 2.0 has an interactive GUI to ease set-up of the design domain and allows the user to interactively define passive and solid regions.Human-guided alteration of the feature size requirements have been shown to decrease stress concentrations, increase the lowest eigenvalue and improve the energy absorption of compliance-based topology-optimized structures.
A general limitation of HiTop and other optimisationdriven design frameworks that seek to embed human preferences, is that they rely heavily on the knowledge and skills of the user.Should the user choose to make poor choices, such as enforcing large fillet radii in regions where it is not needed to reduce stress concentrations or improve manufacturability, the compliance will increase even if other metrics do not improve.As such, educated design intuition is a prerequisite for successful use of HiTop.In addition, it is possible that added nonlinearity imposed on the design problem through the multiple filtering operations may lead to design results that are poor-performing local minima.However, this was not seen by the authors when experimenting with the herein presented multiple feature size controls in HiTop.Should the added nonlinearity lead to poorly performing solutions, the general HiTop feature of obtaining results fast (all 2D results in this work are obtained within 10 min on a regular laptop), makes it feasible for the design engineer to restart the design process with new parameter settings.
Future work will examine how to increase the flexibility of ROI selection in 3D and to further develop the convergence criteria for when the user is prompted to modify the design.The 3D compatible ROI functions in MATLAB are confined to sizing and rotation cuboid operations, precluding users from defining ellipsoid ROIs that may be more aligned with their design intentions.Also, users are currently prompted after 50 iterations to modify the feature sizes; however, there may exist a more methodical or critical point at which user's design intentions should be incorporated into HiTop's human in the loop design scheme.

Figure 2 .
Figure 2. (a) L-bracket designed with traditional design practices, (b) topology-optimized L-bracket, and (c) human-informed topology-optimized L-bracket modified for manufacturability and mechanical performance.

Figure 3 .
Figure 3. (a) GUI where the user defines the design problem, (b) preliminary design at 50 iterations, (c) Region of Interest (ROI) interactively selected by the user to modify the minimum void feature size requirements locally in response to seeing a plot of the stress distribution for the initial design, (d) intermediate design after an additional 50 iterations, (e) ROI selected by the user to add maximum solid feature controls locally, (f) converged final design, (g) map of minimum void feature sizes, (h) map of minimum solid feature sizes, and (i) map of maximum solid feature sizes that are only applied within the selected ROI from (e).

Figure 4 .
Figure 4. Overview of filtering operations.A single set of design variables, x, are filtered multiple times to achieve control of the minimum solid and void features, and if selected, maximum solid features.The multiple filters are combined to a single physical density x e .

Figure 5 .
Figure 5. Plot of boxcar weighting functions used herein to let the magnitudes of a single set of design variables, x, allow for control of multiple feature sizes, with s = 0.25, v = 0.25, m = 0.26, a = 30, and a m = 30.When w p (x) = 1, the given phase, p, is active while w p (x) = 0 indicates the phase is inactive.

HiTop 2 .
0 is extremely flexible and tailored to the user's design intentions and concerns.This paper provides five illustrative examples in 2D and one 3D example where the user can improve alternative engineering performance metrics or manufacturability while solving the minimum compliance problem.The 2D examples are as follows: minimum void, minimum solid, minimum solid and void, maximum solid, and an interactive implementation of passive regions.A MATLAB script is used to convert the element density matrix into an .stlfile that is post-processed in Abaqus, a finite element modelling software[67].

Figure 6 .
Figure 6.Continuation of boxcar weighting functions: (a) the weighting functions are initially relatively relaxed, and (b) are tightened after 50 iterations to enforce a stricter requirement of the feature size control.To avoid convergence to a poor-performing local minimum, (c) the weighting functions are again relaxed for 50 iterations before again being tightened.

Figure 7 .
Figure 7. Seeding for maximum feature size control: (a) ROI selected for implementation of maximum feature size control, (b) design variables in ROI are seeded with x e = 0.8 values, (c) mid-optimisation design, and (d) converged result.

Figure 9 .
Figure 9. (a) Optimized L-bracket without modifications, (b) increased minimum void feature size ROI, (c) map of minimum void feature size, and (d) HiTop 2.0 optimized L-bracket.

Figure 12 .
Figure 12.(a) Optimized MBB beam without modifications, (b) increased minimum solid feature size ROI, (c) map of minimum solid feature sizes, and (d) HiTop 2.0 optimized MBB beam with interactively modified solid features.

Figure 13 .
Figure 13.Lowest eigenmode and eigenvalue of (a) optimized MBB, and (b) HiTop 2.0 optimized MBB beam.The plotted displacement is a normalised, dimensionless value that shows the most likely failure location of the given eigenmode [67].

Figure 15 .
Figure 15.(a) Optimized U-Bracket without modifications, (b) increased minimum void feature size ROI, (c) map of minimum void feature sizes, (d) increased minimum solid feature size ROI, (e) map of minimum solid feature sizes, and (f) HiTop 2.0 optimized Ubracket with interactively modified solid and void feature size controls.

Figure 18 .
Figure 18.(a) Optimized cantilever without modifications, (b) defined maximum solid feature size within ROI, (c) map of maximum solid feature sizes where applied, and (d) HiTop 2.0 optimized design with interactively modified maximum solid feature size control.

Figure 19 .
Figure 19.Force vs. displacement of traditional and HiTop 2.0 modified designs.

Figure 20 .
Figure 20.(a) Optimized cantilever beam without modifications, (b) user specified passive void region, (c) map of void passive region (hole), (d) increased minimum solid feature size ROI, (e) map of minimum solid feature sizes, and (f) HiTop 2.0 optimized cantilever with interactively imposed passive void region and modified minimum solid feature sizes.

Figure 21 .
Figure 21.(a) 3D pinned wheel design problem (b) 3d pinned wheel design problem with maximum length scale imposed in upper half of domain.