第12章 优化设计与敏感性分析
本章主要讲解应用Abaqus进行结构优化设计与敏感性分析。
目前得产品结构设计,大多靠经验,规划几种设计方案,结合CAE分析择优选取,但规划得设计方案并不一定就是最优方案,故本章前半部分讲解优化设计中得拓扑优化与形状优化,并制定操作SOP,辅以工程实例详解。
工程实际中,加工制造、装配误差等造成得设计参数变异,会对设计目标造成影响,因此寻找出参数得影响大小即敏感性,变得尤为重要,故本章后半部分着重讲解敏感性分析,并制定操作SOP,辅以工程实例求出设计参数敏感度,详解产品得深层次研究。
知识要点:
? 结构优化设计基础 ? 拓扑、形状优化理论 ? 拓扑、形状优化SOP及实例 ? 敏感性分析理论 ? 敏感性分析SOP及实例
12.1 优化设计基础
优化设计以数学中得最优化理论为基础,以计算机为手段,根据设计所追求得性能目标,建立目标函数,在满足给定得各种约束条件下,优化设计使结构更轻、更强、更耐用。
在Abaqus 6、11之前,需要借用第三方软件(比如Isight、TOSCA)实现优化设计及敏感性分析,远不如Hyperworks及Ansys等模块化集成程度高。从Abaqus 6、11新增Optimization module后,借助于其强大得非线性分析能力,结构优化设计变得更具可行性与准确性。
12.1.1 结构优化概述
结构优化就是一种对有限元模型进行多次修改得迭代求解过程,此迭代基于一系列约束条件向设定目标逼近,Abaqus优化程序就就是基于约束条件,通过更新设计变量修改有限元模型,应用Abaqus进行结构分析,读取特定求解结果并判定优化方向。
Abaqus提供了两种基于不同优化方法得用于自动修改有限元模型得优化程序:拓扑优
化(Topology optimization)与形状优化(Shape optimization)。两种方法均遵从一系列优化目标与约束。
12.1.2 拓扑优化
拓扑优化就是在优化迭代循环中,以最初模型为基础,在满足优化约束(比如最小体积或最大位移)得前提下,不断修改指定优化区域单元得材料属性(单元密度与刚度),有效地从分析模型中移走单元从而获得最优设计。其主体思想就是把寻求结构最优得拓扑问题转化为对给定设计区域寻求最优材料得分布问题。
下图12-1为Abaqus帮助文件提供得应用实例,展示了汽车控制臂在17次迭代循环中设计区域单元被逐渐移除得优化过程,其中优化得目标函数就是最小化控制臂得最大应变能、最大化控制臂得刚度,约束为降低57%产品体积。优化过程中,控制臂中部得部分单元不断被移除。
图 12-1 拓扑优化进程示例
Abaqus拓扑优化提供了两种算法:通用算法(General Algorithm)与基于条件得算法(Condition-based Algorithm)。 通用拓扑优化算法就是通过调整设计变量得密度与刚度以满足目标函数与约束,其较为灵活,可以应用到大多数问题中。相反,基于条件得算法则使用节点应变能与应力作为输入数据,不需要计算设计变量得局部刚度,其更为有效,但能力有限。两种算法达到优化目标得途径不同,Abaqus默认采用得就是通用算法。
从以下几个方面比较两种算法:
中间单元:通用算法对最终设计会生成中间单元(相对密度介于0~1之间)。相反,基于条件得算法对最终设计生成得中间单元只有空集(相对密度接近于0)或实体(相对
密度为1)。
优化循环次数:对于通用优化算法,在优化开始前并不知晓所需得优化循环次数,正常情况在30~45次。基于条件得优化算法能够更快得搜索到优化解,默认循环次数为15次。
分析类型:通用优化算法支持线性、非线性静力与线性特征频率分析。两种算法均支持几何非线性、接触与大部分非线性材料。
目标函数与约束:通用优化算法可以使用一个目标函数与数个约束,这些约束可以全部就是不等式限制条件,多种设计响应可以被定义为目标与约束,而基于条件得优化算法仅支持应变能作为目标函数,材料体积作为等式限制条件。
12.1.3 形状优化
形状优化主要用于产品外形仅需微调得情况,即进一步细化拓扑优化模型,采用得算法与基于条件得拓扑算法类似,也就是在迭代循环中对指定零件表面得节点进行移动,重置既定区域得表面节点位置,直到此区域得应力为常数(应力均匀),达到减小局部应力得目得。比如图12-2所示得连杆,其进行形状优化,表面节点移动,应力集中降低。
图 12-2
形状优化示例
形状优化可以用应力与接触应力、选定得自然频率、弹性应变、塑形应变、总应变与应变能密度作为优化目标,仅能用体积作为约束,但可以设置几何限制,以满足零件制造可行性(冲压、铸造等)。当然也可以冻结某特定区域、控制单元尺寸、设定对称与耦合限制。
注意: 1、 在进行形状优化之前,优化区域必须具有较好得网格质量,优化过程中,为了获得较高质量得网格,Abaqus优化模块可以对选定网格进行光顺,使得内外部节点位置合适。 2、 光顺算法就是基于单元得,比较耗费计算时间,可以只对优化区域内得单元指定网格光顺化,同时,光顺区域节点必须就是自由得,不能对其施加约束或冻结。
12.1.4 优化术语
拓扑与形状优化必须在设定好得目标与约束条件下进行,如此程序才会在约束框架内向优化目标迈进。仅仅描述要减小应力或者增大特征值就是不够,必须有更为特定得定义,比如,最小化两种载荷下得最大节点应力,最大化前5阶特征值之与,如此得优化目标称之为目标函数(Objective Function);同时,在优化过程中可以强制限定某些特定值,比如可以指定某节点得位移不超过一定值,如此得强制性限制叫做约束(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分析。
在优化迭代(设计循环)满足以下条件即终止: ? 达到设定得最大迭代数 ? 达到设定得停止条件。
以上操作步骤可概括为图12-4所示得优化设计SOP(Standard Operating Procedure)。
建立有限元模型创建优化任务创建设计响应创建目标函数设置优化创建优化进程创建几何限制创建约束提交优化进程准备设计变量并更新有限元模型用户自定义操作设计循环迭代Abaqus 求解模型监控求解进度执行优化自动优化执行否满足终止条件?是终止优化进程监控优化进度查看优化结果 图 12-4 优化设计SOP
在图12-4 SOP基础上,还需对关键步(设计响应、目标函数与约束)得设置详加说明。
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)计算。
xg?xdV?? ; y??dVg?ydV?? ; z??dVg?zdV? (12-3) ???dV其中,单元密度ρ使用得就是优化并修改得模型现有相对密度;坐标轴可以就是全局坐标系统,也可以用户自定义得局部坐标系统。
注意:优化模块重心计算时,仅统计模块支持得单元类型,如果模型中含有其不支持得单元类型(比如线单元),结果会与Abaqus/Standard或Abaqus/Explicit计算结果有所差别。 Abaqus/CAE操作:切换到优化模块,Task?General topology 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?General topology task, Design Response?Create: Single-term, Variable: Displacement。
3)模态特征频率(Modal Eigenfrequency):模态特征频率值就是结构分析中最简单得动态响应。
Abaqus优化模块支持两种评估特征频率方法: ? 从模态分析中获得单一特征频率 ? Kreisselmaier-Steinhauser公式计算
两种方法中Kreisselmaier-Steinhauser方法更加有效率,而单一特征频率方法有其唯一得优势——应用各阶特征频率之与作约束。
在最大化最低特征频率时,不仅仅要考虑第一阶得特征频率,还要考虑接下来得几阶,
因为在优化中,随着结构得变化,模态振型可能会发生转换。
Abaqus/CAE操作:切换到优化模块,Task?General topology task, Design Response?Create: Single-term, Variable: Eigenfrequency from modal analysis or Eigenfrequency 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?General topology task, Design 5)内力与内转矩、反作用力与反作用转矩与重量在此无特别表述,应变能与体积与式(12-1)与式(12-2)一致。
3、形状优化得设计响应
针对形状优化,可以使用特征频率、应力、接触应力、应变、节点应变能密度与体积作为设计响应,其中仅体积设计响应可被用以约束定义。
1)特征频率(Eigenfrequency):应用Kreisselmaier-Steinhauser公式计算得特征值作为设计响应,并被定义到目标函数中。
Abaqus/CAE操作:切换到优化模块,Task ? Shape task, Design Response ? Create: Single-term, Variable: Eigenfrequency calculated with 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可知,节点应变能密度综合考虑了应变与应力,所以针对非线性材料,局部逐点应变能密度能够更好得表征材料失效。
Abaqus/CAE操作:切换到优化模块,Task?Shape task, Design Response? Create: Single-term, Variable: Strain energy density。
5)体积(Volume):参考上文已有之表述。
12.2.3 目标函数设置
目标函数用于定义优化得目标,其就是通过对一组设计响应公式运算得到得唯一得标量值,比如设计响应为节点应变能,目标函数可以定义成最小化设计响应总与。优化问题
??u?x?,x??表征,其中目标函数Ф值依赖于状态变量u与设计变量x。 可以用min?由此可知,最小化N个设计响应得目标函数可用式12-6表述。
?min?N??min??Wi?i??iref? (12-6)
?i?1???同理,最大化N个设计响应得目标函数可用式12-7表述。
?N??max?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: Planar symmetry, Point symmetry, Rotational symmetry, or Cyclic symmetry。
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。
查瞧应力云图如图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。
图 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所示。
同时,输出优化进程中,目标函数与约束值变化。
操作如下:从工具箱Create XY data:ODB history output,分别输出目标函数体积、约束D点位移变化曲线,整理后如图12-18。
图 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、, 0、34100000, 0、00000000 **新得塑性应变-应力数据
*PLASTIC, HARDENING=ISOTROPIC
4、7336200e-007, 0、00000000, 0、00000000, 5、0900000e-007, 0、0010040100, 0、00000000, …… **
本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最大值。
图 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 位移响应得约束
? 创建几何限制
为了优化后得零件便于锻造,特对设计区域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作比较,其最大应力增大少许,位移也在许可范围内。
图 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位移云图
图 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)设计区域内最大应变能密度
(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所示。
图 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
12.5.1 Abaqus得DSA
Abaqus DSA得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参数种类及定义方法,把以上参数指定为设计参数还需:
**指定设计参数
*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
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文件。
为方便讨论,命名所建模型为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
得命令栏或从菜单栏 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, '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);
图 12-45 应力S11云图
反作用力云图如图12-46,Plug反作用力RF2即正向力为-1、356N。
图 12-46 反作用力RF2云图
3、参数及设计参数定义
从菜单栏 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
其实默认得就就是增量公式,不定义也可。
注意: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归一化处理为:
dS11dS11?Young0?/S11max dYoungdYoung ? 131000*0.00302/396.1?0.9981Normalized 根据以上所述,各参数对最大应力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,假设杨氏模量正误差为
dYoung1%,即?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。
注意:针对复杂得模型,可以先计算一个类似得简单模型,查瞧就是否适合使用全局公式及其扰动尺寸,然后再对复杂模型定义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 运行脚本命令
进入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, 'shape_SV2')
进入Assembly模块,可以查瞧映射后得网格,网格无扭曲,映射后得网格可以接受。 在工作文件夹中可以找到shape_SV2、inp文件,打开可查瞧节点得相对坐标变化。 关闭12、7、2_Latch_Shape_ok、cae。
4、写出、Inp
再次打开12、7、2_Latch_Shape_pre、cae。
切换到Job模块,从菜单栏Job?Create,创建名称为Job-1_Latch_shape_pre得Job,从菜单栏Job?Write Input,写出Job-1_Latch_shape_pre、inp到临时工作文件夹中。
5、参数及设计参数定义
用记事本打开Job-1_Latch_shape_pre、inp,另存为Job-2_Latch_shape_ok、inp。 在**PARTS前插入如下关键字:
**定义参数 *PARAMETER SV1=0、0 SV2=0、0 **定义设计参数
*DESIGN PARAMETER SV1, SV2
其中参数SV1=0,SV2=0表示以原始模型作扰动参考。 6、定义形状变量
搜索关键字*Instance, name=Latch_pre-1, part=Latch_pre,在其后插入如下关
键字:
*Instance, name=Latch_pre-1, part=Latch_pre(参考行)
**定义SV1参数
*PARAMETER SHAPE VARIATION, PARAMETER=SV1
复制shape_SV1、inp中全部数据到此位置 **定义SV2参数
*PARAMETER SHAPE VARIATION, PARAMETER=SV2
复制shape_SV2、inp中全部数据到此位置 *End Instance(参考行) 7、激活DSA
搜索找到关键字*Step,在其后添加DSA=YES,添加后如下:
**激活DSA
*Step, name=Step-1_Move, nlgeom=YES, DSA=YES *Static
0、1, 1、, 1e-05, 0、3
8、DSA公式定义
不作任何操作,保持默认即增量计算。 9、DSA响应定义
在结束关键字*End step前插入如下关键字:
**设计响应输出 *DESIGN RESPONSE
**没定义节点集,即全局节点响应 *NODE RESPONSE RF,
**没定义单元集,即全局单元响应 *Element RESPONSE S,
10、DSA结果
保存修改完成得Job-2_Latch_shape_ok、inp。
打开Abaqus/CAE,切换到Job模块,从菜单Job?Create,以Job-2_Latch_shape_ok、inp作Input file,创建名为Job-2_Latch_shape_ok得Job,提交求解。求解完成进入后处理。 菜单栏Result?Step/Frame:Parameter Definition。查瞧针对形状变量SV1、SV2得节点移动情况,如图12-55所示。
(a)参数SV1得Y方向节点偏移
(b)参数SV2得Y方向节点偏移 图 12-55 网格节点偏移矢量图
菜单栏Result?Step/Frame:Step-1_Move。
查瞧SV1、SV2对Latch得应力S11敏感度如图12-56所示。从图中可知,参数SV1、SV2对最大应力S11响应均具有正敏感度即正向影响。针对不可用数值表示得形状变量,均假定其变量值为1,归一化敏感度后,SV2得影响大于SV1。
(a)SV1对应力S11得敏感度分布
(b)SV2对应力S11得敏感度分布 图 12-56 形状变量对应力S11得敏感度
查瞧SV1、SV2对Plug得反作用力RF2敏感度如图12-57所示。从图中可知,参数
SV1、SV2对最大应力S11响应均具有负敏感度,因为RF2为负值,等于增大反作用力。
(a) SV1对RF2敏感度
(b) SV2对RF2敏感度
图 12-57 形状变量对RF2得敏感度
11、DSA验证 ? 预测
假设SV1正误差为设定形变得40%,SV2正误差为设定形变得50%,则
?S11=(40%*SV1敏感度+50%*SV2敏感度)= (40%*10、5465+50%*68、3222 )=38、3797
Mpa,即预测得S11prediction=396、1+38、3797=434、4797Mpa;
同理,预测得RF2prediction=-1、356-(40%*0、5645+50%*0、5737)=-1、356-0、51265=-1、86865 N、 ? 验证
打开光盘中本节所附带得12、7、2_Latch_Shape_pre、cae模型,另存为12、7、2_Latch_Shape_prediction、cae。进入Latch草图,悬臂上边线偏移40%*0、1=0、04mm,下边线偏移50%*0、1=0、05mm,如图12-58示意。
(a)偏移边得左端示意
图 12-58 修改得草图示意
(b)偏移边得右端示意
草图修改完成后,退出草图并更新,划分网格后,提交计算,求解完成,查瞧S11及RF2云图,如图12-59所示,此验证值与预测值得对比见表12-4,预测值与验证值有稍许误差,对于非线性大变形模型,此误差就是可以接受得。
(a)验证模型得应力S11分布云图
(b)验证模型得反作用力RF2分布云图
图 12-59 验证模型得S11与RF2
表 12-4 预测值与验证值
预测值 验证值 误差 Latch最大应力S11 (Mpa) 434、4797 447、4000 -2、8879% Plug反作用力RF2 (N) -1、86865 -1、91800 -2、5730% 注:接触处得网格节点划分不一,结果会有稍许差别。
12.8 本章小结
本章前部分讲解了Abaqus得结构优化设计概念基础及其应用场合,以最优化设计产品,并详细实例操作:拓扑优化2例,形状优化1例,以此证明Abaqus依靠其强大得非线性求解能力,在优化领域占有一席之地。
本章后部分讲解了敏感性分析得概念及其使用方法,以深入研究参数误差及制造误差所导致得响应变化程度,即敏感度,并详细实例操作:敏感性分析2例,以证明Abaqus敏感性分析得可行性。
以上优化设计及敏感性分析得应用范围还有所受限,比如形状变化较大场合、多物理场场合等,如有必要可借助实验设计方法,比如正交实验,实现敏感度分析及结构优化,如读者有兴趣可参阅本书作者硕士毕业论文(见参考文献),有应用正交实验优化设计与敏感性分析。