+18888889999
诚信为本:市场永远在变,诚信永远不变。

本人研究方向是面向3D打印的结构和拓扑优化,想咨询下有没有相关方面的入门书籍?

你的位置: 首页 > 门徒平台资讯

本人研究方向是面向3D打印的结构和拓扑优化,想咨询下有没有相关方面的入门书籍?

2024-04-15 12:12:41

主要是拓扑优化和点阵结构

《增材制造设计(DfAM)指南》([新西兰]奥拉夫·迪格尔(Olaf,Diegel),[瑞典]阿克塞尔·诺丁(Axel,Nordin),[瑞典]达米恩·莫特(Damien,Motte))【摘要 书评 试读】- 京东图书

还有这些增材设计的技术专栏文章可以参考:

Column - 3D科学谷

零件如果有封闭腔室,3D打印完成后清除金属粉末就是一件麻烦事。无论是零件设计阶段还是打印完成阶段,简单地通过改变外形方法清除粉末都是存在弊端的。不合理的拓扑优化也会在设计中生成封闭腔室。为了方便除粉,在拓扑优化中增加除粉通道是十分必要的。具体怎么做?工号002向大家介绍澳大利亚莫纳什大学团队的拓扑优化过程。

整个方法的工作流程如图 1所示



优化从模型和参数的初始化开始,将其读取并存储到数据库中以方便进一步使用。接下来的步骤是进行有限元分析(FEA)和计算灵敏度。这些元素根据它们的敏感性进行排序。灵敏度高于阈值的被视为实体元素,灵敏度低于阈值的被去激活并被视为空元素。这适用于整个模型,包括上次迭代中生成的通道。然后,通过深度优先搜索 (DFS),根据空元素之间的连接状态识别由空元素簇形成的内部空隙。连接图是根据元素之间的连通性和元素的敏感性构建的。最小成本路径,这是指具有最小整体灵敏度的元素路径,在每对空隙之间使用 Dijkstra 算法获得。然后通过遗传算法获得通过所有空隙的最小成本路径。然后生成通道并更新整个设计。当满足停止条件时优化停止。

初始化优化

为了准备拓扑优化方法,将模型离散化为有限元。通过扫描模型并提取数据来构建数据库。模型可以包含多个部分,包括设计区域和非设计区域。在一个模型中设置多个部件有助于优化内部可以有多个组件的实用模型。零件可以包含很多元素,检查每个元素的相邻状态并记录在数据库中,以方便生成通道。

计算灵敏度值

BESO 方法是用于当前优化任务的拓扑优化方法。对于具有指定设计空间的给定模型,将有许多有限元。

元素i的存在状态由Xi表示,其中Xi=0表示空隙(void),Xi=1表示固体。该方法使用 BESO 的 hard-kill 版本来促进无效识别。它还可以切换到 BESO 的soft-kill版本。对于静态线性弹性结构,最小化顺应性的优化任务如下:



其中C是目标函数,f是力矢量,u是位移矢量,V*是规定的体积约束,V i是元素i的体积,N是元素总数。元素i的灵敏度计算如下:



其中,K0i代表单元i的刚度矩阵,ui是单元i的位移矢量。对于不同的xi值,灵敏度值变为



需要注意的是,等式(2)、(3)对于体力模型也是如此。然后对灵敏度值进行平滑处理,以获得网格无关的解。节点灵敏度值首先通过平均元素灵敏度值计算:



其中M是附加到第j个节点的元素数量,wi是第i个元素的权重因子





其中rij是第i个元素的中心和第j个节点之间的距离。说明越近的单元对节点灵敏度值的影响越大。然后,通过半径为rmin的过滤器将节点灵敏度值转换为平滑的元素灵敏度值。如果使用指定的通道半径,则过滤器半径应大于通道半径,以确保通道的有效更新。距离一个元素中心rmin范围内的节点将用于计算该元素的平滑灵敏度:



其中K是有助于平滑的节点总数,w(rij)是由下式定义的权重因子:



通过迭代将灵敏度值与其历史值进一步平均,以稳定目标函数的收敛性。



