Topology optimization

By concurrently optimizing build direction and topology in additive manufacturing, the method addresses overhang constraints, resulting in more optimized designs with reduced material waste and improved fluid flow efficiency.

WO2026095944A1PCT designated stage Publication Date: 2026-05-07SIEMENS INDUSTRY SOFTWARE INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SIEMENS INDUSTRY SOFTWARE INC
Filing Date
2024-10-31
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Additive manufacturing requires support during the build process, which can lead to manufacturing constraints such as excessive overhangs, especially when the build direction is fixed, making it difficult to optimize topology designs effectively.

Method used

Concurrently optimize the build direction and topology of a design using a computer-implemented method that includes obtaining design variables, computing physical field variables, and applying Heaviside projections to constrain overhangs, allowing for iterative optimization.

Benefits of technology

This approach enables the generation of more optimized designs by allowing for variable build directions, reducing material wastage, and improving manufacturability while minimizing pressure drops in fluid flow.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024053955_07052026_PF_FP_ABST
    Figure US2024053955_07052026_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method for topology optimization of a design for manufacturing is disclosed. A method comprises: obtaining design variables associated with elements of the mesh and an overhang constraint for manufacturing the design; computing physical field variables for the elements of the mesh based on the design variables; computing build vectors describing build directions in the design space; and executing based on the physical field variables, the overhang constraint, and the build vectors, an optimization of the design that concurrently optimizes a topology of the design, constrains overhangs in the design, and optimizes a build direction for manufacturing the design, and generating updated design variables based on the optimization.
Need to check novelty before this filing date? Find Prior Art

Description

TOPOLOGY OPTIMIZATIONTECHNICAL FIELD

[0001] The present disclosure relates to topology optimization.BACKGROUND

[0002] Topology optimization aims to determine an optimal structure and layout of physical material within a design space to optimize functional characteristics of the design, taking into account constraints such as volume, mass, and manufacturability. For example, fluid topology optimization may be implemented to optimize a design to minimize a pressure drop on a working fluid.SUMMARY

[0003] Additive manufacturing enables the manufacture of designs with complex shapes and is thus well suited to topology optimization due to the few manufacturing constraints. However, a constraint particular to additive manufacturing is the requirement for the build to be supported during manufacture, thereby precluding excessive overhangs. The degree of overhang however depends on the build direction, which is the orientation in which the design is built relative to gravity. For some designs, it may be the case that an overhang constraint is difficult to satisfy where a build direction is fixed, that is to say where the orientation of the build cannot be varied, whereas it may be much easier to satisfy where the build direction may be optimized to suit the design. Hence, topology optimization may usefully be performed concurrently with build direction optimization, to thereby improve the topology optimization whilst avoiding unmanufacturable designs.

[0004] An object of aspects of the present disclosure is therefore to provide a method for topology optimization of a design to be manufactured by an additive manufacturing process, whereby the build direction is optimized concurrently with optimization of the design.

[0005] A first aspect of the present disclosure provides a computer-implemented method for topology optimization of a design for manufacturing, wherein the design is represented as a mesh, comprising: obtaining design variables associated with elements of the mesh and an overhang constraint for manufacturing the design, computing physical field variables for the elements of the mesh based on the design variables, computing build vectors describing build directions in the design space, and executing, based on the physical field variables, theoverhang constraint, and the build vectors, an optimization of the design that concurrently optimizes a topology of the design, constrains overhangs in the design, and optimizes a build direction for manufacturing the design; and generating updated design variables based on the optimization.

[0006] In implementations, the optimization is performed iteratively, wherein each successive iteration of the optimization is performed based on design variables generated in a previous iteration.

[0007] In implementations, the constraining overhang in the design comprises computing a gradient for all elements in the design based on the physical field variables and evaluating the gradient of each element based on a reference value representing an overhang constraint.

[0008] In implementations, the computing physical field variables comprises filtering the design variables using a convolutional filter yielding intermediate filtered design variables.

[0009] In implementations, the computing physical field variables comprises applying a Heaviside projection onto the intermediate filtered design variables to obtain the physical field variables.

[0010] In implementations, the constraining overhangs in the design comprises applying further Heaviside projections onto the intermediate filtered design variables to obtain further first and second further physical field variables, wherein the further Heaviside projections are performed using threshold values that are less and greater respectively than a threshold value employed in the Heaviside projection applied to obtain the physical field variables, wherein the executing the optimization of the design is further based on the first and second further physical field variables.

