优化分析(ANSYS)第一章引言:ANSYS优化分析第二章参数化建模第三章顺序耦合场分析第四章顺序耦合场分析第五章热-应力分析第六章APDL基础第七章ANSYS常识目录优化分析ANSYS讲义——刘恒第一章引言:ANSYS优化分析优化分析ANSYS讲义——刘恒A.什么是ANSYS优化分析?B.基本概念C.优化技术一、引言:ANSYS优化分析优化分析ANSYS讲义——刘恒优化设计是一种寻找确定最优设计方案的技术。所谓“最优设计”,指的是一种方案可以满足所有的设计要求,而且所需的支出(如重量,面积,体积,应力,费用等)最小。也就是说,最优设计方案就是一个最有效率的方案。注意过普通的水杯吗?底面圆圆的,上面加盖的哪一种。仔细观察一下,你会发现比较老式的此类水杯有一个共同特点:底面直径=水杯高度。因为只有满足这个条件,才能在原料耗费最少的情况下使杯子的容积最大。A.什么是ANSYS优化分析?优化分析ANSYS讲义——刘恒设计方案的任何方面都是可以优化的,比如说:尺寸(如厚度),形状(如过渡圆角的大小),支撑位置,制造费用,自然频率,材料特性等。实际上,所有可以参数化的ANSYS选项都可以作优化设计。例子:齿轮在一定载荷下以最大应力不超过极限为约束条件,进行重量最小优化,可将实心齿轮空心化,减重27%。粉末冶金齿轮优化分析ANSYS讲义——刘恒A.什么是ANSYS优化分析?ANSYS程序提供了两种优化的方法,这两种方法可以处理绝大多数的优化问题。零阶方法是一个很完善的处理方法,可以很有效地处理大多数的工程问题。一阶方法基于目标函数对设计变量的敏感程度,因此更加适合于精确的优化分析。对于这两种方法,ANSYS程序提供了一系列的分析——评估——修正的循环过程。就是对于初始设计进行分析,对分析结果就设计要求进行评估,然后修正设计。这一循环过程重复进行直到所有的设计要求都满足为止。除了这两种优化方法,ANSYS程序还提供了一系列的优化工具以提高优化过程的效率。例如,随机优化分析的迭代次数是可以指定的。随机计算结果的初始值可以作为优化过程的起点数值。优化分析ANSYS讲义——刘恒A.什么是ANSYS优化分析?设计变量(DVs)为自变量,优化结果的取得就是通过改变设计变量的数值来实现的。每个设计变量都有上下限,它定义了设计变量的变化范围。在以上的问题里,设计变量很显然为梁的宽度b和高度h。b和h都不可能为负值,因此其下限应为b,h0,而且,h有上限hmax。ANSYS优化程序允许定义不超过60个设计变量。状态变量(SVs)是约束设计的数值。它们是“因变量”,是设计变量的函数。状态变量可能会有上下限,也可能只有单方面的限制,即只有上限或只有下限。在上述梁问题中,有两个状态变量:(总应力)和(梁的位移)。在ANSYS优化程序中用户可以定义不超过100个状态变量。目标函数是要尽量减小的数值。它必须是设计变量的函数,也就是说,改变设计变量的数值将改变目标函数的数值。在以上的问题中,梁的总重量应该是目标函数。在ANSYS优化程序中,只能设定一个目标函数。设计变量,状态变量和目标函数总称为优化变量。在ANSYS优化中,这些变量是由用户定义的参数来指定的。用户必须指出在参数集中哪些是设计变量,哪些是状态变量,哪是目标函数。B.基本概念优化分析ANSYS讲义——刘恒设计序列是指确定一个特定模型的参数的集合。一般来说,设计序列是由优化变量的数值来确定的,但所有的模型参数(包括不是优化变量的参数)组成了一个设计序列。一个合理的设计是指满足所有给定的约束条件(设计变量的约束和状态变量的约束)的设计。如果其中任一约束条件不被满足,设计就被认为是不合理的。而最优设计是既满足所有的约束条件又能得到最小目标函数值的设计。(如果所有的设计序列都是不合理的,那么最优设计是最接近于合理的设计,而不考虑目标函数的数值。)分析文件是一个ANSYS的命令流输入文件,包括一个完整的分析过程(前处理,求解,后处理)。它必须包含一个参数化的模型,用参数定义模型并指出设计变量,状态变量和目标函数。由这个文件可以自动生成优化循环文件(Jobname.LOOP),并在优化计算中循环处理。B.基本概念优化分析ANSYS讲义——刘恒一次循环指一个分析周期。(可以理解为执行一次分析文件。)最后一次循环的输出存储在文件Jobname.OPO中。优化迭代(或仅仅是迭代过程)是产生新的设计序列的一次或多次分析循环。一般来说,一次迭代等同于一次循环。但对于一阶方法,一次迭代代表多次循环。优化数据库记录当前的优化环境,包括优化变量定义,参数,所有优化设定,和设计序列集合。该数据库可以存储(在文件Jobname.OPT),也可以随时读入优化处理器中。上述的许多概念可以用图解帮助理解。右图给出了优化分析中的数据流向。分析文件必须作为一个单独的实体存在,优化数据库不是ANSYS模型数据库的一部分。B.基本概念优化分析ANSYS讲义——刘恒零阶方法:零阶方法之所以称为零阶方法是由于它只用到因变量而不用到它的偏导数。在零阶方法中有两个重要的概念:目标函数和状态变量的逼近方法,由约束的优化问题转换为非约束的优化问题。逼近方法:本方法中,程序用曲线拟合来建立目标函数和设计变量之间的关系。这是通过用几个设计变量序列计算目标函数然后求得各数据点间最小平方实现的。该结果曲线(或平面)叫做逼近。每次优化循环生成一个新的数据点,目标函数就完成一次更新。实际上是逼近被求解最小值而并非目标函数。C.优化技术优化分析ANSYS讲义——刘恒随机搜索法:对于随机搜索法[OPTYPE,RAND],程序完成指定次数的分析循环,并在每次循环中使用随机搜索变量值。用户可以用OPRAND命令(MainMenuDesignOptMethod/Tool)指定最大迭代次数和最大合理设计数。如果给出了最大合理设计数,在达到这个数值时循环将终止,而忽略最大迭代次数是否达到。随机搜索法往往作为零阶方法的先期处理。它也可以用来完成一些小的设计任务。例如可以做一系列的随机搜索,然后通过查看结果来判断当前设计空间是否合理。等步长搜索法:等步长搜索法[OPTYPE,SWEEP]用于在设计空间内完成扫描分析。将生成n*NSPS个设计序列,n是设计变量的个数,NSPS是每个扫描中评估点的数目(由OPSWEEP命令指定)。对于每个设计变量,变量范围将划分为NSPS-1个相等的步长,进行NSPS次循环。问题的设计变量在每次循环中以步长递增,其他的设计变量保持其参考值不变。设计序列中设计变量的参考值用OPSWEEP命令的Dset指定(MainMenuDesignOptMethod/Tool)。C.优化技术优化分析ANSYS讲义——刘恒乘子计算法:本工具[OPTYPE,FACT]用二阶技术生成设计空间上极值点上的设计序列数值。(这个二阶技术在每个设计变量的两个极值点上取值。)可以用OPFACT命令(MainMenuDesignOptMethod/Tool)指定是完成整体的还是部分子的评估。对于整体评估,程序进行2n次循环,n是设计变量的个数。1/2部分的评估进行2n/2次循环,依此类推。最优梯度法:最优梯度法[OPTYPE,GRAD]计算设计空间中某一点的梯度。梯度结果用于研究目标函数或状态变量的敏感性。用下列方式指定在哪个设计序列计算梯度:Command:OPGRADGUI:MainMenuDesignOptMethod/Tool本工具做的循环次数等于设计变量的数目。C.优化技术优化分析ANSYS讲义——刘恒第二章参数化建模优化分析ANSYS讲义——刘恒ANSYS优化的基本要求(拓朴优化除外)就是要将模型参数化。在此模型中,我们要:A.定义参数化模型B.复习某些APDL语言基础C.按要求建立一个参数化模型并建立一个分析文件D.做一、二个课堂练习优化分析ANSYS讲义——刘恒参数化建模什么是参数化建模?用参数(变量)而不是数字建立和分析的模型通过简单地改变模型中的某些参数值,就可建立和分析一个新的模型。H1H2H1A1A1A2A2A2优化分析ANSYS讲义——刘恒A.定义和目的ANSYS不仅允许你对几何变量,而且还可对其他特征“参数化”,即:材料特性载荷约束数最大纵向变形最低温度最大应力优化分析ANSYS讲义——刘恒A.定义和目的基本要求是用作DV,SV,和OBJ的那些量必须参数化。例如:如要体积最小(目标函数),则总体积必须作为一个参数。如果高度H1设为设计变量,则模型的几何参数必须建立一个H1项。如果设计有一个压应力(状态变量)的限制作为约束条件,则最大压应力必须作为一个参数。优化分析ANSYS讲义——刘恒A.定义和目的每次进行优化都要从参数化建模开始。参数化建模的“输出”是分析文件,该文件作为优化程序的“输入”。分析文件搜寻设计域进行优化设计初始设计参数化建模和加载求解参数化结果优化分析ANSYS讲义——刘恒A.定义和目的该分析文件包含完成参数化分析的ANSYS命令:建模加载求解查看结果优化分析ANSYS讲义——刘恒A.定义和目的在分析文件中要注意:犹如.log文件一样要将非重要命令(绘图,列表,图形控制等)移去。把分析文件想象成优化必须要“存储”的参数化模型的一种格式。优化程序多次执行分析文件,每次都用新的参数值。因为参数化模型中的那些参数很重要,我们将首先复习一些APDL语言的基本概念。优化分析ANSYS讲义——刘恒A.定义和目的什么是APDL语言?APDL是ANSYSParametricDesignLanguage(ANSYS参数设计语言)的缩写,一种脚本语言,可使模型参数化并使一般任务自动化。用APDL语言,可以:用参数而不是数字输入模型尺寸,材料参数等。从ANSYS数据库提取信息,如接点坐标或最大应力值。优化分析ANSYS讲义——刘恒B.APDL语言用APDL语言还可以:在参数间进行数学运算。用数组参数创建向量和矩阵并对其操作。对最常用的命令或宏定义缩写字(快捷方式)。创建一个带if-then-else分支,do-loops循环和用户提示的宏来执行一系列的任务。优化分析ANSYS讲义——刘恒B.APDL语言本节,将只集中介绍APDL语言的基本功能:如何定义参数如何使用参数如何从ANSYS数据库提取信息及如何用此信息给参数赋值APDL语言的其他功能,请参考“APDLProgrammer’sGuide.”优化分析ANSYS讲义——刘恒B.APDL语言要定义参数,用格式Name=Value可由输入窗键入或用标量参数对话框(UtilityMenuParametersScalarParameters...)Name为参数名,8个或更少字符Value可为一数,一个预定义的参数,一个数学函数,一个参数化表达式,或一个字符串。优化分析ANSYS讲义——刘恒B.APDL语言例如:inrad=2.5outrad=8.2numholes=4thick=outrad-inrade=2.7e6density=0.283bb=cos(30)pi=acos(-1)g=386massdens=density/gcircumf=2*pi*radarea=pi*r**2dist=sqrt((y2-y1)**2+(x2-x1)**2)slope=(y2-y1)/(x2-x1)theta=atan(slope)jobname=‘proj1’优化分析ANSYS讲义——刘恒B.APDL语言一些命名规则:参数名必须是由字母开头的8个或8个以下字符的组合。只允许字母,数字,和下划线“_”。避免下划线_作为起始字符存给ANSYS使用。参数名不分大小写,即,“RAD”和“Rad”是相同的。所有参数内部都是以大写形式存储的。避免使用通用的ANSYS标号,诸如STAT,DEFA,和ALL。优化分析ANSYS讲义——刘恒B.APDL语言要使用