其中k是当前迭代,k?1是上一次迭代。处理后的灵敏度用于对元素进行排序。每个元素的状态根据元素灵敏度的等级和由下一次迭代Vk+1的目标体积决定的阈值进行修改。在每次迭代中,目标体积为



其中ER是表示每次迭代中体积变化百分比的演化比率。当满足体积约束时,剩余迭代的体积将保持恒定,Vk+1=V?. 灵敏度高于阈值的元素被视为实心元素,而低于阈值的元素则被视为空心元素。收敛条件为



其中k表示当前迭代,N是表示用于收敛检查的2N次迭代的整数,τ是收敛的允许误差。一般的建议是N等于5,τ等于0.01%(Huang和Xie 2010b),而在案例研究中,在收敛之后还包括了一些迭代,以便于比较结果。

对于具有统一横截面要求的模型,应用分组运算方法,以确保BESO设计具有统一的横截面。分组运算方法可以应用于具有恒定截面的准二维模型或具有轴对称约束的旋转模型。



如图2所示,沿厚度或圆周方向的元素被视为一组。垂直于分组方向的元素视为横截面,应在优化之前手动指定。该组的灵敏度通过内部元素的平均值来计算。排序、停用和激活操作应用于整个组而不是单个元素。这可以保证设计具有均匀的横截面或轴对称几何结构,而不考虑加载条件。

创建穿过所有空隙的通道

将前面部分详述的有限元分析、灵敏度计算、灵敏度过滤、单元分组和单元排序过程应用到模型中。根据排序结果更新元素的存在状态,并停用具有较低灵敏度的元素。这些失活元素形成内部空隙,如图3中的示例模型所示。



离散模型的插图a具有实体元素(橙色)和空隙元素(白色),b具有封闭空隙(绿色),入口的潜在区域(红色)和出口的潜在区域(蓝色),c内部空隙元素和边界分配有高灵敏度的元素(灰色)。

通道构建模块确保了封闭空隙和外部空间之间的连通性。这包括识别空隙、搜索空隙对之间的最佳路径,以及设计穿过所有空隙的最佳路径。

识别空隙(void)

上一步的初始设计包含实心元素和空心元素。由空隙元素形成的封闭空隙将连接到外部空间。为了创建穿过所有空隙的通道,首先通过将空隙元素分组来识别封闭的空隙。然后将由有限元组成的整个模型视为图G?=?(V,E),其中元素由顶点V表示,元素之间的连接状态由边E表示。可以将空隙视为子图S=(VS,ES),其中对于每个x,y∈VS,有一条从x到y的路径,反之亦然。识别模型中的空隙的任务相当于在图中找到一个强连通的组件。Pearce的算法被应用于寻找强连通的空隙元素。该算法的基本思想是使用深度优先搜索(DFS)算法遍历图并动态记录访问顶点的状态。

空隙识别的第一步是通过检查元素的存在状态来挑选所有空隙元素。这些空隙元素被传递到以下搜索步骤。之后,通过搜索连接的元素来识别空隙。在三维离散化模型中,如果两个元素共享一个公共面,则将它们视为连接的。元素之间的连接状态被更新并迭代存储在数据库中,如第节所述。2.1、当应用搜索算法时,可以直接从数据库中读取连接状态。图4中显示了具有五个空隙元素的样本空隙。DFS算法将首先搜索深度,访问元素1、2、3和4,然后返回到侧分支中的元素5。所有访问的元素都标记为已访问,并记录在一个集群中,该集群表示一个空。之后,DFS算法被切换到未访问的元素以找到另一个空位。当所有空元素标记为已访问时,搜索停止。



在优化之前定义边界元素集,以指示模型的边界。它被分组为元素项集并存储在数据库中。连接到边界集的空心元素被视为属于外部空间,不应将其视为内部空心元素。将根据边界检查所有空心元素簇。如果集群中的任何元素连接到边界或属于边界,则整个集群将被删除并从以下操作中排除。其余的簇表示由空隙元素组成的分离的封闭空隙。样品模型的封闭空隙以绿色突出显示,如图3b所示。入口和出口的潜在区域可以人工设置到所选位置,如图3b中红色和蓝色突出显示的。这将为用户提供一种选择,以避免对设计中的某些功能特性的可能影响。对于没有此类要求的简单模型,可以将入口区域和出口区域设置为整个外部边界。

