Ansys结构优化分析(DesignOptimization)前言结构设计是创造结构方案的过程,传统的结构设计是设计者按设计要求和设计者的实践经验,参考类似工程,通过判断创造结构方案,然后进行力学分析或按规范要求作安全校核,再修改设计。而结构优化设计与分析则把力学概念和优化技术有机地结合,根据设计要求,使参与计算的量部分以变量出现,形成全部可能的结构设计方案域,利用数学手段在域中找出满足预定要求的不仅可行而且最好的设计方案。通俗地讲优化分析,指的找到一种方案可以满足所有的设计要求,而且所需的支出(如重量,面积,体积,应力,费用等)最小。也就是说,最优设计方案就是一个最有效率的方案。设计方案的任何方面都是可以优化的,比如说:尺寸(如厚度),形状(如过渡圆角的大小),支撑位置,制造费用,自然频率,材料特性等。结构优化设计方法截面优化节点位置优化拓扑布局优化结构类型优化杆件截面尺寸或杆件性质(如弹性模量)节点位置(杆件)或结构形状(连续体)拓扑:杆件(离散)或结构子域(连续)的有元布局:截面、节点、拓扑皆考虑结构类型选为设计变量,如结构选为桁架、刚架、悬索等优化难度小优化效益低优化难度大优化效益高1什么是优化设计1.1优化设计的数学模型优化设计简单地来说就是由计算机自动地去计算得到设计参数,并且同时符合两个要求:第一是限制条件(constraints),譬如结构物的应力不得超过容许值;第二是某个特定的目标值(如结构物的总重量、面积、体积、费用)必须最小化或最大化。可以用下列数学模式来表示优化设计的目的。,...,n,jXxX,...,m,iSsStoSubjectfMininizeUjjLjUiiLi21,21,)()(xx(1-1)解方程1-1的方法有很多,但是几乎有一个共同点:都是基于迭代的方法,也就是说从一组初始的设计参数开始,一步一步地去改变设计参数,直到f(x)达到最小,而且所有限制条件都能够符合为止。注意,因为状态变量si(x)会根据设计参数的改变而有所改变,所以在改变设计参数的每一次迭代过程中,都必须做至少一次的有限元分析。所以优化分析是非常耗费计算机时间的工作。缩短计算时间的有效方法包括:适当地简化分析模型、减少设计参数及状态方程的数目等。1.2优化变量优化变量=(设计变量、状态变量、目标函数)当ANSYS进行最佳化时,这些优化变量是会改变的,所以在ANSYS分析中,必须用ANSYS变量(参数)来表示这些优化变量。1.3设计空间和设计序列设计变量组成的空间称为设计空间(designspace),设计最佳化的目的相当于在此设计空间中去搜寻一个最佳的点。设计空间上的每一个点代表一种可能的设计变量组合,称为一个设计序列(designset)。满足所有约束条件的一个设计序列称为可行设计(feasibledesign),所有可行设计的集合是此设计空间中的一个区域,称为可行域(feasibleregion)。在所有可行域中,使得目标方程最小的设计即称为优化设计。更广泛地来说,如果有n个设计变量,则设计是一个n维空间,可行域则处于此n维空间的某一区域。在某些情况下,有可能并不存在可行区间,也就是设计空间中没有任何点同时满足所有约束。这个问题是无解的,不过ANSYS会帮你找一个最能满足约束的设计,此时得到的结果不称为优化设计而称为最好设计。优化设计必然是一个最好设计,但是最好设计并不一定是优化设计。2Ansys的优化设计2.1采用ansys进行优化设计的文件用ANSYS命令撰写为执行文件的方式,命令组织成两个文件:优化文件和分析文件。优化的每一次迭代过程中,都须进行至少一次的有限元分析,分析文件的命令就是用来进行该有限元分析的。分析文件的结构基本上和典型的ANSYS分析程序类似,唯一不同的是分析文件中必须包含计算状态变量、目标方程的值。优化文件是描述式1-1的数学模式,然后去执行设计优化的工作。由于执行设计最佳化需要调用分析文件,所以优化文件中必须指定分析文件的名称。2.2典型的优化文件/CLEAR!Clearmodeldatabase…!Initializedesignvariables/INPUT!Executeanalysisfileonce/OPT!EnteroptimizationphaseOPCLEAR!ClearoptimizationdatabaseOPVAR,DV!DeclaredesignvariablesOPVAR,SV!DeclarestatevariablesOPVAR,OBJ!DeclareobjectivefunctionOPTYPE!SelectoptimizationmethodOPANL!SpecifyanalysisfilenameOPEXE!ExecuteoptimizationrunOPLIST!Summarizetheresults…!Furtherexaminingresults2.3典型的分析文件/PREP7…!Buildthemodelusingthe!ParameterizeddesignvariablesFINISH/SOLUTION…!ApplyloadsandsolveFINISH/POST1or/POST26*GET,...!Retrievevaluesforstatevariables*GET,...!Retrievevalueforobjectivefunction…FINISH2.4Ansys优化算法ANSYS提供了两个优化算法:零阶方法和一阶方法。由前面步骤可知,优化设计的计算过程中,需去计算目标函数和状态变量的值,这些函数值称为零阶值;目标函数和状态变量对设计变量的一次微分值,称为一阶值。同理,二次微分值称为二阶值。一个优化算法如果只用到零阶值则称为零阶方法;如果用到一阶值(但不会用到二阶值),则称为一阶方法;同理,如果会用到二阶值则称为二阶方法。在计算时间上,依次是计算零阶值最节省时间、计算一阶值次之、计算二阶值最耗时间,而且三者的差别是以n(设计变量数)的倍数增加;也就是说计算一阶值是计算零阶值的n倍时间,计算二阶值是计算一阶值的n倍时间。从另一方面来比较,在计算精度与收敛性上,则依次是二阶方法优于一阶方法,而一阶方法优于零阶方法。整体的效率而言,零阶方法通常还是较有效率的,一阶方法次之,二阶方法则是最没效率的。2.5其它优化工具除了零阶方法和一阶方法这两个选择以外,使用OPTYPE命令也可以选择其它的工具,具体有如下几种。(1)单迭代设计工具(SingleIterationDesignTool):可以手动地去改变设计变量,然后使ANSYS计算状态变量和目标方程,再自行判断是否足够优化。这种手动的方式有时候比较有效率,尤其要对一个问题进行一些初步探索性计算和研究时。(2)随机计设计工具(RandomDesignTool):可以要求ANSYS在设计中随机地挑选n个设计序列,并计算其目标方程和状态变量值。(3)梯度法(GradientTool):所谓梯度就是指一阶的意思,亦即目标函数对设计变量的微分。梯度又称为灵敏度,因为它代表着设计变量的变动对目标函数相对的变动,计算梯度又称为叫灵敏度分析。(4)等步长搜索工具(SweepTool):针对某一个设计变量做研究,也就是当此设计变量在变化时,目标函数和状态变量是如何变化的。(5)乘子计算工具(FactorialTool):ANSYS可以帮你直接采用正交表,不过这里的正交表是简单的二级全因子设计的正交表。3Ansys优化设计的步骤3.1创建循环使用的分析文件该文件应当表示一个完整的分析过程,但需满足以下条件:(1)参数化建立模型(PREP7)用设计变量作为参数建模的工作是在PREP7中完成的。(2)求解(SOLUTION)求解器用于定义分析类型和分析选项,施加载荷,指定载荷步,完成有限元计算。所有分析用到的数据都要指定:凝聚法分析中的主自由度,非线性分析中的收敛准则,谐波分析中的频率范围等。载荷和边界条件也可以作为设计变量。(3)提取并指定状态变量和目标函数(POST1/POST26)提取结果并赋值给相应的参数。这些参数一般为状态变量和目标函数。提取数据的操作用*GET命令(UtilityMenuParametersGetScalarData)实现。(4)分析文件的准备分析文件有三种方式,分别为系统编辑器编辑的批处理文件;LGWRITE命令(UtilityMenuFileWriteDBLog)生成的命令流文件;程序命令流文件(Jobname.LOG,必要时需删除不必要的部分)。3.2建立优化分析的参数完成分析文件的建立后,就可以进行优化分析了,如果在交互方式下进行优化的话,最好先在ANSYS数据库中用分析文件建立参数,其优点有:初始参数可以作为一阶分析方法的起点,且对于优化过程参数在数据库中可以在GUI下进行操作,便于定义优化变量。3.3进入OPT指定分析文件该步骤是由OPT处理器来完成,其命令为:/OPT。3.4声明优化变量该步骤指定哪些参数是设计变量,哪些参数是状态参数,哪些参数是目标函数,允许有不超过60个设计变量和不超过100个状态变量,但只能有一个目标函数。3.5选择优化工具或优化方法ANSYS提供了一些优化工具和方法,默认方法是单次循环,指定后续优化的工具和方法的命令为:OPTYPE。3.6指定优化循环控制方式每种优化方法和工具都有相应的循环控制参数,如最大迭代次数等,这些控制参数设定的路径为:MainMenuDesignOptMethod/Tool。3.7进行优化分析在控制项设定好以后,可以进行分析了,其命令为:OPEXE。在执行OPEXE时,优化循环文件(JOBNAME.LOOP)会根据分析文件生成。循环在满足以下情况时终止:收敛、中断、分析完成等。3.8查看设计序列结果优化循环结束后,可以用命令或相应的GUI路径来查看设计序列。如:OPLIST、STATUS、POST1和POST26等。优化数据流向4Ansys优化分析例子上图是一个两端固定的矩形断面钢梁,其弹性模量E=200Gpa,梁的宽度b=100mm,梁的厚度需要优化设计,设计的目标是使梁的重量最轻。梁的上表面必须维持水平,但是梁厚度是可以沿着长度变化的(即梁底的曲线是可以变化的),但是梁厚度不得低于100mm也不得超过800mm。负载方面考虑一集中载重F、均布力p和自重。另一限制条件是弯曲应力不能够超过100MPa。4.1模型建立首先,这个例子是左右对称的,所以只需取左半部来分析就可以了。然后取三个地方的高度,分别是端点H1、四分点H2、及梁中央点H3,然后以样条函数将这三个点用圆滑曲线连结起来,代表梁底的曲线。使用PLANE42元素来做2D的分析,取整个梁的最大和最小的弯曲应力(分别是SMAX及SMIN)作为状态变量,上下限分别为+100MPa及-100MPa。梁的总体积(SVOLUME)是目标方程。综合以上的讨论,设计优化问题可以表示成下列的数学模式:mm8003mm100mm8002mm100mm8001mm100Mpa100Mpa100Mpa100Mpa100HHHSMINSMAXtoSubjectSVOLUMEMininize分析的简化模型4.2分析过程