[0011] In implementations, the method is implemented as a fluid topology optimization method.

[0012] In implementations, the obtaining the overhang constraint comprises determining manufacturing equipment for manufacturing the design and obtaining the overhang constraint based on the determined manufacturing equipment.

[0013] In implementations, the determining manufacturing equipment comprises receiving a user input and determining the manufacturing equipment based on the user input.

[0014] A second aspect of the present disclosure provides a computer system comprising: at least one processor, and at least one memory including machine-readable instructions, wherein the at least one memory and the machine-readable instructions are configured to,with the at least one processor, cause the computer system to optimize the topology of a design for manufacturing by the method of the first aspect of the present disclosure.

[0015] A third aspect of the present disclosure provides a computer program comprising machine-readable instructions, which, when executed by a computer, cause the computer to carry out the method of the first aspect of the present disclosure.

[0016] A fourth aspect of the present disclosure provides a data storage apparatus having stored thereon the computer program of the method of the third aspect of the present disclosure.

[0017] A fifth aspect of the present disclosure provides a computer-readable medium having stored thereon a digital description of a design in the form of a computer model generated by a method according to the first aspect of the present disclosure and the machine-readable instructions according to the third aspect of the present disclosure.

[0018] A sixth aspect of the present disclosure provides a computer-implemented method of controlling manufacturing machinery to manufacture a design based on the machine-readable instructions generated according to the third aspect of the present disclosure.

[0019] These and other aspects of the disclosure are apparent from the embodiment(s) described below.BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order that the present disclosure may be more readily understood, embodiments are described, by way of example, with reference to the accompanying drawings, in which:

[0021] Figure 1 shows schematically an example manufacturing assembly incorporating aspects of the present disclosure.

[0022] Figure 2 shows schematically an example of a computer system of the manufacturing assembly.

[0023] Figure 3 shows schematically a view of an example of design for manufacturing using the manufacturing assembly.

[0024] Figure 4 shows schematically an example of a method for manufacturing an object to the design using the manufacturing assembly, which includes an operation of optimizing the design for manufacture.

[0025] Figure 5 shows schematically an example of operations involved in the method of optimizing the design for manufacture.

[0026] Figure 6 shows schematically an example of a visualization of an operation in the method of optimizing the design.

[0027] Figure 7 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0028] Figure 8 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0029] Figure 9 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0030] Figure 10 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0031] Figure 11 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0032] Figure 12 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0033] Figure 13 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0034] Figure 14 shows schematically an example of a visualization of a further operation in the method of optimizing the design.

[0035] Figure 15 shows schematically an example of a visualization of a further operation in the method of optimizing the design.DETAILED DESCRIPTION

[0036] Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described. It is important to understand that embodiments can be provided in many alternate forms and should not be construed as limited to the examples set forth herein.

[0037] Accordingly, while embodiments can be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate.

[0038] The terminology used herein to describe embodiments is not intended to limit the scope. The articles “a,” “an,” and “the” are singular in that they have a single referent, however the use of the singular form in the present document should not preclude the presence of more than one referent. In other words, elements referred to in the singular can number one or more, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including,” when used herein, specify the presence of stated features, items, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof.

[0039] Figure 1 shows schematically a manufacturing environment in which aspects of the present disclosure may be employed.

[0040] In Figure 1, an engineer is using a computer system 101 running computer-aided design and engineering software to create and evaluate a computer model of a product design, and then generate instructions for manufacturing a product to the design. In particular, aspects of the present disclosure relate to topology optimization of a design, whereby a computer model of the design is created using the computer-aided design and engineering software running on the computer system 101, and then one or more computer-implemented topology optimization methods are applied to the design, with the objective of optimizing functional characteristics of the design. For example, aspects of the present disclosure relate to fluid topology optimization, whereby the design is optimized to minimize a pressure drop on a working fluid.

[0041] The manufacturing instructions may define a shape of the product and specifications of the product. The instructions may include machine-readable instructions for use by computer-controlled manufacturing equipment to produce a product to the design. Whilst in the example computer system 101 is depicted as a unitary computer, the computer system 101 may instead comprise a plurality of separate computers each performing a part of the process of creating and optimizing the computer model and then generating manufacturing instructions based on the computer model. For example, the computer system 101 may comprise a computer used for creating a computer model of an object to be manufactured, another computer used for optimizing the computer model, and then another computer for generating manufacturing instructions based on the computer model.