优化空隙对之间的路径

由有限元组成的整个模型被视为图G?=?(V,E)。空隙被视为上一节中已识别的子图。通道可视为路径P?=?[v0,v1,…,vx]逐个连接和交叉子图。最佳路径的搜索分为两个步骤。第一步是找出每对两个空隙之间的最佳路径,这将在本节中详细介绍。第二步是找出穿过空隙的路径的最佳顺序。在任意一对两个空隙之间可以有许多可能的路径P。从这些可能性中可以预期结构刚度成本最小的路径。空隙对之间的最佳路径被准备为下一步骤的潜在选项。然后应用Dijkstra算法来寻找最小成本路径。

首先,在所有元素之间建立邻接矩阵。元素的连接状态和这些连接的成本存储在矩阵中。两个相邻元件之间的连接成本计算为其灵敏度的平均值:



其中evivj被视为图中连接顶点i和j的边的长度,αi和αj分别是对应元素i和j。这将最小成本路径问题转化为最短路径问题。通过搜索最短路径来优化目标函数。

通道尺寸会影响粉末去除的性能。一项实验研究表明,平均约63%的粉末从直径为1mm的通道的设计几何结构中去除,78%的粉末从具有2mm直径通道的相同几何结构中移除,75%的粉末从带有3mm直径通道的同一几何结构中除去。它表明了为通道尺寸提供选择的重要性。对于需要指定通道半径的情况,在构建邻接图时,首先使用等式(10)对给定半径距离内的所有元素的元素灵敏度进行平均。



然后将内部空隙单元和所有边界单元分配为高灵敏度,如图3c所示。在拓扑优化中,内部空隙单元被停用,因为它们具有较低的灵敏度。在低成本路径的搜索过程中,这些元素被选择的可能性更高。这意味着连接两个空隙的路径可能穿过第三个空隙,这将导致单个空隙中的多个入口和出口。这可能影响通道的流动性和粉末去除的有效性。为了避免这种情况,空隙单元的灵敏度被一个大值αup代替,该值是模型中最大灵敏度的十倍。两个空隙之间的路径将倾向于绕过其他空隙,因为空隙元件具有这些更高的灵敏度。类似地,边界元素也被分配了一个大的灵敏度数,以避免意外连接到边界的路径。封闭空隙和外部空间之间的路径只能穿过指定的入口和出口。应当注意,灵敏度的调整仅发生在用于路径搜索的邻接矩阵内,并且不影响用于拓扑优化的元素排序。

Dijkstra算法被应用于寻找两个空洞之间的最小成本路径。该算法的伪代码如下图5。



该算法从源顶点开始,并检查其所有邻居到源的距离。之后,它继续到最近的顶点,并再次检查该顶点的所有邻居。每个顶点到源的距离以及它们之间的路径将动态更新。当遍历图时,将获得从源到每个顶点的最短路径。该算法适用于封闭空隙内的所有空隙元素。收集每对两个空隙之间的连接,成本最低的空隙是目标路径。应该注意,Dijkstra算法仅适用于正权重。对于具有负灵敏度的优化,可以通过数据处理操作来调整值,例如在准备图表时向所有灵敏度添加一个常数以避免负权重。此操作仅应用于图形,对优化的其他部分没有影响。

搜索还应用于模型的入口和出口集合,这些集合在优化之前指定。还获得了入口/出口和所有空隙之间的最小成本路径。可以将入口和出口限制在适当的位置。这有效地确保了通道开口不会影响关键表面的功能。

优化穿过所有空隙的通道顺序

上一节提供了任意两个空隙之间的最佳路径。然后需要穿过空隙的通道的最佳顺序。通道应从入口开始,依次穿过空隙,然后在出口结束。示例模型如图3b所示,入口以红色突出显示,空隙以绿色突出显示,出口以蓝色突出显示。每两个项目之间的成本是从前面的模块中获得的,样本模型的成本图如图6所示。最佳通道应该具有最小的成本,并且只访问每个空隙一次。这相当于在成本图中找到最短的哈密顿路径。



