第12章 优化设计和敏感性分析
本章主要讲解应用Abaqus进行结构优化设计和敏感性分析。
目前的产品结构设计,大多靠经验,规划几种设计方案,结合CAE分析择优选取,但规划的设计方案并不一定是最优方案,故本章前半部分讲解优化设计中的拓扑优化和形状优化,并制定操作SOP,辅以工程实例详解。
工程实际中,加工制造、装配误差等造成的设计参数变异,会对设计目标造成影响,因此寻找出参数的影响大小即敏感性,变得尤为重要,故本章后半部分着重讲解敏感性分析,并制定操作SOP,辅以工程实例求出设计参数敏感度,详解产品的深层次研究。
知识要点:
? 结构优化设计基础 ? 拓扑、形状优化理论 ? 拓扑、形状优化SOP及实例 ? 敏感性分析理论 ? 敏感性分析SOP及实例
12.1 优化设计基础
优化设计以数学中的最优化理论为基础,以计算机为手段,根据设计所追求的性能目标,建立目标函数,在满足给定的各种约束条件下,优化设计使结构更轻、更强、更耐用。
在Abaqus6.11之前,需要借用第三方软件(比如Isight、TOSCA)实现优化设计及敏感性分析,远不如Hyperworks及Ansys等模块化集成程度高。从Abaqus 6.11新增Optimization module后,借助于其强大的非线性分析能力,结构优化设计变得更具可行性和准确性。
12.1.1 结构优化概述
结构优化是一种对有限元模型进行多次修改的迭代求解过程,此迭代基于一系列约束条件向设定目标逼近,Abaqus优化程序就是基于约束条件,通过更新设计变量修改有限元模型,应用Abaqus进行结构分析,读取特定求解结果并判定优化方向。
Abaqus提供了两种基于不同优化方法的用于自动修改有限元模型的优化程序:拓扑优
『2』
第12章优化设计和敏感性分析
化(Topology optimization)和形状优化(Shape optimization)。两种方法均遵从一系列优化目标和约束。
12.1.2 拓扑优化
拓扑优化是在优化迭代循环中,以最初模型为基础,在满足优化约束(比如最小体积或最大位移)的前提下,不断修改指定优化区域单元的材料属性(单元密度和刚度),有效地从分析模型中移走单元从而获得最优设计。其主体思想是把寻求结构最优的拓扑问题转化为对给定设计区域寻求最优材料的分布问题。
下图12-1为Abaqus帮助文件提供的应用实例,展示了汽车控制臂在17次迭代循环中设计区域单元被逐渐移除的优化过程,其中优化的目标函数是最小化控制臂的最大应变能、最大化控制臂的刚度,约束为降低57%产品体积。优化过程中,控制臂中部的部分单元不断被移除。
图 12-1 拓扑优化进程示例
Abaqus拓扑优化提供了两种算法:通用算法(GeneralAlgorithm)和基于条件的算法(Condition-basedAlgorithm)。 通用拓扑优化算法是通过调整设计变量的密度和刚度以满足目标函数和约束,其较为灵活,可以应用到大多数问题中。相反,基于条件的算法则使用节点应变能和应力作为输入数据,不需要计算设计变量的局部刚度,其更为有效,但能力有限。两种算法达到优化目标的途径不同,Abaqus默认采用的是通用算法。
从以下几个方面比较两种算法:
中间单元:通用算法对最终设计会生成中间单元(相对密度介于0~1之间)。相反,基于条件的算法对最终设计生成的中间单元只有空集(相对密度接近于0)或实体(相对
密度为1)。
优化循环次数:对于通用优化算法,在优化开始前并不知晓所需的优化循环次数,正常情况在30~45次。基于条件的优化算法能够更快的搜索到优化解,默认循环次数为15次。
分析类型:通用优化算法支持线性、非线性静力和线性特征频率分析。两种算法均支持几何非线性、接触和大部分非线性材料。
目标函数和约束:通用优化算法可以使用一个目标函数和数个约束,这些约束可以全部是不等式限制条件,多种设计响应可以被定义为目标和约束,而基于条件的优化算法仅支持应变能作为目标函数,材料体积作为等式限制条件。
12.1.3 形状优化
形状优化主要用于产品外形仅需微调的情况,即进一步细化拓扑优化模型,采用的算法与基于条件的拓扑算法类似,也是在迭代循环中对指定零件表面的节点进行移动,重置既定区域的表面节点位置,直到此区域的应力为常数(应力均匀),达到减小局部应力的目的。比如图12-2所示的连杆,其进行形状优化,表面节点移动,应力集中降低。
图 12-2
形状优化示例
形状优化可以用应力和接触应力、选定的自然频率、弹性应变、塑形应变、总应变和应变能密度作为优化目标,仅能用体积作为约束,但可以设置几何限制,以满足零件制造可行性(冲压、铸造等)。当然也可以冻结某特定区域、控制单元尺寸、设定对称和耦合限制。
注意: 1.在进行形状优化之前,优化区域必须具有较好的网格质量,优化过程中,为了获得较高质量的网格,Abaqus优化模块可以对选定网格进行光顺,使得内外部节点位置合适。 2. 光顺算法是基于单元的,比较耗费计算时间,可以只对优化区域内的单元指定网格光顺化,同时,光顺区域节点必须是自由的,不能对其施加约束或冻结。
『4』
第12章优化设计和敏感性分析
12.1.4 优化术语
拓扑和形状优化必须在设定好的目标和约束条件下进行,如此程序才会在约束框架内向优化目标迈进。仅仅描述要减小应力或者增大特征值是不够,必须有更为特定的定义,比如,最小化两种载荷下的最大节点应力,最大化前5阶特征值之和,如此的优化目标称之为目标函数(ObjectiveFunction);同时,在优化过程中可以强制限定某些特定值,比如可以指定某节点的位移不超过一定值,如此的强制性限制叫做约束(Constraint)。
目标函数和约束都是结构优化的特定术语,Abaqus/CAE中用到的术语有:
设计区域(Design area):即结构优化的模型修改区域,可以是整个模型,也可以是模型的一部分或几个部分。
在给定的边界条件、载荷和制造约束条件下,拓扑优化通过增加或删除设计区域内单元的材料达到最优化设计,而形状优化则通过移动表面节点以修改设计区域表面达到优化目的。
设计变量(Design variables):设计变量即优化设计中需要改变的参数。
对于拓扑优化,设计区域中单元密度即是设计变量,Abaqus拓扑优化模块(ATOM)在其优化迭代中改变单元密度并将其耦合到刚度矩阵之中,实质是赋予单元极小的质量和刚度从而使其几乎不再参与结构的全局响应。
对于形状优化而言,设计区域的表面节点位移即是设计变量,优化时,Abaqus将节点向外或向内移动,抑或不动,限制条件决定表面节点移动的大小和方向。
设计循环(Design cycle):优化是一个不断更新设计变量的迭代过程,在每次迭代中Abaqus会对更新了变量的模型进行求解、查看结果以及判定是否达到优化目的,一次迭代过程即一个设计循环。
优化任务(Optimization task):一个优化任务即包含有设计响应、目标、约束条件和几何限制等在内的优化定义。
设计响应(Design responses):导入优化程序用于优化分析的输入值称之为设计响应。 设计响应可以从Abaqus的结果输出文件.odb中直接读取,比如刚度、应力、特征频率及位移等,或者对结果文件计算得到,比如重量、质心或相对位移等。设计响应是与模型区域紧密相关的标量值,例如一个模型区域内的最大应力或体积,同时,设计响应也与特定分析步、载荷工况有关。
目标函数(Objective functions):即定义的优化目标。
目标函数是从设计响应中萃取的标量值,如最大位移或最大应力。一个目标函数可以由几个设计响应组成函数公式表达。如果设定目标函数是最小化或最大化设计响应,Abaqus优化模块则加入每个设计响应值到目标函数进行计算。此外,如果定义了多目标函数,可以使用权重因子定义其对优化的影响程度。
约束(Constraints):约束也是从设计变量中萃取的标量值,但其不能从设计响应组合
得到。约束是用于限定设计响应值,比如体积减少50%;同时约束也可以是到独立于优化之外的制造和几何限制,比如约束优化后的结构能够用于铸造或冲压成形。
停止条件(Stop conditions):当满足某一停止条件时,优化迭代即终止。
全局停止条件是最大优化迭代(设计循环)次数;局部停止条件是优化结果达到某一最大/最小定义值。
12.2 优化设计SOP
12.2.1 优化设计SOP
先试算Abaqus初始结构模型,以确认边界条件、结果是否合适,然后结合图12-3的Abaqus/CAE优化模块,设置优化设计: ? 创建优化任务。 ? 创建设计响应。
? 应用设计响应创建目标函数。 ? 应用设计响应创建约束(可选)。 ? 创建几何限制(可选)。
? 创建停止条件。
以上设置完成,进入Job模块创建优化进程,并提交分析。
图 12-3
Abaqus/CAE优化模块
提交分析后,优化程序基于定义的优化任务及优化进程,开始优化迭代: ? 准备设计变量(单元密度或者表面节点位置), ? 更新有限元模型。
? 执行Abaqus/Standard分析。
『6』
第12章优化设计和敏感性分析
在优化迭代(设计循环)满足以下条件即终止: ? 达到设定的最大迭代数 ? 达到设定的停止条件。
以上操作步骤可概括为图12-4所示的优化设计SOP(Standard Operating Procedure)。
建立有限元模型创建优化任务创建设计响应创建目标函数设置优化创建优化进程创建几何限制创建约束提交优化进程准备设计变量并更新有限元模型用户自定义操作设计循环迭代Abaqus 求解模型监控求解进度执行优化自动优化执行否满足终止条件?是终止优化进程监控优化进度查看优化结果 图 12-4 优化设计SOP
在图12-4SOP基础上,还需对关键步(设计响应、目标函数和约束)的设置详加说明。
12.2.2 设计响应设置
设计响应是从特定的结构分析结果中读取的唯一标量值,随后能够被目标函数和约束引用。要实现设计变量唯一标量值,必须在优化模块中特别运算,比如对体积的运算只能是“总和”,对区域应力的运算只能是“最大值”,由此可知Abaqus优化模块提供了以下两种设计响应操作:
最大值或最小值:寻找出选定区域内的节点响应值的最大/最小值,但对应力、接触应力和应变只能是“最大值”。
总和:对选定区域内节点的响应值作“总和”。Abaqus优化模块仅允许对体积、质量、惯性矩和重力作“总和”运算。
此外,可以定义基于另一个设计响应的响应,也可以定义由几个响应经数学运算而成
的组合响应。比如,已分别对两个节点定义了两个位移响应,可再定义两个位移响应的差值作组合响应。
下面详细介绍在不同优化情况下,可用或推荐使用的设计响应。 1、基于条件拓扑优化的设计响应
针对基于条件的拓扑优化算法,只能使用应变能和体积作为设计响应。
1)应变能(Strain energy):即每个单元应变能的总和,可以定义为结构柔度,其是结构整体柔韧性或刚度的一种度量。众所周知,柔度是刚度的倒数,最小化柔度意味着最大化全局刚度。
针对线性模型的结构柔度,可以用式(12-1)计算。
Strain energy??utku(12-1)
其中,u是位移矢量;k是全局刚度矩。
如果加载条件是集中力或压力,是通过最小化应变能优化出最大的全局刚度;恰恰相反,如果加载的是热场,则通过最大化应变能优化出最大的全局刚度,因为优化修改模型会使结构变软导致应变能下降。此外,如果模型中有特定位移加载,应选择使用最大化应变能。
注意:因为拓扑优化是对全部单元考虑总应变能,所以,应变能只能作目标函数,而不能作约束。 Abaqus/CAE操作:切换到优化模块,Task?Condition-based topology task, Design Response?Create: Single-term, Variable: Strain energy。
2)体积(Volume):即设计区域的单元体积之和,可以用式(12-2)计算。
Volume??Ve(12-2)
其中,Ve是单元体积。
注意:针对绝大多数优化问题,必须定义体积约束。在对最小化应变能(最大化刚度)的优化中,如果没有定义体积约束,Abaqus优化模块仅会用材料填充整个设计区域。 Abaqus/CAE操作:切换到优化模块,Task?Condition-based topology task, Design Response?Create: Single-term, Variable:Volume。
2、通用拓扑优化的设计响应
针对通用拓扑优化算法,可以使用重心、位移和旋转、特征频率、惯性矩、内力和内转矩、反作用力和反作用转矩、应变能、体积和重量作为设计响应。
1)重心(Center of gravity):三个方向的重心可以用式(12-3)计算。
『8』
第12章优化设计和敏感性分析
xg?xdV?? ; y??dVg?ydV?? ; z??dVg?zdV?(12-3) ???dV其中,单元密度ρ使用的是优化并修改的模型现有相对密度;坐标轴可以是全局坐标系统,也可以用户自定义的局部坐标系统。 注意:优化模块重心计算时,仅统计模块支持的单元类型,如果模型中含有其不支持的单元类型(比如线单元),结果会和Abaqus/Standard或Abaqus/Explicit计算结果有所差别。 Abaqus/CAE操作:切换到优化模块,Task?Generaltopology task, Design Response?Create: Single-term, Variable:Center of gravity。
2)位移和旋转(Displacement and Rotation):大部分优化问题,都可使用位移和/或旋转响应定义目标函数或约束。节点位移和旋转变量含义可从表12-1中查知。
表 12-1
i-方向上 位移 位移和旋转变量
旋转 ui 2ui2?u2j?uk ?i ?i2??j2??k2 绝对值 i-方向绝对值 ui2 ?i2 仅响应顶点或较小区域的位移或旋转,能够提升优化速度,此外,如果响应的顶点或区域是在冻结区域内,优化速度会提升更多。
Abaqus/CAE操作:切换到优化模块,Task?Generaltopology task, Design Response?Create: Single-term, Variable:Displacement。
3)模态特征频率(Modal Eigenfrequency):模态特征频率值是结构分析中最简单的动态响应。
Abaqus优化模块支持两种评估特征频率方法: ? 从模态分析中获得单一特征频率 ? Kreisselmaier-Steinhauser公式计算
两种方法中Kreisselmaier-Steinhauser方法更加有效率,而单一特征频率方法有其唯一的优势——应用各阶特征频率之和作约束。
在最大化最低特征频率时,不仅仅要考虑第一阶的特征频率,还要考虑接下来的几阶,因为在优化中,随着结构的变化,模态振型可能会发生转换。
Abaqus/CAE操作:切换到优化模块,Task?Generaltopology task, Design Response?Create:
Single-term,
Variable:Eigenfrequency
from
modal
analysis orEigenfrequency calculated with Kreisselmaier-Steinhauser formula。
4)惯性矩(Moment of inertia):在三个方向或平面上的惯性矩可以用式12-4计算。
Ix???y2?z2dV;Iy???x2?z2dV;Iz???x2?y2dVIxy????xydV;Ixz????xzdV;Iyz????yzdV;Response?Create: Single-term, Variable:Moment of inertia。
??????(12-4)
Abaqus/CAE操作:切换到优化模块,Task?Generaltopology task, Design 5)内力和内转矩、反作用力和反作用转矩和重量在此无特别表述,应变能和体积与式(12-1)和式(12-2)一致。
3、形状优化的设计响应
针对形状优化,可以使用特征频率、应力、接触应力、应变、节点应变能密度和体积作为设计响应,其中仅体积设计响应可被用以约束定义。
1)特征频率(Eigenfrequency):应用Kreisselmaier-Steinhauser公式计算的特征值作为设计响应,并被定义到目标函数中。
Abaqus/CAE
操作:切换到优化模块,Task?Shape task, Design
with
Response?Create: Single-term, Variable:Eigenfrequencycalculated Kreisselmaier-Steinhauser formula。
2)应力和接触应力(Stress and Contact stress):无论应力是从高斯点还是从单元计算得到,优化模块都会把其插值到节点上。应力和接触应力设计响应尽可被用作定义目标函数。
Abaqus/CAE操作:切换到优化模块,Task?Shape task, Design Response?Create: Single-term, Variable: Stress or Contact stress。
3)应变(Strain):如果是大变形模型,用应力作设计响应就不太合适了,比如金属结构进入塑性变形其塑性区域的应力值几乎一样大。在此情况下选用弹性应变、塑性应变或总应变作设计响应较为合适。
Abaqus/CAE操作:切换到优化模块,Task?Shape task, Design Response?Create: Single-term, Variable: Strain。
4)节点应变能密度(Nodal strain energy density):其用式(12-5)计算。
u??ij?ij(12-5)
由式12-5可知,节点应变能密度综合考虑了应变和应力,所以针对非线性材料,局部
『10』
第12章优化设计和敏感性分析
逐点应变能密度能够更好的表征材料失效。
Abaqus/CAE
操作:切换到优化模块,Task?Shapetask, Design
Response?Create:Single-term, Variable: Strain energy density。
5)体积(Volume):参考上文已有之表述。
12.2.3 目标函数设置
目标函数用于定义优化的目标,其是通过对一组设计响应公式运算得到的唯一的标量值,比如设计响应为节点应变能,目标函数可以定义成最小化设计响应总和。优化问题可以用min???u?x?,x??表征,其中目标函数Ф值依赖于状态变量u和设计变量x。
由此可知,最小化N个设计响应的目标函数可用式12-6表述。
?min?N??min??Wi?i??iref?(12-6)
?i?1???同理,最大化N个设计响应的目标函数可用式12-7表述。
?max?N??max??Wi?i??iref?(12-7)
?i?1???其中,对每个设计响应?i都引入一个权重因子Wi和一个参考值?iref。默认权重因子为1,对拓扑优化的默认参考值为0,而对形状优化的默认参考值是由软件计算而来。
另外,还有一个重要的目标函数优化公式,即最小化最大的设计响应,用式(12-8)表述。在每次设计循环,优化程序首先判断哪个设计响应具有最大值,然后最小化这个设
计响应。
?minmax?min?maxi?Wi??i??iref???(12-8)
Abaqus/CAE操作:切换到优化模块,Objective Function?Create: Target。
12.2.4 约束设置
约束是对优化强加限制以获得合适之设计。其可用式(12-9)表述。即设计响应?i被常数?i?约束限制。
?i?u?x?,x???i??0(12-9)
通过约束以减少优化方案的尝试,提高优化速度,并获得合适的优化结果。 注意: 1. 只有体积约束可用应用于拓扑优化和形状优化,但体积不能用作目标函数。 2. 针对整体模型或单个区域,可用使用多个不同类型的约束,但不能使用多个相同类型的约束,以免约束冲突。 Abaqus/CAE操作:切换到优化模块,Constraint?Create。
12.2.5 几何限制
几何限制是对设计变量直接施加约束,可用式(12-10)表述。
Ki?x??Ki??0(12-10)
其中,Ki是对设计变量x布局的表达式。 几何限制包括两类:设计上的限制和制造上的限制 1、设计上的限制
设计上的限制有冻结区域、限制部件最大/最小尺寸。 ? 冻结区域(Frozen area)
特别定义一个区域,使其从优化区域中排除,不修改冻结区域内的模型。对加载有预定义条件的区域都必须冻结,为简化此操作,Abaqus优化模块能够自动冻结具有预定义条件和加载的区域。
Abaqus/CAE操作:切换到优化模块,Geometric Restriction?Create: Frozen area。 ? 最大/最小元件尺寸(Member size)
针对一些设计,不能有太薄的元件,以免加工困难。而针对类似铸造件,又不能有过厚的元件。一旦设定了尺寸限制,优化时间会增加很多,所以,如无必要不要使用此限制。
Abaqus/CAE操作:切换到优化模块,Geometric Restriction?Create: Member size。 ? 对称结构(Symmetric Structure)
设定对称限制,能够加速优化,比如施加轴对称和平面对称、点对称和旋转对称、循环对称等。
Abaqus/CAE操作:切换到优化模块,Geometric Restriction?Create: Planarsymmetry, Pointsymmetry, Rotational symmetry, orCyclic symmetry。
『12』
第12章优化设计和敏感性分析
2、制造上的限制
制造上的限制主要是为了满足可注塑性和可冲压性。 ? 可注塑性/可锻造性(Moldable/Forgeable)
为满足可注塑性,要阻止优化模型含有空洞和负角。图12-5所示意的结构就不具备可注塑性。
(a) 含有空洞(b)含有负角 图 12-5
不具备可注塑性
Abaqus/CAE操作:切换到优化模块,Geometric Restriction?Create: Demold control; Demold technique, Demolding with a central plane or Demolding at the region surface or Forging。
? 可冲压性(Stampable)
考虑冲压的特殊性,在优化时,如果删除了一个单元,也会把其前后的单元一起删除,如图12-6所示。
图 12-6
可冲压性结构
针对拓扑优化,Abaqus/CAE操作:切换到优化模块,Geometric Restriction?Create: Demold control; Demold technique,Stamping。
针对形状优化,Abaqus/CAE操作:切换到优化模块,Geometric Restriction?Create: Stamp control。
12.3 拓扑优化实例
针对拓扑优化,一般是用在概念性设计阶段,大幅度改变产品设计。本节举2例详解拓扑优化:C形夹(壳单元)概念设计、汽车摆臂(实体单元)概念设计。
12.3.1 C形夹的拓扑优化
本例以图12-7的C形夹作拓扑优化对象,在满足性能的前提下,最轻化结构。 1、问题描述
此C形夹的有限元模型见图12-7,边界条件:约束A点的XYZ自由度、约束B点的Y自由度、约束C点的Z自由度、D和E点分别施加方向相反的集中力100N。材料为厚度1mm的铜材C70250:密度8.82E-006kg/mm^3,杨氏模量131000MPa,泊松比0.34,屈服强度473MPa,极限强度816Mpa。
优化目标:最小化体积(最轻化);
约束条件:D点Y方向位移≤0.07mm;E点Y方向位移≥-0.07mm; 设计变量:设计区域中的单元密度。
图 12-7
C形夹有限元模型
注意:防止D、E点应力集中导致单元畸变,模型中对D、E分别与邻近3个节点Coupling。 2、初始设计分析
从光盘打开本节图12-7所示的有限元模型12.3.1_C-clip_pre.cae,并提交求解。 查看位移云图如图12-8,得知D、E两点的Y方向位移分别为0.0369mm和-0.0369mm。
『14』
第12章优化设计和敏感性分析
查看应力云图如图12-9,可知近蓝色区域应力值几乎为0,即其对结构强度并无贡献,也正是需要拓扑优化删除的区域。
图 12-8
原始模型Y方向位移云图
图 12-9
原始模型应力云图
3、优化设置
把打开的12.3.1_C-clip_pre.cae另存为12.3.1_C-clip_opt.cae,CAE界面切换到优化模块以进行拓扑优化设计。
? 创建优化任务
从菜单栏Task?Create?Topology optimization,Advanced:General optimization。 选择整个模型做设计区域,创建优化任务Task-C_clip。
对优化任务的设置,一般默认即可,但为防模型失效,如图12-10左图,在Basic选项卡冻结加载和边界区域;同时在初始设计循环时,材料密度突变会不收敛,故如图12-10右图,在Density选项卡对初始密度(Initial density)比值设置较大值0.9。
图 12-10 优化任务设置
? 创建设计响应
从菜单栏:Design Response?Create?Single-term。
体积响应:如图12-11所示,选择整个模型创建体积(Volume)响应,对选中的区域
体积和的计算默认为:Sum of values。
图 12-11 体积设计响应设置
位移响应:选择节点D,创建Y方向(2-direction)的位移(Displacement)响应,跟踪选择区域节点中最大值(Maximum value),如图12-12所示。当然,这里只选了一个节点(D点),计算方式对结果无影响;
同上,选择节点E,创建Y方向(2-direction)的位移(Displacement)响应,区域节点状态值计算方式为Minimum value。
『16』
第12章优化设计和敏感性分析
图 12-12 D、E节点的位移设计响应
创建完成的3个设计响应如图12-13所示。
图 12-13 创建完成的3个独立设计响应
? 创建目标函数
从菜单栏:Objective Function?Create,命名为Objective-minVolume,如图12-13以最小化体积设计响应作优化目标。
图 12-14 目标函数设置
? 创建约束
从菜单栏:Constraint?Create。分别创建对节点D、E设计响应的约束,即约束节点位移:D点Y方向位移≤0.07mm,E点Y方向位移≥ -0.07mm。如图12-15所示。
4、优化结果
? 创建并提交优化进程
切换到Job模块,从菜单栏:Optimization?Create。如图12-16创建名称为Opt-process-C-clip的优化进程,并默认设置最大循环次数50作为全局终止条件。
随后从菜单栏:Optimization?Submit:Opt-process-C-clip,提交优化进程。
图 12-15 D、E位移约束
图 12-16 创建优化进程
? 查看优化结果
从菜单栏:Optimization?Results:Opt-process-C-clip,进入后处理模块。 View cut,并打开View cut Manager,对后处理模块下,从工具箱中激活
Opt_Surface进行Cut操作,隐藏材料密度小于0.3倍原始密度的区域,查看优化结果如图12-17所示。
同时,输出优化进程中,目标函数和约束值变化。
ODB history output,操作如下:从工具箱Create XY data:分别输出目标函数体积、
约束D点位移变化曲线,整理后如图12-18。
『18』
第12章优化设计和敏感性分析
图 12-17 优化结果
图 12-18 目标函数体积和约束位移变化曲线
查看图12-19第36次循环后优化模型位移、应力云图,可与图12-8、图12-9作比较。
图 12-19 第36次优化后的位移及应力云图
? 导出优化的几何
切换到Job模块,从菜单栏:Optimization?Extract:Opt-process-C-clip,可输出Inp和STL格式。
5、Inp解释说明
结构分析部分的Inp就不再赘述,在此节选优化迭代中的第36次设计循环的Inp文件:Opt-Process-C-clip-Job_036.inp
************************************************************************* ** NEW ELEMENT SET ADDED BY THE OPTIMIZATION SYSTEM **重新定义单元集
*ELSET, ELSET=EL_P1_M39 608,
** NEW PROPERTY ADDED BY THE OPTIMIZATION SYSTEM **对单元集赋予新的材料
*SHELL SECTION, ELSET=EL_P1_M39, MATERIAL=OPT_39 1.0000000, 5 **
** NEW MATERIAL ADDED BY THE OPTIMIZATION SYSTEM **新添加的材料属性
*MATERIAL, NAME=OPT_39 **新的密度 *DENSITY
8.8200000e-011, 0.00000000, **新的弹性模量
*ELASTIC, TYPE=ISOTROPIC
0.00013100000, 0.34100000, 0.00000000 **新的塑性应变-应力数据
*PLASTIC, HARDENING=ISOTROPIC 4.7336200e-007, 0.00000000, 0.00000000, 5.0900000e-007, 0.0010040100, 0.00000000, ?? **
『20』
第12章优化设计和敏感性分析
本12.3.1节完整讲述了C形夹的拓扑优化,在满足强度要求的同时,把体积减少了48%。此外,为了加工制造方便,可加入平面对称限制条件,让优化后的结构具有对称性。
12.3.2 汽车摆臂的拓扑优化
本例以图12-20的汽车摆臂作拓扑优化对象,在满足性能的前提下,最轻化结构。 1、问题描述
此汽车摆臂的有限元模型见图12-20,所用材料为刚材,此模型是小应变,仅设置线性材料,其密度7.85E-006kg/mm^3,杨氏模量200000MPa,泊松比0.3。
此有限元模型,设置了3步线性静力分析步,即3个工况;分别Coupling相应节点到参考点上(A、B、C、D)。
边界条件:约束B点的Y、Z自由度,C点的X、Y、Z自由度,D点的Z自由度; 集中力加载:在1、2、3分析步,分别对A点加载X、Y、Z方向的1000N集中力; 优化目标:最小化体积;
约束条件:在1、2、3分析步,A点合位移分别小于0.05mm、0.02mm、0.04mm; 设计变量:设计区域中的单元密度。
图 12-20 汽车摆臂的有限元模型
2、初始设计分析
从光盘打开本节图12-20所示的有限元模型12.3.2_Controlarm_pre.cae,并提交求解。 查看位移云图如图12-21,可大概了解结构的加载变形情况。
查看应力云图如图12-22,可知近蓝色区域应力值几乎为0,即其对结构强度并无贡献,也正是拓扑优化需要删除的区域。
图 12-21 原始模型位移云图
图 12-22 原始模型应力云图
3、优化设置
把打开的12.3.2_Controlarm_pre.cae另存为12.3.2_Controlarm_opt.cae,CAE界面切换到优化模块以进行拓扑优化设计。
? 创建优化任务
从菜单栏Task?Create?Topology optimization,Advanced:General optimization。 选择单元集Set-DESIGN做设计区域,创建优化任务Task-Carm。设置和图12-10一致。 ? 创建设计响应
从菜单栏:Design Response?Create?Single-term。
体积响应:选择整个模型创建体积(Volume)响应,和图12-11一致,对区域内单元体积的计算默认即为:Sum of values。
第1step的位移响应:如图12-23,跟踪节点Set-A在第1分析步中的Absolute Displacement最大值。
『22』
第12章优化设计和敏感性分析
图 12-23 Step-1_Xforce分析步中A点最大位移响应
同理,创建第2和第3分析步中的A点最大位移值响应,仅图12-23示中第5处不同。 创建完成的1个体积响应和3个位移响应,如图12-24所示。
图 12-24 完成后的全部响应
? 创建目标函数
从菜单栏:Objective Function?Create,命名为Objective-minVolume,如图12-25最小化体积设计响应作优化目标。
? 创建约束
从菜单栏:Constraint?Create。
创建节点A响应D-Response-1step_disp的约束Constraint-1step_disp,即约束节点A在第1分析步中的位移<0.05mm,如图12-26所示。
同理,对D-Response-2step_disp约束<0.02mm;对D-Response-3step_disp约束< 0.04mm。
3个约束设置完成,如图12-27所示。
图 12-25 最小化体积目标函数
图 12-26 对D-Response-1step_disp的约束
图 12-27 位移响应的约束
『24』
第12章优化设计和敏感性分析
? 创建几何限制
为了优化后的零件便于锻造,特对设计区域Set-DESIGN加上几何限制。
可锻造性限制:如图12-28(a)创建几何可锻造性限制,从菜单栏:Geometric Restriction?Create:Demold control。
平面对称限制:如图12-28(b)创建平面对称限制,从菜单栏:Geometric Restriction?Create:Planar Symmetry。对称平面的坐标可以是默认的全局坐标,因其原点就在A点。
(a) 可锻造性几何限制
图 12-28 几何限制
(b)平面对称几何限制
4、优化结果
? 创建并提交优化进程
切换到Job模块,从菜单栏:Optimization?Create。创建名称为Opt-process-Carm的优化进程,并默认设置最大循环次数50作为全局终止条件。
随后从菜单栏:Optimization?Submit:Opt-process-Carm,提交优化进程。 ? 查看优化结果
从菜单栏:Optimization?Results:Opt-process-Carm,进入后处理模块。
View cut,并打开View cut Manager,对后处理模块下,从工具箱中激活
Opt_Surface进行Cut操作,隐藏材料密度小于0.3倍原始密度的区域,查询优化设计结果,如图12-29所示。
图 12-29 优化结果
同时,输出优化进程中,目标函数和约束值变化,操作如下:
(Create XY data:ODB history output),分别输出目标函数体积、约束A点位移变化曲线,整理后如图12-30,体积逐渐减小的情况下,A点在分析步1、2、3中最大位移分别小于0.05mm、0.02mm、0.04mm。
从工具箱
图 12-30 目标函数体积和约束位移变化曲线
查看如图12-31所示的第30次循环后优化模型的位移及应力云图,与图12-21、图12-22作比较,其最大应力增大少许,位移也在许可范围内。
『26』
第12章优化设计和敏感性分析
图 12-31 第30次优化后的位移及应力云图(仅第3分析步)
? 导出优化的几何
切换到Job模块,从菜单栏:Optimization?Extract:Opt-process-Carm,可输出Inp和STL格式。
5、Inp解释说明
请参考结果文件:X:\\XXX\\Opt-Process-Carm\\SAVE.inp,其内容和12.3.1节类同。 本12.3.2节完整讲述了汽车摆臂的拓扑优化,在满足强度要求的同时,把体积减少了33%,其中,为了便于加工制造,创建了可锻造性及平面对称限制条件。以上内容,如有不明之处,可参考光盘中本节优化设置的有限元模型12.3.2_Controlarm_opt.cae。
12.4 形状优化实例
针对形状优化,主要是用在细节设计阶段,小幅度提升产品结构性能。本节以折弯端子(Terminal)的正向力(Normal Force)分析为例,详解形状优化。
12.4.1 问题描述
端子件Terminal正向力分析有限元模型见图12-32,所用材料为厚度0.2mm的铜材C70250,其密度8.82E-006kg/mm^3,杨氏模量131000MPa,泊松比0.341,屈服强度473MPa。
此模型有2步非线性静力分析步,3个Part(刚体Plug和Housing、变形体Terminal)。 位移加载:第1步:Plug在-Y方向移动0.8mm,第2步:Plug返回到原位; 边界条件:完全约束Terminal根部边,完全约束刚体Housing; 优化目标:最小化最大应变能密度; 约束条件:体积不变;
设计变量:设计区域边界节点移动。
图 12-32 端子件正向力分析的有限元模型
12.4.2 初始设计分析
从光盘打开本节图12-32所示的有限元模型12.4_Terminal_pre.cae,并提交求解。 1、查看位移、应力云图
查看端子位移云图,如图12-33,可知Plug返回原位后,端子的接触点永久变形PD(Permanent deformation)=0.16mm;查看端子应力云图,如图12-34,可知在Plug最大下压位移时,端子有较大屈服区域,即应力大于473Mpa的区域。
2、绘制力-位移曲线
创建Plug的力-位移曲线:在后处理模块下,点击工具箱中的(Create XY Date?ODB history out put),同时读取Plug的Y位移U2和反力RF2。然后,Create XY Date?Operate on XY data,用Combine(U2,RF2)函数生成图12-35所示的力-位移曲线。从图可知,最大Normal Force(NF)为1.57 N,接触点永久变形0.16 mm。
图 12-33 Y位移云图
『28』
第12章优化设计和敏感性分析
图 12-34 应力云图
图 12-35 Plug力-位移曲线
12.4.3 优化设置
把打开的12.4_Terminal_pre.cae另存为12.4_Terminal_opt.cae,CAE界面切换到优化模块以进行形状优化设计。
3、创建优化任务
从菜单栏Task?Create?Shape optimization。
选择Terminal全部节点集Set-All-node_Terminal做设计区域,创建形状优化任务Task-1_Terminal_opt。设置如图12-36所示。
注意:Smoothing区域最好大于设计区域,以更佳光顺网格。
图 12-36 形状优化任务设置
4、创建设计响应
从菜单栏:Design Response?Create?Single-term。
体积响应:选择整个模型创建体积(Volume)响应,对区域内单元体积的计算默认即为:Sum of values。
应变能密度响应:分析全程中,设计区域内最大的节点应变能密度,设置如图12-37。
(a)设计区域内最大应变能密度
『30』
第12章优化设计和敏感性分析
(b)分析全程中最大应变能密度 图 12-37 应变能密度响应设置
节点应变能密度综合考虑了应变和应力,针对此非线性问题,局部逐点应变能密度能够更好的表征材料失效。
5、创建目标函数
从菜单栏:Objective Function?Create,如图12-38最小化应变能密度的设计响应作优化目标。命名为Objective-1_MinMaxStrainenergydensity。
图 12-38 对最大应变能密度的目标函数设置
6、创建约束
体积约束:从菜单栏Constraint?Create。如图12-39,约束体积响应值不变。
图 12-39 体积响应的约束设置
12.4.4 优化结果
1、创建并提交优化进程
切换到Job模块,从菜单栏:Optimization?Create。如图12-40,创建名称为Opt-process-1_Terminal的优化进程,设置最大循环次数20作为全局终止条件,并保存全部循环结果,以便查看。
随后从菜单栏:Optimization?Submit:Opt-process-1_Terminal,提交优化进程。
图 12-40 形状优化进程设置
2、查看优化结果
从菜单栏:Optimization?Results:Opt-process-1_Terminal,进入后处理模块。 从工具箱
(Create XY data:ODB history output),分别输出目标函数应变能密度和约
束体积的变化,如图12-41所示。
『32』
第12章优化设计和敏感性分析
图 12-41 应变能密度和约束体积变化曲线
打开求解结果文件夹X:\\XXX\\Opt-Process-1_Terminal\\SAVE.odb中各循环结果,查看应力云图、制作NF曲线,结果如图12-42、12-43所示。
图 12-42 优化结果的应力云图
从图12-42可知,随着优化的循环,最大应力区宽度增加,应力逐渐减小,屈服面积也逐渐增多以平均应力。
图 12-43 正向力NF曲线
从图12-43可知,随着循环的进行,接触点永久变形减小,最大NF增加,达到了优化的目的。
注意: 1.应变能密度响应可以替换成应力、应变响应,但优化效率相对较低; 2.优化结果的宽度可能超出许可空间,由设计人员选择优化结果。 3、Inp解释说明
请参考结果文件:X:\\XXX\\Opt-Process-1_Terminal\\SAVE.inp,每个Inp中节点坐标在循环开始已被优化程序移动。
本12.4节完整讲述了折弯端子件的形状优化,不但降低了最大应力,还增加了正向力。以上内容,如有不明之处,可参考光盘中本节优化设置的有限元模型12.4_Terminal_opt.cae。
12.5 敏感性分析(DSA)基础
设计敏感性分析DSA(Design Sensitivity Analysis)就是分析设计参数对设计响应的敏感程度,即设计参数与设计响应的梯度,有益于理解设计行为、并预计设计变化的影响。
简单举例,假设设计响应为y?f(x),x为设计参数,当x?x0增加?x,设计
?y?f'?x0?表述在x0附近参数x对y的敏感程度,往往设
?x?0?x计响应同时与几个设计参数相关,故用偏导数来表述设计参数对设计响应的敏感程度,此偏导数即为敏感度。 响应变化为?y,用lim
『34』
第12章优化设计和敏感性分析
12.5.1 Abaqus的DSA
AbaqusDSA的CAE界面是用插件Abaqus/Design模块实现,但用户一般使用的Abaqus版本没有这个模块(这个你懂的),所以本节通过编写Inp文件实现有关设置。
通过DAS分析可以得到设计变量对设计响应的偏导数(敏感度),其用于设计参数对输出变量的敏感程度的量测。计算敏感性所涉及的输出变量就是设计响应或简称响应,而设计参数可以从分析参数中选择,例如,在输出应力对杨氏模量E的偏导中,输出应力是响应,E是设计变量。
Abaqus的DSA结合半解析计算技术应用直接差分方法。在半解析技术中,一些偏导数是通过数值差分法求得,所以需要扰动设计参数。Abaqus基于启发式算法,默认采用中心差分法自动计算合适的摄动尺寸,当然你也可以特定差分方法以及摄动尺寸。
注意:Abaqus DSA只能应用在静态和模态分析中,且模型中只许有应力和位移单元。 12.5.2 激活Abaqus DSA
如果DSA 在General分析步中被激活,其会在接下来的General分析步中一直处于激活状态,直至其激活命令被关闭。此结论同样适用于摄动分析。此外,如果DAS被激活在不支持的分析步中,其将被关闭,直至再次被激活。
Inp使用方法:
**激活DSA *STEP,DSA=YES **关闭DSA *STEP,DSA=NO
12.5.3 DSA设计参数
在一个分析中,可以定义多个参数用于取代Abaqus输入数值,但必须指明哪些参数是被考虑为设计参数,设计参数必须是互相独立。
可以定义为设计参数的有以下两类参数: 1、浮点数据参数
浮点数据的设计参数有:截面属性(梁截面、垫片截面、薄膜截面、壳截面、实体截面)、材料模型(弹性、超弹性、泡沫)、集中载荷、摩擦力、横向剪切刚度等。
在分析中必须对这些参数赋予值,然后通过<>限定输入数,以把这些参数取代输入数。 举例:下面Inp中定义了width和height两个参数,然后用其取代梁截面的输入数。
*PARAMETER width = 2.5
height = width*2
*BEAM SECTION, SECTION=RECT, ELSET=name, MATERIAL=name
所谓独立参数是指其不依赖于其他参数,仅用数字和数字运算,比如:
thickness = 10.0 area = 5.0**2
length = 3.0*sin (45*pi/180.0)
而非独立参数依赖于其他参数或表格数据,比如下例中area和mom_inertia:
width = 2.0 height = 5.0 area = width*height
mom_inertia = area*height**2/12.0
2、形状参数
在Abaqus input文件中,形状参数化的实现方法有:参数化节点坐标、关联形状变量的节点坐标。
? 直接参数化单个节点坐标
*PARAMETER x_coord_node_1 = 10. y_coord_node_1 = 20. *NODE
1,
因此方法需要极多的数字去定义,故应用受限。 ? 关联形状变量的节点坐标。
可以指定形状变量作形状参数,但每个形状变量必须与一个形状参数关联。可以指定节点号及其相应的坐标分量变化,以直接定义形状变量,也可以用Abaqus脚本命令_computeShapeVariations( )计算出形状变量。
参数化形状变量的Inp用法:
*PARAMETER SHAPE VARIATION, PARAMETER=name
以上简单介绍了DSA参数种类及定义方法,把以上参数指定为设计参数还需:
**指定设计参数
『36』
第12章优化设计和敏感性分析
*DESIGN PARAMETER
par1, par2,…
12.5.4 DSA响应
对指定的需求响应,应用类似语法指定输出需求到输出数据库,定义一个响应,就会输出响应及其响应敏感度。除了特征值和特征频率之外,响应必须要设置,否则不会输出响应敏感度。
响应必须是现有输出变量的子集才有效,针对静力分析有效响应有:节点响应(U、RF)、单元响应(S、SF、SINV、SP E、SE、 EP、EVOL、MASS等)、接触响应(CSTRESS、 CDISP);针对频率分析的有效响应只有单元响应(MASS),其特征值(EIGVAL)和特征频率(EIGFREQ)的敏感度自动输出。
指定响应的Inp使用方法:
**设计响应
*DESIGN RESPONSE, FREQUENCY=interval, MODE LIST **接触响应
*CONTACT RESPONSE, MASTER=master name, NSET=nset name, SLAVE=slave name **单元响应
*ELEMENT RESPONSE, ELSET=elset name **节点响应
*NODE RESPONSE, NSET=nset name
注意:在某分析步设置了响应要求,会自动延续到后续分析步,除非分析步之间有NO-DSA分析步。 12.5.5 DSA设计参数梯度
DSA计算需要一个输入数据对设计参数的梯度,举例,如果泊松比?依赖于设计参数h,则dvdh就是所需要的梯度。其中,形状设计参数的梯度特别不同于其他设计参数的梯度。
1、形状设计变量梯度
形状设计变量的梯度必须使用参数化形状变量定义,为了进行DSA,如果使用形状变化数据当作设计参数,则形状变化数据即被认为是与设计参数有关的节点坐标的梯度,如果对形状参数给定非零值梯度,则Abaqus会扰动其基础坐标。
形状设计变量梯度的Inp使用方法:
*PARAMETER SHAPE VARIATION, PARAMETER=design parameter
2、非形状设计参数的梯度
对于非形状变量设计参数,Abaqus根据模型信息,默认使用数值差分法计算设计参数的梯度,当然,这些参数梯度也可使用Python表达式直接指定。可以指定一个设计参数作为单独的参数,也可指定一系列依赖于设计参数的参数,但一个设计参数仅可给定一个设计梯度定义。
非形状设计参数梯度的Inp使用方法:
*DESIGN GRADIENT, INDEPENDENT=design parameter, DEPENDENT= (list of dependent parameters)
12.5.6 DSA公式
应用于DSA的公式类型有两种:增量公式(Incremental formulation)和全局公式(Total formulations)。选取哪个,取决于分析是否是与历史相关,默认使用增量公式。
1、增量DSA公式
增量公式中,问题被假定与历史相关,当对增量位移敏感度求解时,在增量步结束全局位移敏感度即被更新。因为与历史相关,当前增量步的位移敏感度依赖于当前增量步开始时的状态变量敏感度,也可以这么说,为了力平衡,增量位移依赖于增量步开始的状态变量,在每个增量步,必须计算并更新状态变量敏感度,所以,DSA必须在所有分析步中激活。
因为需要在每个增量步计算状态变量和位移敏感度,增量DSA公式是要比全局DSA公式的计算时间长很多。
2、全局DSA公式
在全局公式中,总位移的敏感度被直接计算,换句话说,位移敏感度不依赖于上个增量步的敏感度结果。
为了判断能否应用全局公式,需运行两种公式并比较敏感度结果。 选择DSA 公式的Inp用法:
**增量公式
*DSA CONTROLS, FORMULATION=INCREMENTAL **全局公式
*DSA CONTROLS, FORMULATION=TOTAL
『38』
第12章优化设计和敏感性分析
12.5.7 后处理
设计响应和响应的敏感度只能在ABABQUS/Design的Visualization模块中看到,敏感度命名遵循的规则是:d_{response name}_{design parameter name}
举例:响应为应力S,设计参数为杨氏模量E,则敏感度为d_S_E。
12.6 敏感性分析SOP
在没有Abaqus/Design模块可用的情况下,只能手动添加关键字到Inp文件中。
12.6.1 关键字SOP
*HEADING ? **定义参数 *PARAMETER
Python expressions defining parameters. **指定设计参数
*DESIGN PARAMETER
List of independent parameters to be considered as design parameters. ? **节点集
*NODE, NSET=nset
Data lines to define the nodes. **定义形状变量
*PARAMETER SHAPE VARIATION, PARAMETER=parameter
Data lines to define the gradients of coordinates with respect to the parameter. ?
**单元类型定义
*ELEMENT, TYPE=solid element type, ELSET=elset_elastic
Data lines to define the elements. *ELEMENT, TYPE=solid element type, ELSET=elset_hyper
Data lines to define the elements.
**定义截面属性
*SOLID SECTION, ELSET=elset_elastic, MATERIAL=elastic *SOLID SECTION, ELSET=elset_hyper, MATERIAL=hyper **定义材料
*MATERIAL, NAME=elastic *ELASTIC
Data lines to define the elastic properties. *MATERIAL, NAME=hyper *HYPERELASTIC
Data lines to define the hyperelastic properties. ?
**激活DSA *STEP, DSA *STATIC ?
**定义设计响应
*DESIGN RESPONSE, FREQUENCY=interval **定义单元响应
*ELEMENT RESPONSE, ELSET=elset
Data lines to specify the element response identifier keys. **定义节点响应
*NODE RESPONSE, NSET=nset
Data lines to specify the nodal response identifier keys. *END STEP
12.6.2 形状变量SOP
如果用到形状变量作参数及设计参数,则需要在Abaqus/CAE中,使用脚本命令_computeShapeVariations()计算出所需的形状变量,步骤如下:
1、建立模型为Model-1
用Abaqus/CAE创建一个模型并划分好网格,然后通过Job?Create和Job?Write Input写出相应的Inp文件。
『40』
第12章优化设计和敏感性分析
为方便讨论,命名所建模型为Moldel-1,Part名为Part-1,Part instance为Part-1-1。 2、拷贝模型为Model-2
从主菜单:Model?Copy Model,复制Model-1,命名为Model-2。后续将修改Model-2以计算形状变量。
3、修改Model-2
在Part模块下,在树目录中选中Part。
从菜单栏Feature?Edit 进入相应的零件草图,应用Add?Dimension和 Edit?Dimension 更改零件草图,更改后退出草图,则零件几何自动更新。 注意:草图编辑会导致网格删除。 但在这里,不需划分Model-2网格。 4、运行脚本命令
在Abaqus/CAE的命令栏或从菜单栏File?Run Script运行脚本命令_computeShapeVariations(),则形状变量将以扩展名为.inp数据行自动生成。
举例:
ra1 = mdb.models ['Model-1'].rootAssembly ra2 = mdb.models['Model-2'].rootAssembly i1 = ra1.instances['Part-1-1'] i2 = ra2.instances['Part-1-1']
ra1._computeShapeVariations(originalInstance=i1, modifiedInstance=i2, fileName='shape_h')
5、映射Model-1网格到Model-2
为了计算形状变量,Model-1的网格被映射到Model-2的更改几何上,并被光顺。随后用映射的节点位置减去初始节点位置简化计算出形状变量。
注意查看Model-2被映射的网格是否符合预期。一般来说,几何变化应该很小(大约1%),以避免映射网格困难。
6、使用形状变量数据
拷贝脚本命令生成的shape_h.inp文件到分析数据Inp相应位置。 7、验证数据正确性
只有求解分析后,才可用Abaqus/CAE的后处理模块查看形状变量。
12.7 敏感性分析实例
以电子产品中常用的卡扣(Latch)为例进行敏感性分析,主要探讨材料的杨氏模量、板料厚度、摩擦系数、形状变量等对Latch的应力和正向力的影响程度,即敏感度。分两部分由浅入深逐步讲解:第1部分讲解浮点数据参数对响应的敏感度;第2部分讲解形状变量对响应的敏感度。
12.7.1 参数变化对卡扣的敏感性
本节详细讲解浮点数据参数(杨氏模量Young、材料厚度Thi和摩擦系数Fc)对设计响应(应力S11和正向力RF2)的敏感度。
1、问题描述
板料冲裁的卡扣Latch正向力分析有限元模型见图12-44,所用材料为厚度0.3mm的铜材C70250,其杨氏模量131000MPa,泊松比0.341,屈服强度473MPa。
此模型包含有2个Part(刚体Plug和变形体Latch),1个非线性静力分析步; 位移加载:第1步:Plug在-Y方向移动0.45mm; 边界条件:完全约束Latch根部倒刺。
图 12-44 Latch正向力分析模型
2、原始模型分析
打开光盘中本节的12.7.1_Latch_DSA_pre.cae模型,并从菜单栏Job?Submit提交Job-1_Latch_dsa_pre求解。进入后处理中查看:
应力云图如图12-45,最大S11应力为396.1Mpa(节点号495);
『42』
第12章优化设计和敏感性分析
图 12-45 应力S11云图
反作用力云图如图12-46,Plug反作用力RF2即正向力为-1.356N。
图 12-46 反作用力RF2云图
3、参数及设计参数定义
从菜单栏File?Set work directory查看工作文件夹位置,从所指文件中找到上文提交的Job-1_Latch_dsa_pre.inp,用写字板打开,并另存为Job-2_Latch_dsa_OK.inp。
在**PARTS前插入如下关键字:
**定义参数杨氏模量Young,材料厚度Thic和摩擦系数Fc *PARAMETER Young=131000 Thic=0.3 Fc=0.2 **定义设计参数
*DESIGN PARAMETER Young,Thic,Fc
4、取代输入值
搜索找到关键字*Material,把131000.换成
** MATERIALS ** 取代输入值
*Material, name=C70250TM00 *Elastic
搜索找到关键字*Shell Section,把0.3换成
** Section: Section-Shell
*Shell Section, elset=Set-Latch_geo, material=C70250TM00
搜索找到关键字*Friction,把0.2换成
*Friction, slip tolerance=0.005
5、激活DSA
搜索找到关键字*Step,在其后添加DSA=YES,添加后如下:
** 激活DSA
*Step, name=Step-1_Move, nlgeom=YES, DSA=YES *Static
0.1, 1., 1e-05, 0.3 **
6、DSA公式定义
搜索找到** BOUNDARY CONDITIONS,其前前插入如下关键字:
**增量公式
*DSA CONTROLS, FORMULATION=INCREMENTAL ** BOUNDARY CONDITIONS
其实默认的就是增量公式,不定义也可。
『44』
第12章优化设计和敏感性分析
注意:DSA关键字结束,不要留空行。 7、DSA响应定义
在结束关键字*End step前插入如下关键字:
**设计响应输出 *DESIGN RESPONSE
**没定义节点集,即全局节点响应 *NODE RESPONSE RF,
**没定义单元集,即全局单元响应 *Element RESPONSE S,
8、DSA结果
保存修改完成的Job-2_Latch_dsa_OK.inp。进入Job模块,如图12-47所示,从菜单Job?Create创建名为Job-2_Latch_dsa_ok的Job,提交求解。
图 12-47 创建Job
查看参数对Latch的应力S11敏感度如图12-48所示。从图中可知,有关杨氏模量的参数Young和有关摩擦系数的参数Fc对最大应力S11响应具有正敏感度,即正相关影响,而有关厚度参数Thic对应力响应S11的影响则相反。
(a)参数Young对S11的敏感度
(b)参数Thic对S11的敏感度
(c)参数Fc对S11的敏感度 图 12-48 参数敏感度云图
因各参数值差异太大,要相互对比各参数对应力S11的敏感度大小,还需用式(12-11)进行归一化(Normalization)计算:
归一敏感度?(参数值 X 敏感度 ) / 响应最大值(12-11)
具体到本例中,参数Young对节点495应力S11归一化处理为:
『46』
第12章优化设计和敏感性分析
dS11dS11Normalized ?Young0?/S11max dYoungdYoung ? 131000*0.00302/396.1?0.9981根据以上所述,各参数对最大应力S11(节点495)的敏感度及归一化敏感度见表12-2,
可得知参数Young对应力S11的影响程度最高。
表 12-2
各参数对应力S11的敏感度和归一化敏感度
参数Para Young Thic Fc 参数值Para0 131000 0.3 0.2 敏感度dS11dPara 应力 S11max Normalized敏感度 Para0*dS11/S11max dPara0.00302 -1.55897 13.49390 396.1 MPa 0.9981 -0.0012 0.0068 同理,查看各参数对Plug反作用力RF2的敏感度及归一化敏感度如表12-3:
表 12-3
各参数对Plug反作用力RF2的敏感度和归一化敏感度
参数Para Young Thic Fc 参数值Para0 131000 0.3 0.2 敏感度dRF2dPara 反作用力RF2max Normalized敏感度 Para0*dRF2/RF2max dPara-1.01134E-05 -4.50347 -0.158776 -1.3565 N 0.97667 0.99598 0.02341 由表12-3中,敏感度可知,Young、Thic和Fc参数对RF2都是负影响,即增大参数值会使得RF2值更小(反作用力更大)。同时,由表中归一化敏感度还可知参数Thic对RF2的影响最大。
9、DSA验证 ? 应力S11预测
根据表12-2的杨氏模量对S11的敏感度dS11为0.00302,假设杨氏模量正误差为1%,
dYoung即?Young=1310Mpa,则?S11=1310*0.00302=3.9562Mpa,即预测S11prediction=396.1+3.9562=400.0562Mpa。
? 应力S11验证
打开光盘中本节的12.7.1_Latch_DSA_pre.cae模型,修改铜材C70250的杨氏模量为
131000+1310=132310Mpa,提交计算。查看结果S11云图,如图12-49所示,最大值为400.022Mpa,与预测的400.0562Mpa非常接近。
图 12-49 修改杨氏模量后的S11云图
10、讨论 ? DSA公式
打开增量公式求解的Job-2_Latch_dsa_OK.inp,修改Increment为Total设置成全局公式,另存为Job-3_Latch_dsa_Total.inp,修改后关键字:
**全局公式
*DSA CONTROLS, FORMULATION=TOTAL
提交Job-3_Latch_dsa_Total.inp求解后,查看参数Young对S11的敏感度云图,与图12-48(a)完全一致,说明此例可以使用全局公式计算。
从两种公式求解的.msg信息中,查看TOTAL CPU TIME:增量公式为102.30S,全局公式83.40S。证明了全局公式能够减少求解时间。
? 扰动尺寸
打开Job-2_Latch_dsa_OK.msg可查到参数的扰动尺寸信息。
DESIGN PARAMETER PERTURBATION SIZE Young 19.650
Thic 0.45000E-05 Fc 0.30000E-07
把下面关键字,添加到Job-2_Latch_dsa_OK.inp,另存为Job-4_Latch_dsa_size.inp。
*DSA CONTROLS Young, CD, 1.9650 Thic, CD, 0.45000E-05 Fc, CD, 0.30000E-07
查看Job-4_Latch_dsa_size.inp求解结果,结果无变化,但求解时间减少至54S。
『48』
第12章优化设计和敏感性分析
注意:针对复杂的模型,可以先计算一个类似的简单模型,查看是否适合使用全局公式及其扰动尺寸,然后再对复杂模型定义DSA公式及扰动尺寸,以减少求解时间。 12.7.2 形状变量对卡扣的敏感性
还是针对卡扣正向力模型,本节详细讲解形状变量的生成及其对响应的敏感度。 1、问题描述
卡扣Latch模型和12.7.1一样,见图12-44,模型结果见图12-45、图12-46。 因为冲裁误差,假定悬臂的上下边,向外偏移出理想位置,如图12-50,上边向外偏移的形状变量Shape Variation简称SV1,下边向外偏移的形状变量简称SV2。下文将研究形状变量SV1、SV2对应力S11、正向力RF2响应的敏感度。
图 12-50 形状变量示意
2、SV1形状变量生成
打开光盘中本节12.7.2_Latch_Shape_pre.cae,另存为12.7.2_Latch_Shape_ok.cae。 ? 拷贝模型
从主菜单:Model?Copy Model,拷贝Latch_shape_pre,命名为Latch_shape_SV1。 从树目录,选中模型Latch_shape_SV1中的Parts:Latch_pre,右键重命名为Latch_SV1。 从树目录,选中模型Latch_shape_SV1中的Instances:Latch_pre-1,右键重命名为Latch_SV1-1。
? 修改Latch_shape_SV1
从树目录,选中模型Latch_shape_SV1中的Parts:Latch_SV1:Feature:Section Sketch,右键Edit,进入相应的零件草图,如图12-51所示。
图 12-51 进入草图
应用Add?offset命令,偏移悬臂的上边线,向外偏移0.1mm,偏移后的线的两端点与两侧线,重新倒圆角半径不变,如图12-52所示。
更改后退出草图,更新几何,此时Latch_SV1的网格也被清除了,这里不需重新划分网格。
图 12-52 向外偏移后的形变SV1
? 运行脚本命令
如图12-53,从Abaqus/CAE的命令栏,输入图框所示的脚本命令,回车键运行。(可直接从光盘所附“脚本文件.txt”中复制。)
图 12-53 运行脚本命令
『50』
第12章优化设计和敏感性分析
进入Assembly模块,即可查看映射后的网格,网格无扭曲,映射后的网格可以接受。 脚本运行后,在工作文件夹中可以找到shape_SV1.inp文件,用写字板打开可知每个节点的相对坐标变化。
3、SV2形状变量生成 ? 拷贝模型
复制Latch_shape_pre,命名为Latch_shape_SV2。
选中模型Latch_shape_SV2中的Parts:Latch_pre,右键重命名为Latch_SV2。 选中模型Latch_shape_SV2中的Instances:Latch_pre-1,右键重命名为Latch_SV2-1。 ? 修改Latch_shape_SV2
类似图12-52,向外偏移悬臂下边线0.1mm。偏移后如图12-54。退出草图,并更新。
图 12-54 向外偏移后的形变SV2
? 运行脚本命令 运行如下脚本:
ra1 = mdb.models ['Latch_shape_pre'].rootAssembly ra2 = mdb.models ['Latch_shape_SV2'].rootAssembly i1 = ra1.instances ['Latch_pre-1'] i2 = ra2.instances ['Latch_SV2-1']
ra1._computeShapeVariations (originalInstance=i1, modifiedInstance=i2, fileName='shape_SV2')
进入Assembly模块,可以查看映射后的网格,网格无扭曲,映射后的网格可以接受。 在工作文件夹中可以找到shape_SV2.inp文件,打开可查看节点的相对坐标变化。 关闭12.7.2_Latch_Shape_ok.cae。