[0042] The instructions for manufacturing generated by the computer system 101 may subsequently be provided to computer-controlled manufacturing equipment, depicted schematically at 102, to manufacture a product to the design. In examples, the manufacturing equipment 102 comprises additive manufacturing equipment for additively manufacturing, often referred to as 3D printing, all or part of the modelled design. In practice, the computer system 101 may be located remotely of the manufacturing equipment 102, and thus the manufacturing instructions may be transmitted to the manufacturing equipment, for example, via an electronics communications system, depicted schematically by arrow 103, such as the internet, which may include intermediary computer systems.

[0043] Aspects of the present disclosure therefore include a method for manufacturing an object to a design created and / or optimized by computer system 101, and manufactured by manufacturing equipment 102, wherein the method performed by the computer system 101 includes a method for topology optimization of the design for manufacturing, as will be described in more detail herein, and also to a manufacturing assembly, comprising the computer system 101 and the manufacturing equipment 102.

[0044] Referring next to Figure 2, the computer system 101 comprises a processor 201, memory 202, graphical display device 203, input / output interface 204, peripheral device 205, and system bus 206. Although in the depicted example, computer system 101 is depicted as comprising one of each component, in other examples, computer system 101 may comprise a plurality of one or more of the components, and the plural components may be distributed across mutually physically remote systems. For example, in examples, the computer system 101 may comprise a plurality of processors such as processor 201, each of the processors fulfilling a part of the processing requirements and communicating via a communications network such as the internet, and / or may comprise a plurality of peripheral devices such as peripheral device 205.

[0045] Processor 201 is configured for execution of instructions of a computer program for creating and evaluating a computer model and generating machine-readable manufacturing instructions based on the computer model. As will be described herein in further detail, the computer program includes functionality for performing a topology optimization method on the modelled design. Memory 202 is configured for non-volatile storage of the computer program, defining machine-readable instructions, for execution by the processor, and for serving as read / write memory for storage of operational data associatedwith computer programs executed by the processor. Graphical display device 203 is configured for displaying graphical representations of the computer model data created by the computer program, to enable a user of the computer system 101 to visualize the data and so aid the user’s interaction, for example, modification, of the model data. Input / output interface 204 is configured for connection of the computer system 202 to peripheral devices 205, and to external systems such as communications system 103 to communicate with manufacturing equipment 102. Peripheral devices 205 are functional as human -machine interfaces, to enable the user to input commands to control the computer program, for example, to enable the user to input commands to modify the model data. Peripheral devices 205 may include, for example, a computer mouse, joystick and / or keyboard. The components 201 to 204 of the computer system 101 are in communication via system bus 206.

[0046] Figure 3 shows schematically a view of a computer model 301 of a product design that may be created and evaluated by the computer program running on the computer system 101 and displayed as a part of a graphical user interface via graphical display device 203.

[0047] The computer model 301 defines a modelled volume, in which a computer model of an object, such as an engineered complex product, is simulated. In the example, the design is of a manifold component comprising two inlet openings through which a fluid may enter and two outlet openings through which a fluid may be discharged, and internal passages, which are not depicted in Figure 3 but are depicted in Figures 11 to 13, for carrying fluid between the inlets and the outlets.

[0048] In some applications it may be desirable for the manifold to present the least restriction to fluid flow between the inlets and the outlets, such that fluid flowing therethrough experiences the least pressure drop. However, the design of the manifold may be constrained by factors such as volume, mass, and manufacturability. Hence, a topology optimization method may advantageously be implemented by the computer program running on the computer system 101, to optimize the design of the manifold, and in particular to optimize the design of the internal passages, to thereby minimize the restriction presented to fluid flow whilst meeting various constraints.

