Embodiments described herein include a manufacturing system that optimizes geometry in view of additive support structures. In one embodiment, a design domain for a structure is defined. The structure is formed of a composite material comprising anisotropic elements embedded in a matrix material. The design domain includes inputs to the structure and constraints on the structure. A neural network is used that accepts a coordinate for each location within the design domain and outputs a local composition for each location. The local composition includes: a density of the matrix material; an orientation of the anisotropic elements; and a concentration of the anisotropic elements. A model of the design domain is formed in a physics solver. The model includes a plurality of discrete elements that encompass the design domain. A solution of the model provides a value of a design objective. For each iteration of a plurality of iterations, the following is performed: determining, from the neural network, current local compositions for the locations in the design domain corresponding to each of the discrete elements; inputting the current local compositions into the discrete elements of the physics solver to obtain a current value of the design objective; and using the current value of the design objective to find a loss gradient of a loss function. The loss gradient is used as a sensitivity value to update the neural network during the iterations. After completion of the iterations, the updated neural network is used to define a topology of the structure.
These and other features and aspects of various embodiments may be understood in view of the following detailed discussion and accompanying drawings.
The discussion below makes reference to the following figures, wherein the same reference number may be used to identify the similar/same component in multiple figures. The drawings are not necessarily to scale.
The present disclosure relates to designing parts that are formed using processes such as additive manufacturing (AM). Fabricating a part through AM involves progressively adding or depositing material onto a part being fabricated, often by adding successive layers, until the part approximates an intended shape and size, such as used with three-dimensional (3D) printing through fused deposition modeling (FDM). Other AM processes include laser metal sintering.
Additive manufacturing is gaining increasing popularity in industrial applications such as aerospace, automotive, medical, etc., where its capability in fabricating geometrically complex parts can be leveraged in producing high-performance, lightweight, and cost-efficient designs. The design of mission-critical parts suitable for real-world applications require solving sophisticated physics and incorporating multiple performance and manufacturing constraints. Further, current design frameworks are incapable of directly working with black-box solvers that encapsulate domain-specific knowledge. Thus, developing an end-to-end solution on a case-by-case basis can be extremely time consuming, expensive, and limited in its application scope.
A general approach that can directly incorporate complex physical quantities of interest, black-box solvers, as well as manufacturing constraints upfront in the design stage can potentially reduce the trial-and-error cost drastically. One such application is the design of optimized Fiber Reinforced Composite (FRC) structures. In this disclosure, topology optimization (TO) method is described for the design of such structures, which comprise regions of isotropic base matrix with anistropic optimally oriented fiber inclusions and voids. The concentration of the inclusions can be allowed to vary spatially within the matrix as required. A post-processing algorithm can tailor the fiber spacing based on the obtained concentration. The topology is tailored to maximize defined structural performance objective while constraining the matrix and fiber volumes.
The work is partly motivated by advent of modern manufacturing methods allowing the fabrication of continuous FRCs and their wider application in the automotive industry, robotics applications, as well as aeronautical and aerospace engineering due to their high stiffness-to-weight ratios. The proposed method extends the Neural Network (NN) based TO framework where the weights of the network are optimized to capture the density field as implicit function of spatial coordinates. (see Chandrasekhar, A. and Suresh, K. (2020b). “TOuNN: Topology optimization using neural networks,” Structural and Multidisciplinary Optimization.) The compact, mesh independent, NN based representation accommodates for extracting long fibers via post processing. Further, automatic differentiation (which can be provided by backpropagation through a neural network) can be used for sensitivity analysis by expressing computations in an end-to-end differentiable fashion. This allows to quickly experiment with material models and design objectives without having to re-derive sensitivity expressions. It also enables considering more sophisticated physics and constraints without deriving sensitivity expressions analytically. Several numerical experiments have been carried out to establish the validity, robustness, and computational efficiency of the method.
The field of TO has been well-established with various approaches such as density based, method of morphable components, level-set method, topological sensitivity, etc. A density-based formulation is employed in the embodiments discussed below. The density-based approaches such as Solid Isotropic Material with Penalization (SIMP) have been classically devoted to solving a two-phase solid/void optimization problem for varying objectives such as compliance minimization, design of compliant mechanism, stress constraints, thermo-fluidic objectives etc. The current work focuses on the first two objectives. Expanding on optimization of density, the orientation of the material was further included in the optimization. Optimally oriented material significantly improves performance and offers higher stiffness to weight ratio.
While restrictive analytical methods have been proposed to optimize orientation of fibers in TO, current trends in gradient-based design of FRC's using TO can be broadly classified into (a) Continuous Fiber Angle Optimization (CFAO) (b) Discrete Material Optimization (DMO) and (c) Free Material Optimization (FMO). In CFAO, the orientations of the fiber are posed directly as the design variable, allowing it to assume any value. In contrast, DMO builds on multi-phase optimization and restricts the orientation to predetermined discrete values. While DMO approaches are often simpler with better convergence, they suffer from limitations, such as the resulting design having short discontinuous fiber paths. Short fibers are not only difficult to manufacture, but also mechanically inferior to long, continuous fibers. In FMO, the individual components of the elasticity tensor are treated as design variables, leading to designs that may be theoretically optimal but lack a physical correspondence.
Embodiments described herein include a NN-based representation whose weights directly capture the topology as an implicit function of spatial coordinates. The analytical representation allows for capturing the fiber concentration smoothly over the domain. Further, the ability to query the NN at any location post-optimization allows for the extraction of continuous long fibers. Performing the computation in an end-end differentiable fashion allows for automated sensitivity analysis paving way for faster and easier experimentation. The NN offers a mesh-independent representation allowing for capturing the matrix density, fiber concentration and orientation compactly using relatively small number of design variables.
Then, by relying on a gradient based optimization, a loss function reflecting the defined optimization problem, the three topological fields are simultaneously optimized via the network's weights. Posing the optimization with the NN weights as design variables in lieu of the orientation directly as the design variable results in the optimizer not getting stuck in local optima and face other convergence issues as often reported in CFAO technique.
In order to better understand the use of NN to represent SIMP density fields, the diagrams in
This coupling of representations for analysis and design can pose limitations in fidelity and accuracy of design features across different scales. Further, deriving the analytical expressions for sensitivity formulation can be tedious and challenging. The proposed NN approach decouples the representation for design (NN weights) from that of FEA (discrete elements), which enables geometric queries at high resolution (e.g., fiber orientation) while leveraging the efficiency of FEA. In other words, the design variables (e.g., composition of elements) are captured externally using a NN's activation functions and weights and is independent of the underlying mesh. Thus, by relying on an appropriate material model and a loss function reflecting the objectives and constraints problem, the design is optimized using the NN's built-in optimizer.
In the SIMP approach, the TO problem is converted into a continuous optimization problem using an auxiliary density field p defined over the domain. Assuming the volume constraint is active, as is typically assumed in such compliance minimization problems, the topology optimization problem can be posed as:
where u is the displacement field, K is the finite element stiffness matrix, f is the applied force, ρe is the density associated with element e, ve is the volume of the element, and V* is the prescribed volume.
While the density field is typically represented using the finite element mesh, in this example, it can be constructed independently via activation functions associated with a NN. In other words, given any point in the domain, the NN will output a density value as shown in
While there are various types of NNs, this example employs a simple fully-connected feed-forward NN 100, as shown in the diagram of
The NN itself includes a series of hidden layers 204 associated with activation functions such as leaky rectified linear unit (LeakyReLU) coupled with batch normalization. The final layer 206 of the NN 100 is a classifier layer with a softMax activation function that ensures that the density lies between 0 and 1. As illustrated in
The final layer, as mentioned earlier, is a softMax function that scales the outputs from the hidden layers to values between 0 and 1. For example, in FIG. this results in ψ1[1] calculated as shown in
As should be clear from the above description, once the activation function is chosen, the output ρ(x, y) is defined globally, and determined solely by the weights and bias. The entire set of weights and biases are denoted by w. Thus, the optimization problem using the NN may be posed as:
The element density value ρe(w) in the above equation is the density function evaluated at the geometric center of the element. For 2D finite element analysis, a regular four node quad element can be used, and fast Cholesky factorization based on the CVXOPT library. For 3D, a regular eight node hexahedral element can be used with an assembly free deflated finite element solver. In reference again to
J
e
={u
e}T[K]0{ue} (3)
J=Σ
eρepJe (4)
While the optimization is usually carried out using optimality criteria or MMA, this example uses NNs, which are designed to minimize an unconstrained loss function (see loss function 106 in
The solution of the constrained problem is obtained by minimizing the loss function as follows. Starting from a small positive value for the penalty parameter α, a gradient driven step is taken to minimize the loss function. Then, the penalty parameter is increased and the process is repeated. Observe that, in the limit α→∞, when the loss function is minimized, the equality constraint is satisfied and the objective is thereby minimized. In practice, a maximum value of 100 is usually assigned for α. The complete update scheme is described later in Algorithm 1. Other methods such as the augmented Lagrangian may also be used to convert the equality-constrained problem into an equivalent unconstrained problem.
Sensitivity analysis is an integral part of any optimization framework including NN. Neural networks rely on backpropagation to analytically compute the sensitivity of loss functions with respect to the weights and bias. This is possible since the activation functions are analytically defined, and the output can be expressed as a composition of such functions. Thus, in theory, once the network is defined, no additional work is needed to compute sensitivities; it can be computed automatically (and analytically) via backpropagation. However, in the current scenario, the FE implementation is outside of the NN (see
As seen in the table of
The above example optimizes a structure without regards to anisotropy of the materials. Additional features are described that can allow a neural network to perform a similar optimization, but using composite material comprising anisotropic elements embedded in a matrix material, which will be described here as an FRC-TO optimization, even though it may apply to other anisotropic materials and structures, e.g., structural reinforcement sheets embedded in a 3D volume. Note that the matrix material may be isotropic or anisotropic. The algorithm will not explicitly adjust the orientation of the matrix material during optimization, however matrix anisotropy may still affect the compliance results obtained using the FE solver. The orientation of the anisotropic elements (e.g., fibers) will be adjusted during the optimization.
In
As seen in the diagram of
The material description at any point x is represented at any point x as (x)={ρm(x); ρf(x); θ(x)}. The matrix is modeled using a SIMP-based density field, ρm∈[0, 1]. The fiber concentration is modeled as a continuous variable ρf∈[0, 1], where ρf=0 represents no fiber inclusion and ρf=1 represents matrix with complete fiber inclusion (within limits defined by r*f below). The angle θ∈[−π/2; π/2] is the orientation of the included fiber. Further, K(ζ) is the standard finite element stiffness matrix that depends on the material composition, f is the imposed load, and u is the displacement field. Equations (6c) and (6d) are the constraints on the volume of the matrix and fiber respectively. Here ve the volume/area of element and V*m is the imposed allowed volume fractions of the matrix. The value of r*f∈[0, 1] denotes what fraction of the matrix can be filled with fiber. The variable r*f=1 denotes that the matrix be allowed to be completely filled with fiber leading to stiffest design and vice-versa. Observe that while the constraints (Eq. 6c-6d) are often expressed as inequalities, they are expressed as equalities here assuming that they are always active at optimal conditions. Finally, while the range of the design variables are often imposed as box constraints, they are imposed here via judicious choice of the activation function in the NN's output layer.
Typically, in density based TO, the material description defined over the domain Ω0 is captured using the underlying FE mesh Ω0h. On the other hand, the material description is captured implicitly using the NN activation functions and weights. This mesh-independent NN based representation allows for: (1) accurate and automatic computation of sensitivities by exploiting the NN's back-propagation capabilities; (2) analytical and differentiable definition of topology, allowing the extraction of continuous fibers; and (3) concise description with the number of design variables remains constant with increasing mesh size or domain dimension.
As seen in the block diagram of
The input 802 to the NN are a set of np points sampled from the input domain i.e., X∈n
d×n
with h being a reference length (here the FE mesh size), Imax, Imin being the approximate length scales in the topology. For a detailed discussion, see Tancik, M., Srinivasan, P. P., Mildenhall, B., Fridovich-Keil, S., Raghavan, N., Singhal, U., Ramamoorthi, R., Barron, J. T., and Ng, R, (2020), “Fourier features let networks learn high frequency functions in low dimensional domains,” arXiv preprint arXiv:2006.10739.
The hidden layers (ϕ(X)→fw(ϕ(X)) include of a series of fully connected feed-forward layers activated by the Swish activation function (Swish(x)=x.sigmoid(x)). Further, the output defines material placement (via the matrix density) and fiber concentration and material orientation of the fibers. To capture this logical distinction, a fork is introduced in the hidden layers where two prongs of fully connected layers separate from an intermediate hidden layer, shown here as forked layers 800a, 800b that separate from hidden layer 800c. One forked layer 800a is trained to optimize the matrix density and concentration of fiber (ρm, ρf), and the other forked layer 800b is trained to optimize fiber orientation (θ).
The output layer (fw(ϕ(X))→ζ(X)) includes three neurons collectively representing ζ={ρm; ρf; θ}. The output layer is activated via a sigmoid function σ(⋅) to ensure the outputs are in range (0; 1). Further, the sigmoid activated orientation neuron is linearly transformed as
to have its output in the range
The obtained material description is then processed via the material model as discussed below.
The material at each point in the input domain is considered as either void, isotropic base matrix, or matrix embedded with anisotropic fibers. The fibrous material is generally stronger than the base matrix, with considerable strength along the fiber axis. The orientation and concentration of these fibers is spatially variant as to be determined by the optimizer, and the illustrated example is a planar formulation. The base material is characterized by its Elastic Modulus Em and Poisson's ratio vm. The composite is characterized by the Elastic Modulus along two axis E∥f, E⊥f, Poisson's ratio vf and Shear Modulus Gf. The matrix is represented using a standard two-phase SIMP material mode. The SIMP penalization function drives the matrix density towards {0; 1}. On the other hand, the fiber concentration is left un-penalized. Additionally, the base constitutive tensor of the fiber is rotated as dictated by it orientation. The effective Elasticity tensor [D] at a point x can then be expressed as in Equation (7) below, where p is the SIMP penalty parameter, [] and [
] are transformation matrices (see Equation(8), where m=cos θ and n=sin θ), [Df0] and [Dm0] are the constitutive matrices of the fiber and base matrix respectively.
The physical simulation is performed using conventional Finite Element Analysis. The input domain is discretized using geometrically congruent four node grid mesh. The element stiffness matrix is in Equation (9) below, where [∇Ne] is the gradient of the shape matrix, Ωe is the element domain [D(xe)] is elasticity tensor as in Equation (7) that is evaluated at the center of element e. The geometric congruency of the elements is exploited to significantly reduce computational cost. In particular, template stiffness matrices are precomputed, [{circumflex over (K)}i] i=1, 2, . . . , 6. Then, during optimization only the elasticity tensor of the elements is computed as in Equation (7) and the stiffness matrix is obtained as Equation (10). The FE computation can be expressed in PyTorch using a sparse end-end differentiable solver. This allows for automated sensitivity analysis rather than manual derivation and implementation of the sensitivities
[Ke]=∫Ω
[Ke]=D11(xe)[{circumflex over (K)}1]+D22(xe)[{circumflex over (K)}2]+D33(xe[{circumflex over (K)}3]+D12(xe)[{circumflex over (K)}4]+D13(xe[{circumflex over (K)}5]+D20(xe)[{circumflex over (K)}6] (10)
The constrained optimization problem in Equation (6) can be converted to an equivalent unconstrained loss suitable for a NN training/optimization framework. Relying on a simple penalty formulation, Equations (6a), (6c) and (6d) can be expressed as
where α is a penalty parameter and J0 is the initial compliance, used here for scaling. compliance, used here for scaling. Observe that Equation (6b) is automatically satisfied when computing the state variable via FEA. Starting from a small positive value for α, a gradient driven step is taken to minimize the loss function (Adam optimization). Then, the penalty parameter is increased and the process is repeated. Observe that
as the loss function is minimized, thereby satisfying the equality constraint. While αm and αf are often independent, they are treated the same, i.e., αm=αf=α in these experiments.
An important factor to consider for the update schemes during optimization is the sensitivity, i.e., derivative, of the loss set forth in Equation (11) with respect to the weights of the NN. While the derivation and implementation of these are typically carried out manually, this can be laborious and often error prone. Instead, the autograd abilities of NN frameworks (also referred to herein as automatic differentiation or backpropogation) can be used to automate their computation. Autograd performs a systematic derivation of the sensitivity using the chain-rule. Thus, only the broader derivative terms are expressed in Equation (12). Note that the terms in curly braces in Equation 12 represent the sensitivities A, B, and C shown in
The proposed framework is summarized in the algorithm shown in
In
As a second validation experiment, the material model is modified and the results obtained compared against Desai et al. (2021). A two-phase model was proposed in Desai et al. (2021) where fibrous embedding is completely present or absent at any location in the matrix. To enforce this, the model is solved with V*m=1 and the material model in Equation (7) is modified as,
[D(x)]=ρmp(x)(ρf(x)[(θ(x))]−1[Df0][
(θ(x))]+(1−ρf(x))[Dm0])) (13)
Observe that penalizing the fiber concentration drives its value to either 1 or 0. Further, automatic differentiation can be used instead of re-deriving the sensitivity expressions. The allowed fiber concentrations r*f were varied and the results are shown in
In
In
One consideration during the design stage is exploring the Pareto-front to make judicious engineering decisions. Towards that goal, the symmetric half of the Michell structure is considered and the compliance and topology for varying values of V*f and V*m is explored in
Once the optimization is completed, due to the global representation of the topology, one can extract from the neural network a definition of smooth, long, optimally oriented and concentrated fibers. Specifically, the optimized weights allow querying the topology at any location ζ({right arrow over (x)})=NN({right arrow over (x)}; w*), e.g., a scale that is order of magnitudes smaller than the FEA mesh sizes. Then by finely stepping along the paths, one may obtain the desired geometry (e.g., paths and lengths of individual fibers). The post processing algorithm is described in detail in
By allowing for variable fiber concentration, that the optimization primarily results in designs with few regions of concentrated fiber, few regions with partially concentrated fibers and regions with no fibers. However, from a manufacturing perspective, it might be of interest to have regions where fibers are present everywhere in the matrix. This filling allows expressing the toolpath in the entirety of the domain. To obtain such a distribution, a minimum (and optionally a maximum) fiber concentration is enforced. The output of the fiber concentration neuron is activated as,
ρf(x)=ρfmin(ρfmax−ρfmin)σ(op) (14)
Where “op” is the pre-activated output of the neuron and σ(⋅) is the sigmoid activation function. This results in ρf∈(ρfmax,ρfmin). For instance, consider the tip cantilever beam with V*f=0:6, V*m=0:5 and additionally ρfmin=0.2 and ρfmax=1. The obtained topology and compliance is shown in
While TO allows deriving designs in an automated fashion for specified requirements, a factor during design stages is experimenting with the optimization objectives and constraints themselves. Current trends involve error-prone derivation and laborious implementation of the objectives and their sensitivities. In this work, by expressing computations completely using the PyTorch, an end-end differentiable framework. To illustrate, consider the optimization of compliant mechanisms as shown in the diagram of
The methods and processes described above can be implemented on computer hardware, e.g., workstations, servers, as known in the art. In
The network interface 2012 facilitates communications via a network 2014, using wired or wireless media, with two or more manufacturing apparatuses 2016 that can perform manufacturing operations. Examples of the manufacturing apparatuses 2016 include 3D printers, selective laser metal sintering machines, computer numeric controlled (CNC) mills, CNC lathes, CNC laser cutters, CNC water cutters, etc. Data may also be transferred to the manufacturing apparatuses 2016 using non-network data transfer interfaces, e.g., via portable data storage drives, point-to-point communication, etc.
The apparatus 2000 includes software 2020 such as an operating system 2022 and drivers 2024 that facilitate communications between user-level programs and the hardware. The software 2020 includes a physics solver 2026 that facilitates modeling performance of a part that is optimized via the use of a neural network library 2030. In other words, the physics solver 2026 operates within an NN framework provided by the neural network library 2030. The physics solver 2026 may interface with a geometry database 2034 that includes the part geometry and other factors (e.g., build tolerances, materials, etc.) The physics solver 2026 may perform FEA, finite difference analysis, computational fluid dynamics, etc. The neural network library 2030 may use custom code or existing libraries such as PyTorch, TensorFlow, etc. The software 2020 interacts with a user interface 2009 that allows user to, among other things, input design domain and solution parameters, and view the solution results. Note that the functional components shown in
Unless otherwise indicated, all numbers expressing feature sizes, amounts, and physical properties used in the specification and claims are to be understood as being modified in all instances by the term “about.” Accordingly, unless indicated to the contrary, the numerical parameters set forth in the foregoing specification and attached claims are approximations that can vary depending upon the desired properties sought to be obtained by those skilled in the art utilizing the teachings disclosed herein. The use of numerical ranges by endpoints includes all numbers within that range (e.g. 1 to 5 includes 1, 1.5, 2, 2.75, 3, 3.80, 4, and 5) and any range within that range.
The various embodiments described above may be implemented using circuitry, firmware, and/or software modules that interact to provide particular results. One of skill in the arts can readily implement such described functionality, either at a modular level or as a whole, using knowledge generally known in the art. For example, the flowcharts and control diagrams illustrated herein may be used to create computer-readable instructions/code for execution by a processor. Such instructions may be stored on a non-transitory computer-readable medium and transferred to the processor for execution as is known in the art. The structures and procedures shown above are only a representative example of embodiments that can be used to provide the functions described hereinabove.
The foregoing description of the example embodiments has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. Any or all features of the disclosed embodiments can be applied individually or in any combination are not meant to be limiting, but purely illustrative. It is intended that the scope of the invention be limited not with this detailed description, but rather determined by the claims appended hereto.