众所周知,这个问题是NP完成的。因此,应用遗传算法来解决这个问题,如下图7所示。



该算法首先创建一个染色体的初始群体,它代表穿过空隙的通道的序列。假设有六个空位,染色体的初始群体可能是图中所示的那些。这些染色体是随机产生的。在随机选择过程中,入口总是在开始,出口总是在结束。染色体的适应性由序列的总成本决定。这是通过对沿整个通道的元件的灵敏度求和而获得的。在对所有染色体的适合度进行评估和排序后,只有在最低x%范围内的染色体保留在群体中。然后将交叉和突变应用于这些染色体,以创建新的染色体,从而形成新的群体。杂交是通过结合两条染色体的序列来进行的。对于图B所示的两条染色体,初始序列为En-ab-c-d-e–f-Ex和En-d-f–c-e-a-B-Ex。我们从索引1–2-3–4-5–6的整个序列中生成索引2–3-4的随机切片。首先切换第一条染色体的相应切片b-c-d和第二条染色体的f–c-e。剩余的基因被分配到原始序列之后的剩余位置。例如,在从第一条染色体中排除基因f、c和e之后,剩下的基因是a、b和d。这些基因分别被分配到位置1、5和6。因此,第一条染色体变为En-af–c-e-b-d-Ex,第二条染色体在杂交后变为En-f-b-c-d-e-a-Ex。通过随机切换两个空隙的位置来执行突变。例如,染色体En-ab-c-d-e–f-Ex可以更改为En-a-ec-d-b-f-Ex。重复该过程,直到适应度收敛或满足最大迭代次数。

重复前面章节中的过程,直到满足优化的停止条件。优化的最终设计将包含拓扑优化产生的空隙,以及穿过所有空隙的一条通道。空隙更新后,通道将更新。它随着拓扑优化的进展而发展,以实现优化的路径。将后处理方法应用于空隙和通道,以获得具有平滑边界的最终设计。值得一提的是,虽然所提出的方法可以确保穿过所有空隙的通道,但它不能完全避免空隙中的死角,粉末可能会驻留在那里,因此很难从中移除。入口和出口位置的选择可以减轻这种情况,并且通过使用新的粉末去除技术也可以解决从死角去除粉末的问题。为了彻底避免死角,包括如何明确定义死角,需要进一步研究。

案例研究:喷气发动机叶轮

以喷气发动机叶轮为例,演示了具有粉末去除通道的拓扑优化。叶轮是发动机压缩机的关键部件,用于通过快速旋转压缩空气。在航空航天工业中,众所周知,部件的重量会显著影响飞机运行中的燃料成本,尤其是旋转部件。在本案例研究中,使用拓扑优化来降低叶轮的重量,并包括粉末去除通道,以确保在印刷后可以去除内部空隙中的粉末。

叶轮的原始模型如图8a所示,其中离心载荷作用于整个模型,沿径向指向外部。如图8b所示,轮毂的1/10用于优化,因为轴对称约束应用于模型。叶轮的内轮毂被设置为设计区域,翅片不接触。通道入口和出口的潜在区域均设置在叶轮内侧,如图8b所示。这是因为外表面设计用于压缩空气,而该表面上的通道出口将影响压缩机的性能。



对叶轮截面进行拓扑优化。截面模型的体积约为2.9?×?在该模型中使用了104mm3和0.5mm立方元素。设计区域的95%体积比用作优化约束,以获得具有许多小空隙的设计。进化率设置为0.3%,滤波器半径设置为1mm。无连接约束的优化设计如图所示。7a。空隙被封闭在结构内部,无法去除粉末。粉末去除通道的优化设计如图9b所示。值得注意的是,由于所提出的优化中通道和空隙之间的相互作用,图9b中的空隙与图9a中的略有不同。通道从入口开始,穿过空隙,然后在出口处结束。应注意,在本案例研究中,通道不是围绕圆周旋转的,而是仅与1/10切片一起形成图案。两个模型的优化历史如图10所示,其中优化仅损失了总刚度的0.5%。带通道的优化叶轮的顺应性为无通道优化叶轮的100.004%。通过单个截面的圆形图案,截面设计被平滑并转换回完整模型。带有除粉通道的光滑叶轮如图11所示。通道与截面一起被图案化十次,以获得完整的模型。