[0049] In particular, in the example, the manifold is to be manufactured by additive manufacturing equipment 102 by an additive manufacturing process, whereby the build material is deposited layer upon layer. In this method, a manufacturing constraint of support arises, in that each layer is required to be supported from its time of deposition, even beforethe remainder of the build is formed. An approach to support during the build is to insert temporary supports into the design, whereby the supports support regions of the design during the build process, and the supports are then removed when the build is complete. However, such supports may undesirably result in material wastage, and / or incur additional manufacturing operations in inserting the supports during the build and then removing the supports when the build is complete. In some applications it is desirable therefore for the build to be self-supporting during the additive manufacturing process. But this self-support requirement may preclude excessive overhangs, that is regions of the build that are not supported directly below by other regions of the build, e.g., cantilevered structures of the build, inasmuch that a risk exists that excessively overhanging regions may fail under gravity during the build process.

[0050] The degree of overhang of a build region, which is the degree to which the region overhangs empty space, depends on the build direction, which is the orientation in which the design is built relative to gravity. For some designs it may be the case that an overhang constraint is difficult to satisfy where a build direction, often also referred to as a ‘print direction,’ is fixed, that is to say where the orientation of the build cannot be varied. Whereas it may be much easier to satisfy where the build direction may be optimized to suit the design. And accordingly, variability of the build direction may increase the degree of design freedom available for the optimization of the topology of the design, and so enable a more highly optimized design than for cases in which the build direction is fixed.

[0051] Hence, aspects of the present disclosure are directed to a topology optimization method whereby the topology of the design is optimized concurrently with optimization of the build direction in a single optimization loop.

[0052] Referring next to Figure 4, in examples the method implemented by the computer program using the computer system 101 for creating, and optimizing a product design and manufacturing a product to the design comprises four operations.

[0053] At operation 401, the computer program causes the processor 201 of the computer system 101 to create a model of the design of the product or a part thereof. This operation could, for example, involve the computer system creating the model data based on a three-dimensional scan of a physical prototype using a scanner connected to input / output interface 204, or could involve a user interacting with the computer system to create the design, or could involve receiving field variables representing the design.

[0054] At operation 402, the computer program causes the processor 201 of the computer system 101 to implement a topology optimization method on the design created at operation 401. Operation 402 will be described in further detail with reference to later Figures 5 to 15.

[0055] At operation 403, manufacturing data for manufacturing an object to the design, for example, the manifold depicted in Figure 3, is generated based on the optimized generated at operation 402. The manufacturing data could, for example, include the model data, and / or instructions for manufacturing the product. The manufacturing data is then transmitted by the computer system 101 to the manufacturing equipment 102, for example, via the communication system 103.

[0056] At operation 404, the manufacturing data received at operation 403 is utilized by the additive manufacturing equipment 102 to additively manufacture the product.

[0057] Referring next to Figure 5, in examples operation 402 for optimizing the design comprises five operations.

[0058] At operation 501, the computer program causes the processor 201 of the computer system 101 to obtain the design created at operation 401 and the associated design variables. For example, operation 501 may involve retrieving the design from the computer memory 202. The design may be in a discretized form, such as a mesh.

[0059] At operation 502, the computer program causes the processor 201 of the computer system 101 to parameterize the design space. Operation 502 will be described in further detail with reference to Figure 6.

[0060] At operation 503, the computer program causes the processor 201 of the computer system 101 to parameterize the build directions, by computing build vectors. Operation 503 will be described in further detail with reference to Figure 7.

[0061] At operation 504, the computer program causes the processor 201 of the computer system 101 to formulate the overhang angle constraint to be included in the optimization for detecting overhang angle violations in the design. Operation 504 will be described in further detail with reference to Figures 8 to 10.

[0062] At operation 505, the computer program causes the processor 201 of the computer system 101 to formulate the topology optimization function and execute the optimization. Operation 505 will be described in further detail with reference to Figures 11 to 14.

[0063] Figures 6 and 7 depict processes involved in the computer-implemented operation 502 for parameterizing the geometry of the design space.

[0064] The example method utilizes a density-based topology optimization approach. The design variable vector p is utilized to parameterize the geometry. Each component of this design variable vector is associated with an element in the mesh and takes a value between 0 and 1. For instance, in fluid topology optimization, when the density factor value is 1, it means that particular region is solid (having material density and property of solid). If it is 0, it means that that region is fluid (having material density close to zero).

