ABAQUS中ATOM模块的拓扑优化功能By姜琛(BravoWa)HNUQQ:490135416ABAQUS中ATOM模块的拓扑优化功能从Abaqus6.11开始,ABAQUS/CAE新增加了拓扑优化模块,简称ATOM(AbaqusTopologyOptimizationModule),这标志着Abaqus开始从分析向设计进军。虽然ABA非线性能力十分强大,CAE的操作也比较人性化,但由于拓扑优化的需要,而转而采用ANSYS和Hyperworks/Optistruct。ATOM采用了专业拓扑优化软件TOSCA的核心,在ABA没有拓扑优化模块的时候,该软件已经能通过像FE-SAFE那样,调用odb文件进行拓扑优化,但是显然不如ANSYS等模块化的集成度高和操作便捷。如果将ABA强大非线性分析能力和越来越完善的ATOM结合起来,非线性问题的拓扑优化难题应该可以得到很好的解决。本文目的即熟悉ATOM的CAE中的操作。首先将ABAQUSANALYSISUSERMANUAL的TopologyOptimization章节的概论部分翻译成中文,权当本文的概述(取自SIMWE的Songyer的翻译)。然后将官方提供的算例,做成Step-by-step以便操作。也算对本人近几天对ATOM学习的总结。ATOM中拓扑优化技术概述1.结构优化:概述ABAQUS结构优化是一个帮助用户精细化设计的迭代模块。结构优化设计能够使得结构组件轻量化,并满足刚度和耐久性要求。ABAQUS提供了两种优化方法——拓扑优化和形状优化。拓扑优化(Topologyoptimization)通过分析过程中不断修改最初模型中指定优化区域的单元材料性质,有效地从分析的模型中移走/增加单元而获得最优的设计目标。形状优化(Shapeoptimization)则是在分析中对指定的优化区域不断移动表面节点从而达到减小局部应力集中的优化目标。拓扑优化和形状优化均遵从一系列优化目标和约束。最优化方法(Optimization)是一个通过自动化程序增加设计者在经验和直觉从而缩短研发过程的工具。想要优化模型,必须知道如何去优化,仅仅说要减小应力或者增大特征值是不够,做优化必须有更专门的描述。比方说,想要降低在两种不同载荷工况下的最大节点力,类似的还有,想要最大化前五阶特征值之和。这种最优化的目标称之为目标函数(ObjectFunction)。另外,在优化过程中可以同时强制限定某些状态参量。例如,可以指定某节点的位移不超过一定的数值。这些强制性的指定措施叫做约束(Constraint)。2.术语(Terminology)设计区域(Designarea):设计区域即模型需要优化的区域。这个区域可以是整个模型,也可以是模型的一部分或者数部分。一定的边界条件、载荷及人为约束下,拓扑优化通过增加/删除区域中单元的材料达到最优化设计,而形状优化通过移动区域内节点来达到优化的目的。设计变量(Designvariables):设计变量即优化设计中需要改变的参数。拓扑优化中,设计区域中单元密度是设计变量,ABAQUS/CAE优化分析模块在其优化迭代过程中改变单元密度并将其耦合到刚度矩阵之中。实际上,拓扑优化将模型中单元移除的方法是将单元的质量和刚度充分变小从而使其不再参与整体结构响应。对于形状优化而言,设计变量是指设计区域内表面节点位移。优化时,ABAQUS或者将节点位置向外移动或者向内移动,抑或不移动。在此过程中,约束会影响表面节点移动的多少及其方向。优化仅仅直接修改边缘处的节点,而边缘内侧的节点位移通过边缘处节点插值得到。设计循环(Designcycle):优化分析是一种不断更新设计变量的迭代过程,执行ABAQUS进行模型修改、查看结果以及确定是否达到优化目的。其中每次迭代叫做一个设计循环。优化任务(Optimizationtask):一次优化任务包含优化的定义,比如设计响应、目标、限制条件和几何约束。设计响应(Designresponses):优化分析的输入量称之为设计响应。设计响应可以直接从ABAQUS的结果输出文件.odb中读取,比如刚度、应力、特征频率及位移等。或者ABAQUS从结果文件中计算得到模型的设计响应,例如质心、重量、相对位移等。一个设计响应与模型紧密相关,然而,设计响应存在一定的范围,例如区域内的最大应力或者模型体积。另外,设计响应也与特点的分析步和载荷状况有关。目标函数(Objectivefunctions):目标函数决定了优化的目标。一个目标函数是从设计响应中萃取的一定范围内的值,如最大位移和最大应力。一个目标函数可以用多个设计响应来公式表示。如果设定目标函数最小化或者最大化设计响应,ABAQUS拓扑优化模块则通过增加每个设计响应值代入目标函数进行计算。另外,如果有多个目标函数,可以试用权重因子定义每个目标函数的影响程度。约束(Constraints):约束亦是从设计变量中萃取的一定范围的数值。然而,一个约束不能由设计响应集合而来。约束限定了设计响应,比如可以指定体积必须降低45%或者某个区域的位移不能超过1mm。约束也可以指定制造跟优化无关的制造或者几何约束,比如轴承面的直径不能改变。停止条件(Stopconditions):全局停止条件决定了优化的最大迭代次数。局部停止条件在局部最大/最小达成之后指定优化应该停止。3.ABAQUS/CAE结构优化步骤下面的步骤需要合并到ABAQUS/CAE模型结构优化设计中:1)创建需要优化的ABAQUS模型。2)创建一个优化任务。3)创建设计响应。4)利用设计响应创建目标函数和约束。5)创建优化进程,提交分析。基于优化任务的定义及优化程序,ABAQUS/CAE拓扑优化模块进行迭代运算:1)准备设计变量(单元密度或者表面节点位置)。2)更新ABAQUS有限元模型。3)执行ABAQUS/Standard分析。这些迭代或者设计循环不会停止,除非:1)最大迭代数达到2)指定的停止条件达到。4.拓扑优化拓扑优化开始于包含指定条件(例如边界条件和载荷)的初始设计开始。优化分析过程在符合优化约束(比如最小体积或者最大位移)的前提下改变初始设计区域的单元密度和刚度从而确定结构新的材料分布方式。ABAQUS可以应用如下目标到拓扑优化过程中:1)应变能(结构刚度的度量值)2)特征频率3)内力和支反力4)重量和体积5)重心6)惯性矩。可以应用其他相同约束变量到拓扑优化分析中。另外,拓扑优化同样可以考虑标准产品制造过程。例如铸造和冲压。可以冻结指定区域、应用数量尺寸、对称性及耦合约束。拓扑优化的例子在ABAQUSExampleProblemsManual的Section11.1.1中。(本文的算例就是来自于此)6.形状优化形状优化采用了跟基于刚度的拓扑优化算法类似的算法。形状优化一般是对表面节点进行较小的调整以减小局部应力集中。形状优化用于产品外形需要微调的情况。形状优化试图重置既定区域的表面节点位置直到此区域的应力成为常数(应力均匀)。下图是连杆形状优化以减小局部应力集中的例子:形状优化支持一下目标: 1)应力和接触应力 2)自然频率 3)弹性、塑性、全应变和应变能密度 形状优化只能应用体积约束,另外,可以使用一定数量的制造几何限制条件使提出的设计能够继续铸造或者冲压过程。也可以冻结某特定区域、应用数量尺寸、对称性及耦合限制等。 ATOM拓扑优化算例本算例直接采用ABAQUSExampleProblemsManual的Section11.1.1中的例子,相应的inp和py文件可在x(x为ABAQUS的安装盘):\simulia\Abaqus\6.11-1\samples\job_archive\samples.zip中找到,分别为control_arm.inp和control_arm_topology_optimization.py。当然这样直接使用脚本,对我们熟悉ATOM的操作不是很有帮助,将py文件逆向分析一下找到对应的CAE操作。本例的优化目的是在保留总体积的57%的条件下,达到结构的刚度最大(应变能最小)另外本例并非通常的密度法拓扑优化,而是刚度法的拓扑优化,刚度法的优化速度快些,但适用范围较小。密度法的操作类似。一部件此处部件比较复杂,且也不是ATOM中的主要操作,就不再自己建模,而直接导入inp的meshpart。导入方式:菜单File–import–model(inp),选择之前提到的control_arm.inp,得到Part名为:Part-1。如下图,单位(mm)二性质1创建材料:将材料命名,Name:Elasti_Material;弹性,E=210000Mpa,ν=0.3;关闭。2创建截面:Name:Solid_Section,Solid实体,各向同性,选上材料名Elasti_Material,关闭。3将截面的性质附加到部件上:选中Part:Part-1,将Section:Solid_Section赋给Part-Part-1。三组装创建计算实体,以Part:Part-1,用Independent方式生成实体。四分析步分析步在inp文件中已经建立,命名为Step-1,Static,Linearperturbation,静态,线性摄动步,几何非线性OFF。五接触1.建立约束couplingn,Name:Constraint-1;。如下图左选择inp中设置好的set。2.建立约束couplingn,Name:Constraint-2;。如下图右选择inp中设置好的set。六载荷1施加位移边界条件:inp中已经施加,无需自己设定。2创建载荷:Name:Load-1,Step-1;Type:Concentratedforce;Region:Set-CONTROLPT;Uniform,CF1=70000,CF2=-70000,CF3=0;关闭七网格inp就是网格,略过。八ATOM(Module:Optimization)1.创建优化任务(OptimizationTask)。从ATOM开始,多加入一些图;Creat:Name:controlArmTopologyOptimization;Type:Topologyoptimization;Continue。然后弹出选择框,选择Set-DesignElement。在新弹出的(OptimizationTaskManager)中,选择Advanced–algorithm:Stiffness_Optimization.关闭。2.创建设计响应(Designresponse)设计响应1(DesignResponse1)CreateDesignResponse–Name:strainEnergy;Type:Single-term;Continue.EditDesignResponse–Region:WholeModel;Variable:StrainEnergy;Operator:Sumofvalues.OK。设计响应2(DesignResponse2)CreateDesignResponse–Name:volume;Type:Single-term;Continue.EditDesignResponse–Region:WholeModel;Variable:Volume;Operator:Sumofvalues.OK。3.创建优化目标函数(TargetFunction)CreateObjectiveFunction–Name:minimizeStrainEnergy;EditObjectiveFunction–最小化设计变量,如下图:4.创建优化约束条件(Constraint)CreatConstraint-Name:volumeConstraint;ContinueEditConstraint–如下图操作即可。注意:在刚度法和形状优化中,约束只能等于某个值;通用的密度法,则可以是小于,大于,等于某个值;5.创建优化几何约束条件(GeometricRestriction)几何约束1(GeometricRes