案例研究:火箭尾翼

火箭尾翼是第二个案例研究,用于演示粉末去除通道的优化。为了提高火箭飞行姿态的稳定性,在火箭尾部使用了尾翼。减轻重量对火箭的性能至关重要。采用带有粉末去除通道的拓扑优化,以提供无封闭空隙的轻质设计。原始尾翼如图12所示。牵引载荷施加在尾翼的两侧表面,水平指向尾翼,以模拟气流的牵引力。



火箭尾翼的侧表面用于引导气流,不应进行任何修改。因此,在拓扑优化中,这些表面被设置为非设计区域,并且只有内部材料被用作设计区域。入口和出口设置在翅片的顶部和底部表面,如图12a所示,其中通道开口不太可能影响翅片的功能。整个模型的体积约为1.4?×?105mm3和2mm元素应用于模型。70%的体积比用于没有和有粉末去除通道的优化。进化率设置为0.5%,滤波器半径设置为3mm。无连接约束的拓扑优化设计如图13b所示。鳍模型被切割穿过中间平面以显示内部结构。带有粉末去除通道的拓扑优化设计如图13c所示。通道从顶部表面的入口开始,穿过两个空隙,然后在底部表面的出口结束。类似地,图13c中的空隙与图13b中的空隙不同,因为在优化过程中通道和空隙之间的相互作用。值得注意的是,该案例的另一种解决方案是有两个单独的通道连接两个空隙中的每一个,尽管这超出了当前研究的范围。这将是该方法的一个有趣的未来发展。优化历史如图14所示,其中删除元素会损失约3.5%的刚度。值得注意的是,在优化开始时,通道的顺应性出现了突然的跳跃,这是由连接入口和出口的长通道的出现引起的。优化的带通道翅片的顺应性为无通道翅片的100.095%。最终设计如图14d所示,其中空隙和通道通过平滑滤波器和样条拟合进行后处理。





具有指定通道尺寸的火箭尾翼

本文提出的方法提供了通道尺寸的选择。在以前的案例研究中,通道仅使用一个元素宽度生成。在本案例研究中,第节中使用了相同的火箭尾翼。3.2通过指定的通道半径进行优化。火箭尾翼设计区域所用元件的平均尺寸约为2 mm。演变率设置为0.5%,过滤器半径设置为3 mm。通道半径设置为2.25 mm,以覆盖较大的元件。对于每个元件,通过2.25 mm半径范围内的元件平均灵敏度。所有其他参数,包括载荷、边界条件、目标体积比,均设置为与第节中的翅片模型相同。3.2.迭代次数被人为设置为80,以便于优化历史的可视化和计算时间的比较。

拓扑优化设计如图15a所示。沿所选路径与元件相距2.25mm的元件被移除以产生最终通道。模型中的元素具有不同的大小,因此通道中会生成不规则的形状。一些类似楼梯的特征是通过通道半径过滤器生成的。然后对优化模型进行平滑,如图15b所示。与图13d中的模型相比,通道的尺寸大得多。翅片模型的优化历史如图16所示。在迭代1时,标准化顺应性有一个很大的跳跃。这是因为通道仅通过一个小空隙连接入口和出口。长而宽的通道会导致严重的依从性损失。在这种情况下,与没有通道的拓扑优化相比,所提出的具有通道生成功能的拓扑优化方法花费了大约13%的时间。





为了证明基于所提出方法的优化设计的打印可行性,根据初步设计,使用选择性激光熔化在钢中打印叶轮和翅片,这些设计见下面图17、图18。





根据初步结果,叶轮和翅片模型通过选择性激光熔化打印。通道中的粉末已经通过空气冲洗去除,模型被切成两半以显示内部结构。虽然它们与文中呈现的最终设计略有不同,但它证明了该拓扑优化设计的打印可行性。

地址:海南省海口市玉沙路58号  电话:0898-66889888  手机:18888889999
Copyright © 2012-2018 门徒-门徒娱乐-注册登录站 版权所有 ICP备案编:琼ICP备88889999号 

平台注册入口