[0065] Referring firstly to Figure 6, given the design variable vector, a density filter is applied to obtain the filtered design variable vector p. Afterwards, a smoothed Heaviside projection is applied to obtain the physical variable vector p. The physical variables p are then used to parameterize the physical design where pe= 0 denotes fluid phase and pe= 1 denotes solid phase. The smoothed Heaviside projection is given by the equation:tanh(?i]) + tanh(?(e— q))Pe = H(.pe)tanh(?i]) + tanh( / ?(l — q))where P is the strength of the projection and q is the threshold.

[0066] Referring next to Figure 7, operation 502 further involves parameterizing the build direction to enable later optimizing of the build direction concurrent with the topology optimization.

[0067] The build direction is parameterized using the angles in the space as design variable, as depicted in Figure 7. For two-dimensional cases, the build direction n is parameterized as n(^) = [nx, ny= [cos^, sin^]T, where the design variable, represents the printing angle in two-dimensions. For three-dimensional cases, the build direction n is parameterized as n(^) = [nx, ny, nz= [cos(< >) co s 6), cos (p) si n 6), sin (p)T,, where design variables= [(p, 0]Tare the Eulerian angles in three-dimensional space.

[0068] Figures 8 and 9 depict processes involved in the computer-implemented operation 502 for formulating the overhang angle constraint for constraining overhangs in the optimization and detecting overhang angle violations.

[0069] Figure 8 depicts the present approach to computing the gradient of the physical density field p. This operation may effectively determine the solid-fluid interfaces in the design, which interfaces may then be utilized to detect overhang angle violations in theoptimization. Figure 8 depicts the above gradient computation process for an example two-dimensional problem, wherein the interface between a rod and a body of fluid is identified.

[0070] The overhang angle constraint in the optimization is formulated based on the gradient information of the physical density field p. In order to compute the gradient of Vpefor each given element e in the mesh, a topological search is performed that finds all the elements that neighbor the subject element e. A least square fit operation is then performed based on the physical densities of those elements (including element e) to obtain a linear field. The gradient Vpeof element e is then taken as the gradient of that fitted linear field. These steps are performed repeatedly for each element in the mesh until the gradients for all the elements in the mesh are obtained.

[0071] Because the mesh may not change during topology optimization, the gradient computation may be expressed as:-Xxp>.y= Gyp, andz — Gzp,where Gx, Gy, and Gzare pre-computed matrices at the beginning of the topology optimization.

[0072] Referring next to Figures 9 and 10, once the gradient of the physical design is obtained, the next step is to identify regions of the design where the overhang angle constraints are violated. Figure 9 depicts a smoothed Heaviside function utilized in the present overhang angle violation method, with an overhang angle lower bound of 0O= TT / 4. Figure 10 depicts the proposed formulation in the example of the solid rod, where the lower surface of the rod is correctly identified by the formula as violating the overhang angle constraint, in that it lacks sufficient underlying support.

[0073] The following formulation is proposed for identifying overhang angle violations:Twherepe z] are the evaluated physical density gradient for element e, n is the printing direction, and 9 0 is the lower bound on the overhang angle.

[0074] In the above formula, the first term on the right hand side highlights the regions where the overhanging angle is violated, while the second term on the right hand side highlights the solid fluid interface. The above formula will return a value / eG [0,1] for each element with %e= 0 and %e= 1 meaning the overhang angle requirement is satisfied and violated at the local element e, respectively. Wx( ) in the above formulation is a smoothed Heaviside function defined by the equation:where 2κ defines the width of the transition zone as shown in Figure 8.

[0075] Figures 11 to 14 depict a visualization of the present topology optimization method applied to the internal passages of the manifold design.

[0076] An optimization formulation is thus proposed which concurrently minimizes the pressure drop between the inlets and the outlets, imposes an overhang constraint, and identifies an optimal build direction in the three-dimensional space.

[0077] Mathematically, the optimization formulation is expressed as:

[0078] In this formulation, the objective function aims to minimize the pressure drop between the inlets and the outlets weighted by weight the values OH constraints using a user prescribed weight w. It should be appreciated that the form of the objective function may be modified based on the particular quantity to be optimized, because the proposed approach is general and independent of the specific forms of the design objectives. In the equation veis the volume of element e, V is a user prescribed upper bound regarding the total volume of the solids, v and p are the velocity and pressure state variables with Rv(v, p; p) = 0 and Rp(v,p; p) being the discretized state equations. POH ') is the overhang constraint which sums the overhang indicators at the element level. As will be discussed further, gon ')and S'OH(’)aredilated and eroded variants of the overhang constraint to overcome potentially undesirable peak and valley features in the design.

