This disclosure relates generally to systems and methods for performing fatigue-based topology optimization.
Topology optimization is known in the art of structural design and is commonly used for optimizing the structural characteristics of a given material. More specifically, topology optimization employs a mathematical approach which aids design engineers in optimizing the distribution of a material for a given set of loads and boundary conditions so as to meet structural target performance requirements. There are several different techniques for conducting topology optimization. Among those, the material distribution technique has been well established and proven adequate in industries worldwide. However, the developments in the material distribution technique relie more upon compliance and other global response constraints, such as frequency, when in fact fatigue is one of the more important considerations.
A challenge of fatigue-based topology optimization pertains to the local nature of fatigue constraints. In an ideal continuum setting, fatigue constraints should be considered at every material point. Although in a finite element analysis, the number of such material points is still too large for practical applications. One solution to accommodate for this setback is to replace the local fatigue constraints with a single integrated fatigue constraint that approximates the maximum fatigue value. While such global approaches are computationally efficient, they do not adequately control the local fatigue behaviors.
Another challenge associated with fatigue-based topology optimization pertains to the highly nonlinear dependence of fatigue constraints on the structure or design in question. It is well known that fatigue levels are significantly affected by material distribution changes in neighboring regions. The highly nonlinear nature of fatigue constraints only increases the phenomenon in critical regions with large spatial fatigue gradients, such as reentrant corners, and the like. Accordingly, formulating design optimization problems and the algorithms for resolving the problems must be numerically consistent to avoid convergence problems.
In one aspect of the present disclosure, a method for performing fatigue-based topology optimization of a structure on a computational device is provided. The method may include the blocks of receiving first data at an input device coupled to an input of the computational device, the first data pertaining to a problem definition of the structure; generating a density filter; generating interpolation schemes for stiffness, volume and fatigue; generating a regional fatigue measure; generating a global fatigue measure; generating an adaptive normalization scheme; generating second data based on the first data, the density filter, the interpolation schemes, the global fatigue measure, the adaptive normalization scheme and the regional fatigue measure, the second data pertaining to an optimized solution to the problem definition; and displaying the optimized solution at an output device coupled to an output of the computational device.
In another aspect of the present disclosure, a system for performing fatigue-based topology optimization of a structure is provided. The system may include an input device, an output device and a computational device. The computational device may include a microprocessor and a memory for storing an algorithm for performing fatigue-based topology optimization. The algorithm may configure the computational device to receive first data at the input device, the first data pertaining to a problem definition of the structure, generate a density filter, generate interpolation schemes for stiffness, volume and fatigue, generate a global fatigue measure, generate an adaptive normalization scheme, generate a regional fatigue measure, generate second data based on the first data, the density filter, the interpolation schemes, the global fatigue measure, the adaptive normalization scheme and the regional fatigue measure, the second data pertaining to an optimized solution to the problem definition, and output the second data to the output device.
In yet another aspect of the present disclosure, a computer program product is provided. The computer program may include a computer-readable medium with control logic stored therein for configuring a computer to perform fatigue-based topology optimization. The control logic may include a series of readable program code. The program code may configure the computer to generate a density filter; generate interpolation schemes for stiffness, volume and fatigue; generate a global fatigue measure; generate an adaptive normalization scheme; and generate a regional fatigue measure.
Referring to the drawings and with particular reference to
Turning to
The density filtering technique of block 12 may be used to generate a well-posed topology optimization problem to be resolved. According to one technique, the design field d may be filtered to define the material density field ρ. Using piecewise uniform finite element discretization of density, the vectors d and ρ may include the element design variables and densities, respectively. The latter may be defined by filtering the former. For example, the filter may be defined by
where the domain of element Ωi contains all elements j that lie within the radius ro of element i as measured from their respective centroids. The weighting factor wj>0, as defined in expressions (1) above, may correspond to that of a cone filter where rj may be the distance between the element i and j centroids. Alternative smoothing filters may also be used.
As generally applied to topology optimization problems, the density ρ may be bounded between 0 and 1. Similar bounds may be imposed on d, and thus, by defining ρ via the filter, an upper bound value for |∇ρ| may be determined where ∇ρ may be the spatial gradient of ρ. By defining ρ through the bounded d, smoothness may be imposed on ρ without requiring any additional constraints on d. Such smoothness may serve to prevent designs with small scale features, such as narrow members, jagged edges, micro-perforations, sharp interfaces, or the like.
Density-based topology optimization may be used to generate black and white designs from which structural members may be readily identified. However, the generation of black and white designs that exhibit small scale features, for example, jagged edges, at early intermediate iterations may not be so useful for the purposes of fatigue-based topology optimization. Fatigue may be a local measure which exhibits high spatial gradients. The spatial gradients may be determined from the displacement gradient. However, the displacement gradient may be determined with less accuracy than the finite element displacement field, especially in fatigue concentration regions. The resulting fatigue computed at element centroids may be artificially low with respect to the small scale features, for example, jagged edges, which are known to include fatigue singularities. Small scale features, such as jagged edges, may ultimately be smoothed in the design interpretation stages when the computed fatigue levels increase. Accordingly, it may be more effective to generate designs with smooth blurred boundaries using a filter, for example, the filter defined by expressions (1) above, than to generate designs having sharp jagged boundaries.
Still referring to
The SIMP model may be what penalizes intermediate densities and generate black and white designs which may force the optimization to prematurely converge to local optimal. Accordingly, the filter may provide smoothing for the optimization algorithm, and further, enhance its ability to converge to the global optima. In such a way, the SIMP model may be one of many interpolation schemes provided in block 14 to effectively complement the density filter provided in block 12.
In certain applications, the fatigue-based topology optimization method 10 may further generate a stress relaxation definition, for example, a SIMP-like relaxed stress definition, for solving singularities. A singularity problem may exist when optimal topologies belong to degenerate sub-spaces of a feasible design space where one or more bars have zero cross section. Convergence to such optimal topologies, or singular topologies, is essentially impossible with gradient-based optimizers. One way to eliminate such degenerate subspaces may be to relax the fatigue constraints by using, for example, the \epsilon ε-relaxation and smooth envelope functions (SEFs) and related variations that are adapted for use with continuum design. Introducing such relaxation may make the topology optimization problem more tractable by generating a smooth feasible design space.
To relax fatigue constraints, a SIMP-like relaxed stress definition may be employed. More specifically, the discrete topology optimization problem, for example, where ρε{0, 1}, may be relaxed to a continuous optimization problem, for example, where ρε[0, 1], which may be forced to generate a discrete design at the end of the optimization process. Consequently, interpolation schemes for the stiffness, volume, stress, and the like, may be defined so as to interpolate between respective possible minimum and maximum values. For stiffness, value ηc may be introduced to weight the solid material elasticity tensor o, as defined for example by
(ρ)=ηc(ρ)
o (2)
where ηc, is a monotonically increasing function within the range of 0<ηc(ρ)≦ρ for 0<ρ<1, satisfies ηc(1)=1 and also satisfies ηc(0)=0. For volume, value may be introduced to weight the infinitesimal volume duo as
dυ=η
υ(ρ)dυo (3)
where the total volume may be determined by V=∫Ωηv(ρ)dυo, and where ηv is a monotonically increasing function within the range of 0≦ηv(ρ)<1 for 0<ρ<1, satisfies ηv(1)=1 and also satisfies ηv(0)=0. The interpolation of stiffness and volume may essentially be responsible for the penalization of intermediate densities so as to force the final design to be discrete. For example, the interpolations corresponding to the SIMP techniques may be ηo(ρ)=ρ and ηv(ρ)=ρ whereby the stiffness may be penalized for intermediate densities. Alternatively, the volume, or both the stiffness and the volume, may be penalized according to the sin h technique, or other comparable techniques well known in the art.
Similarly, value ηT may be introduced to weight the stress in the solid material, for example, To=o[∇u], as defined by
T
o(ρ)=ηT(ρ)To (4)
where ηT is a monotonically increasing function within the range of ηo(ρ)<nT(ρ)<1 for 0<ρ<1, satisfies ηT(0)=0 so that the fatigue in void regions is zero and the feasible design space is smooth without degenerate regions, and further, where nT in satisfies ηT(1)=1 so that the relaxed stress is consistent with stress in the solid material. In alternative embodiments, ηT may be selected to satisfy ρ<ηT(ρ) such that intermediate densities are further penalized by the stress interpolation.
The bounds on ηT, wherein ηc(ρ)<ηT(ρ)<1 for 0<ρ<1, may suggest that the interpolated stress is chosen between two limiting stress bounds, including solid fatigue defined by, for example, To=o[∇u], and macroscopic stress defined by, for example, T(ρ)=
(ρ)[∇u]=ηc(ρ)To. Both solid and macroscopic stress values may not be suitable for use in fatigue-based topology optimization. With respect to solid stress, stress and fatigue, at zero densities may be non-zero since the strain ∇u may typically be non-zero. As a result, the optimizer may be unable to eliminate materials in some areas of the design domain. In contrast, with respect to macroscopic fatigue, the optimizer may generate a trivial all-void design. This may be demonstrated by considering a feasible design p which may have an elasticity tensor that is defined by, for example,
(ρ)=ηc(ρ)
o where value ηc(ρ) may be a homogeneous function of degree p>1, for example, where ηc(ρ)=ρP, and a displacement of u (ρ). Subsequently, the feasible design ρ may be uniformly scaled such that ρ→αρ where 0<α<1. For the scaled design, it may be determined that
(αρ)=(αρ)
o=αP ηc(ρ)
o=αP
(ρ), and further, that u (αρ)=α−P u (ρ). Accordingly, further examination of the macroscopic stress may provide T(αρ)=T(ρ). Uniformly eliminating macroscopic materials may not affect the stress, and thus, the optimization may attempt to eliminate all materials.
The following section details the efficient calculation of signed von Mises fatigue life, and the subsequent section details the damage calculation, along with its sensitivities.
Signed Von Mises Fatigue Life
Assume that each load in the fatigue loading history is given as a linear combination of n ‘basis’ loads.
where σp denotes the stress state for basis loadp. Also, ρ denotes the density in the solid isotropic material model (SIMP), and r is the relaxation power. The signed von Mises stress may be given by
k:=sgn(σH(σk))√{square root over (σk:Vσk)} (b)
In the above, σH denotes the hydrostatic stress, and V is the Voigt matrix given by
In order to identify the loads that make up the stress ranges for complex loading histories, a rain flow counting algorithm may be applied on the signed von Mises stresses given by Eq. 2. A stress range j, as computed by the rain flow counting algorithm, formed by loads k and k−1 is correspondingly given by
Δσj:=|{tilde over (σ)}k−
In order to compute efficiently the stresses (which is required for each finite element, for each load in the loading history, and for each design), the structure of [0039] a may be used. First, for each finite element, compute the n2 quantities
z
ij=σi:Vσj, i,j=1,2, . . . ,n (e)
From the finite element solution, the above can also be computed from
z
ij
=u
i
T
Mu
j (f)
where u is the vector of displacements at the element nodes, and M=BTVB, where B is the strain-displacement matrix. Denote by sk the hydrostatic stress σH (σk) for simplicity of notation; also, to take advantage of the optimizations of the Fortran 90 compiler for vector dot products, compute the signed von Mises stress as
{tilde over (σ)}k=skvec(αpkαqk)Tvec(zpq) p,q=1,2, . . . ,n (g)
where
s
k=σH(σk)=vec(αpk)Tvec(σH(σp)) p,q=1,2, . . . ,n (h)
Assuming each stress range is applied once on the loading block, and damage is accumulated linearly in agreement with Palmgren-Miner's rule, the fatigue life is then given by
where T is the duration of one block loading, and Nfj is the number of cycles to failure for the jth stress range, which in turn is given by
with σ′f and b being material constants.
However, it is worth noting that the major advantage of providing for an internal fatigue calculation is not an improvement in speed in the life calculation itself, but the fact that analytical derivatives can be computed for the life (or damage) of an element with respect to element densities; if an external fatigue analysis tool was used to compute these sensitivities, finite differences would be required to approximate the sensitivities, and therefore N+1 finite element analyses and fatigue analysis would be required, where N is the number of elements in the design space, which is clearly computationally infeasible.
Denote an aggregate function g of the damage in the structure whose form is specified later. By the chain rule, the design sensitivity of g is given by
The following subsections will focus on deriving the sensitivities for the partial design derivatives of the cycles to failure and the stress ranges; subsequently the actual form of g may be defined and its sensitivities may be obtained using the adjoint method.
Stress Range and Cycles-to-Failure Design Sensitivities
In order to compute the stress range sensitivities, two important assumptions may be required. The first assumption is related to the sign of the hydrostatic stress. The derivative of sk is zero almost everywhere, and undefined at a σH=0. Assume that at all a σH≠0, and therefore ∂sk∂ρi=0 (i.e. it is constant). The second important assumption is that an infinitesimal perturbation of ρi does not alter the make up of the rain flow counting, i.e. the load locations k and k−1 in the loading history that make up range j remain the same (although their magnitudes certainly will change). With these assumptions, the design sensitivities are continuous and bounded within the range of the element densities.
The design derivative of the signed von Mises stress of element k is given by
In the above δ1i denotes the Kronecker delta (δ1i=1 if i=1, δ1i=0 otherwise), and by using the fact that since M is symmetric and the indices p and q belong to the same set,
Having the above expression, the stress range design sensitivity may be derived as follows:
The sensitivities of the cycles-to-failure are given by
Assume that the material does not have an endurance limit, and the sloped portion of the material S-N curve intersects both axes. This guarantees differentiability of the damage cycles-to-failure for the range of the element densities.
A damage function g may be defined as
where b is the fatigue parameter and De is the element damage given by
In the above, a p-norm may be employed to force the optimizer to preferentially improve high damage regions, and the logarithm function may be employed to provide better scaling for the optimization. The design sensitivity of the damage function is given by
With the following simplification:
Thus, it may be determined that
In order to avoid calculation of the sensitivities of the displacements corresponding to the basis loads, which is computationally prohibitive, the adjoint method may be used. The augmented Lagrangian may be defined as
where λg is the vector of Lagrange multipliers for basis load q, and uq and fq are the corresponding displacement field and applied loads respectively, and K is the stiffness matrix. Since every uq satisfies equilibrium for each basis load q, the term in parenthesis in the above equation equals zero. The derivative of the augmented Lagrangian is given by
To eliminate computation of the sensitivities of uq, the equation above may be regrouped to obtain the following:
where λq is the solution to
with c being the stiffness penalization power, and Kio denoting the stiffness matrix for element i when it is fully solid.
The method 10 of
The global fatigue measure of block 16 may be defined by referring back to the original problem having n constraints, one for each element e, for example,
D
e
≦
where De may be the relaxed fatigue measure,
However, the maximum function may not be differentiable, and thus, may need to be smoothed by using, for example, p-norm or the Kreisselmeier-Steinhauser (KS) function. By adopting the p-norm measure the constraint may become
where P may be the fatigue norm parameter and υe may be the element e solid volume. Accordingly, a single fatigue criterion may be imposed on the structure.
Based on expression (8), it may be determined that as the fatigue norm parameter P→∞, the p-norm DPN may approach the maximum fatigue Dmax modulo the element volume, in which case there may be no added smoothness. It may also be determined that when P->1, there may be excessive smoothness but the p-norm may approach the average fatigue, modulo the volume. A good choice for P may therefore provide adequate smoothness so that the optimization algorithm performs well and provides adequate approximation of the maximum fatigue value. This is so that the optimized design may better satisfy the imposed fatigue constraints.
For fatigue minimization formulations the choice of the fatigue norm parameter P may not be critical because the p-norm may only need to capture the trend of the maximum fatigue and not the actual maximum fatigue value.
The problem may be formulated to minimize fatigue (DPN as defined for example in expression (8) above, where De may be the fatigue at the element centroids, subject to the volume constraint V≦V≦Vmax Vmins≦V≦Vmax where Vmax may be the design domain volume, and further, may be solved with any gradient-based optimization algorithm, or the like. Lower P values may result in designs with more uniform fatigue distributions in which the fatigue concentration may be reduced. In contrast, larger P values may result in designs with more uniform fatigue distributions.
The method 10 of
σmax=cσPN≦
where c may be calculated at each optimization iteration I≦1 as
The above parameter αjε(0, 1] may control the variations between cI and cI−1. If c tends to oscillate between iterations, αI may be chosen from 0<αI<1. If c does not oscillate between iterations, αI may be chosen as 1. Here, αI may be selected as 1. As the design converges, dI=dI−1 so that σP NI=OPNI−1 DPNI≦DPNI−1 and DmaxI≈DmaxI−1. Because the value of c may be changed in a discontinuous manner, the constraint cDPN≦
Each of the blocks 12, 14, 16 and 18 of the optimization method 10 of
where Ωk may represent the set of elements in region k of a body region Ω. In such a way, the normalized p-norm constraint of expression (9) may be imposed over each region k using, for example,
D
max k
≈c
k
D
PN k
≦
where ck may be determined independently for each region using expression (10) and where DPN k may be obtained from expression (8) by considering only the elements in region Ωk.
Each region may be defined and based on any combination of attributes, including, but not limited to, physical location, fatigue distribution, element connectivity, and the like. In some cases, the regions may also be interlaced to generate better results. Defining regions in such a way may serve to provide better control of local fatigue. The individual regions need not be connected, or the elements that make up each region need not be contiguous. To define the interlacing regions, elements may be sorted based on respective fatigue levels at the current design iteration I, according to, for example,
{e1,e2, . . . ,en;σe
and then define the m regions using, for example,
Ωk={ek,em+k,e2m+k . . . }, k=1,2, . . . m (14)
When the values of m=1 and m=n, where n represents the number of elements, constraints may be defined according to expressions (6) and (9).
The method 10 of
As shown in expression (15) above, σe De may be the respective local response, for example, it may represent either the element fatigue or the strain energy density values, and De may represent its respective bound. To define the regions based on the interlacing scheme of expression (14), the elements may be sorted by the value of De/
based on expressions (8), (9) and (12). Here, the value of De/
A typical way to address the multiple load case problem may be to consider each of the 1 load cases separately and use m regional constraints per load case. Alternatively, all load case 1-element e fatigue ratios Dle/
Accordingly, for the fatigue-constrained problem, the volume may be minimized subject to fatigue constraints, for example,
where ρ may be the element density vector, which may be a function of the element design vector d, as defined in expression (1), where V may be the structure volume, which may be a function of ρ and d, where υe may be the element e solid volume, where Dle may be the fatigue measure in element e under load case 1, which may be an implicit function of ρ and d, where Ωk may be the set of element-load case fatigue in region k, where Dle may be the fatigue limit for element e under load case 1, where ck may be the normalization factor for region k, as defined in expression (10), and where m may be the number of constraints, or the number of regions. Using the same notation, the fatigue minimization problem may be defined as, for example,
where
where =ηc(ρ)
o. In expressions (17), (18) and (19) above, the elasticity equations may define additional constraints that relate the fatigue values to the design d. The sensitivities for these implicitly defined relations may be obtained via the adjoint technique, or the like.
At block 510, boundary constraints may be received. The boundary constraints may be a set of boundary conditions that may be used to simulate a large system by modeling a small part that is far from its edge. At block 520, element sets may be received that define the design space constraints for the topology optimization and regions constraints upon which a durability requirement is to be imposed. The design space constraints may indicate the physical limitations for the item 210, such as it cannot be longer than 8 inches or wider than 2.4 cm in order for it to fit the space.
At block 530, fatigue loading constraints may be received. The fatigue constraints may indicate the parts of the item 210 that are under load. Multiple loads may be handled as mentioned previously.
At block 540, material fatigue property constraints may be received. As is known, different materials have different strengths. Fatigue may be a measure of at what point a crack in the material will occur over time. It is based on a history of loading which can be estimated for any given point given stress over time. The material fatigue constraints may be provided in any format that can be understood by the method.
At block 550, a definition of the optimization objective function and the constraints may be received. The objective function may vary. In some situations, weight or mass may be critical and it may be desirable to minimize the weight or mass. In other situations, the weight or mass may be of less importance while the number of repetitions before failure may be more important. Similarly, the constraints may include information like the cost of the available materials. For example, platinum may be well suited for a project but it may be incredibly expensive. At the same time, aluminum may be not as well suited but may be significantly cheaper.
At block 570, topology optimization routines may be iterated which may include determining the fatigue at every point of the structural component and employing correction to account for the effect of mean fatigue.
At block 580, load paths may be rendered that either have a smaller objective function than the previous iteration and satisfy the constraints or have a larger objective function but violates the constraints less than previous iterations. At block 790, the method may be stopped if either the constraints are satisfied and the change between consecutive iterations is negligible or if a maximum number of iterations has been reached.
The results of the method may be seen in
Turning now to
During operation, the input device 304 may be configured to receive a problem definition that may be specified by a user. More specifically, a user may input into the input device 304 information or first data 314 pertaining to the problem definition to be resolved including, for example, geometries or dimensions of a given structure, material of the given structure, fatigue criteria, load data, and the like. From the input device 304, the problem definition or first data 314 may be transmitted to the computational device 302. In some embodiments, the first data 314 may also be temporarily stored within the memory 310 for retrieval by the microprocessor 308.
The computational device 302 may then proceed to convert the problem definition data 314 into a second data or solution data 316 in accordance with the algorithm. Moreover, in response to the received first data 314, the microprocessor 308 may access the algorithm from any one of the storage devices 310, 311 and 312, to begin generating an optimized solution to the problem defined by the user according to the fatigue-based topology optimization method 10 of
The foregoing disclosure finds utility in any structural design application that may demand more accurate characterization of a concept structure before reducing the structure to tangible builds and actual strength and/or durability testing. In the construction industry, for example, the disclosed fatigue-based topology optimization method 10 may be used to conceptualize the structural characteristics of a novel work tool of a construction vehicle so as to better predict the optimum design for the novel work tool. This can significantly reduce the time and costs associated with repeatedly building a number of work tools with slightly modified designs and subjecting the work tools to strength tests.