[0079] It should be noted that, in the above optimization formulation, the optimization concurrently optimizes both solid geometry and build direction. In case the build direction is prescribed by the user, the build direction may be fixed throughout the optimization by not updating the printing direction design variables

[0080] Figures 11 to 13 depict the design of the passages of the manifold obtained using the optimization formulation with no overhang constraint applied, an overhang constraint applied and a fixed build direction, and with an overhang constraint applied and concurrent printing direction optimization, respectively.

[0081] By fixing the printing direction to a bad initial guess, the design adjusts its geometric features to satisfy the overhang requirements. Being able to optimize and update the build direction offers additional freedom for the optimizer and thus provides a more reasonable design. In particular, it can be noted that the pressure drop associated with the design depicted in Figure 13 is lower than the pressure drop of the designs of each of Figures 11 and 12.

[0082] Figure 14 depicts an update history of the printing direction from the initial guess to the optimal build direction.

[0083] Figure 15 depicts a technique to alleviate the aforementioned peak and valley features that may undesirably occur as a result of the proposed geometric constraint technique. Those features, especially the peak features, may be undesirable, as they are features mostly formed by the optimization process to satisfy the overhang constraintgeometrically without benefiting the objective function. The appearance of those features may be more common in cases where the printing direction is fixed and less common in cases where the printing direction is optimized.

[0084] The present method employs a technique to alleviate the formulation of those features. The proposed technique introduces two additional constraints 3OH ')and S'OH(’) inthe optimization formulation. Those two constraints share identical equation forms as the original geometric equation, except for the use of a different threshold in the Heaviside projection from the filtered design variables p to physical variables p. Additional constraint S'OH(’) utilizes a threshold T]d< 0.5 to obtain the physical field pd, corresponding to dilation of the actual solid design.

[0085] By considering the dilated design in the overhang constraintgdHformation of peak features in the optimized solid may be avoided, as illustrated in the Figure. The constraint SOH ') utilizes a threshold T]e> 0.5 to obtain the physical field pe, corresponding to erosion of the actual solid design. Considering the eroded design in the overhang constraint gon(e> enables formation of valley features in the optimized solid to be avoided.

[0086] The system and apparatus described above may use dedicated processor systems, micro controllers, programmable logic devices, microprocessors, or any combination thereof, to perform some or all of the operations described herein. Some of the operations described above may be implemented in software and other operations may be implemented in hardware. Any of the operations, processes, and / or methods described herein may be performed by an apparatus, a device, and / or a system substantially similar to those as described herein and with reference to the illustrated figures.

[0087] The processor may execute instructions or "code" stored in memory. The memory may store data as well. The processing device may include, but may not be limited to, an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, or the like. The processing device may be part of an integrated control system or system manager or may be provided as a portable electronic device configured to interface with a networked system either locally or remotely via wireless transmission.

[0088] The memory may be integrated together with the processing device, for example RAM or FLASH memory disposed within an integrated circuit microprocessor or the like. In other examples, the memory may comprise an independent device, such as an external disk drive, a storage array, a portable FLASH key fob, or the like. The memory and processing device may be operatively coupled together, or in communication with each other, for example by an I / O port, a network connection, or the like, and the processing device may read a file stored on the memory. Associated memory may be "read only" by design (ROM) by virtue of permission settings, or not. Other examples of memory may include, but may not be limited to, WORM, EPROM, EEPROM, FLASH, or the like, which may be implemented in solid state semiconductor devices. Other memories may comprise moving parts, such as a known rotating disk drive. All such memories may be "machine-readable" and may be readable by a processing device.

[0089] Operating instructions or commands may be implemented or embodied in tangible forms of stored computer software (also known as "computer program" or "code"). Programs, or code, may be stored in a digital memory and may be read by the processing device.“Computer-readable storage medium" (or alternatively, "machine-readable storage medium") may include all of the foregoing types of memory, as well as new technologies of the future, as long as the memory may be capable of storing digital information in the nature of a computer program or other data, at least temporarily, and as long at the stored information may be "read" by an appropriate processing device. The term "computer-readable" may not be limited to the historical usage of "computer" to imply a complete mainframe, minicomputer, desktop or even laptop computer. Rather, "computer-readable" may comprise storage medium that may be readable by a processor, a processing device, or any computing system. Such media may be any available media that may be locally and / or remotely accessible by a computer or a processor, and may include volatile and non-volatile media, and removable and non-removable media, or any combination thereof.

[0090] A program stored in a computer-readable storage medium may comprise a computer program product. For example, a storage medium may be used as a convenient means to store or transport a computer program. For the sake of convenience, the operations may be described as various interconnected or coupled functional blocks or diagrams.However, there may be cases where these functional blocks or diagrams may be equivalently aggregated into a single logic device, program, or operation with unclear boundaries.

[0091] While the application describes specific examples of carrying out embodiments of the disclosure, those skilled in the art will appreciate that there are numerous variations and permutations of the above-described systems and techniques that fall within the spirit and scope of the disclosure as set forth in the appended claims. For example, while specific terminology has been employed above to refer to electronic design automation processes, it should be appreciated that various examples of the disclosure may be implemented using any desired combination of electronic design automation processes.

[0092] One of skill in the art will also recognize that the concepts taught herein can be tailored to a particular application in many other ways. In particular, those skilled in the art will recognize that the illustrated examples are but one of many alternative implementations that will become apparent upon reading this disclosure.

[0093] Although the specification may refer to “an,” “one,” “another,” or “some” example(s) in several locations, this does not necessarily mean that each such reference is to the same example(s), or that the feature only applies to a single example.

Claims

CLAIMS1. A computer-implemented method for topology optimization of a design for manufacturing, wherein the design is represented as a mesh, the method comprising:obtaining design variables associated with elements of the mesh and obtaining an overhang constraint for manufacturing the design;computing physical field variables for the elements of the mesh based on the design variables;computing build vectors describing build directions in a design space;executing an optimization of the design based on the physical field variables, the overhang constraint, and the build vectors, wherein the optimization of the design concurrently optimizes a topology of the design, constrains overhangs in the design, and optimizes a build direction for manufacturing the design; andgenerating updated design variables based on the optimization of the design.

2. The computer-implemented method of claim 1, wherein the optimization is performed iteratively, wherein each successive iteration of the optimization is performed based on design variables generated in a previous iteration.

3. The computer-implemented method of claim 1, wherein the obtaining of the overhang constraint comprises:computing a gradient for all elements in the design based on the physical field variables; andevaluating the gradient of each element based on a reference value representing the overhang constraint.

4. The computer-implemented method of claim 1, wherein the computing of the physical field variables comprises filtering the design variables using a convolutional filter yielding intermediate filtered design variables.

5. The computer-implemented method of claim 4, wherein the computing of the physical field variables comprises applying a Heaviside projection onto the intermediate filtered design variables to obtain the physical field variables.

6. The computer-implemented method of claim 1, wherein the obtaining of the overhang constraint comprises:applying further Heaviside projections onto intermediate filtered design variables to obtain further first and second further physical field variables,wherein the further Heaviside projections are performed using threshold values that are less and greater respectively than a threshold value employed in the Heaviside projection applied to obtain the physical field variables, andwherein the executing of the optimization of the design is further based on the first and second further physical field variables.

7. The computer-implemented method of claim 1, wherein the method is implemented as a fluid topology optimization method.

8. The computer-implemented method of claim 1, wherein the obtaining of the overhang constraint comprises:determining manufacturing equipment for manufacturing the design; and obtaining the overhang constraint based on the determined manufacturing equipment.

9. The computer-implemented method of claim 8, wherein the determining of the manufacturing equipment comprises:receiving a user input; anddetermining the manufacturing equipment based on the user input.

10. A computer system comprising:at least one processor, andat least one memory including machine-readable instructions,wherein the at least one memory and the machine-readable instructions are configured to, with the at least one processor, cause the computer system to optimize the topology of a design for manufacturing by the method of claim 1.

11. A computer program comprising machine-readable instructions, which, when executed by a computer, cause the computer to carry out the method of claim 1.

12. A data storage apparatus having stored thereon the computer program of claim 11.

13. A computer-readable medium having stored thereon a digital description of a design in a form of a computer model generated by a method according to claim 1 and the machine-readable instructions according to claim 11.

14. A computer-implemented method of controlling manufacturing machinery to manufacture a design based on the machine-readable instructions generated according to claim 11.