ANSYS高级技术分析指南解读.pdf
《ANSYS高级技术分析指南解读.pdf》由会员分享,可在线阅读,更多相关《ANSYS高级技术分析指南解读.pdf(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ANSYS 高级技术分析指南 优化设计 1-88 第一章 优化设计 什么是优化设计?优化设计是一种寻找确定最优设计方案的技术。所谓“最优设计”,指的是一种方案可以满足所有的设计要求,而且所需的支出(如重量,面积,体积,应力,费用等)最小。也就是说,最优设计方案就是一个最有效率的方案。设计方案的任何方面都是可以优化的,比如说:尺寸(如厚度),形状(如过渡圆角的大小),支撑位置,制造费用,自然频率,材料特性等。实际上,所有可以参数化的 ANSYS 选项都可以作优化设计。(关于 ANSYS 参数,请参看ANSYS Modeling and Meshing Guide 第十四章。)ANSYS 程序提供
2、了两种优化的方法,这两种方法可以处理绝大多数的优化问题。零阶方法是一个很完善的处理方法,可以很有效地处理大多数的工程问题。一阶方法基于目标函数对设计变量的敏感程度,因此更加适合于精确的优化分析。对于这两种方法,ANSYS程序提供了一系列的分析评估修正的循环过程。就是对于初始设计进行分析,对分析结果就设计要求进行评估,然后修正设计。这一循环过程重复进行直到所有的设计要求都满足为止。除了这两种优化方法,ANSYS程序还提供了一系列的优化工具以提高优化过程的效率。例如,随机优化分析的迭代次数是可以指定的。随机计算结果的初始值可以作为优化过程的起点数值。基本概念 在介绍优化设计过程之前,我们先给出一些
3、基本的定义:设计变量,状态变量,目标函数,合理和不合理的设计,分析文件,迭代,循环,设计序列等。我们看以下一个典型的优化设计问题:在以下的约束条件下找出如下矩形截面梁的最小重量:总应力不超过max max 梁的变形不超过 maxmax 梁的高度 h 不超过 h maxhhmax 图 1-1 梁的优化设计示例 设计变量(DVs)为自变量,优化结果的取得就是通过改变设计变量的数值来实现的。每个设计变量都有上下限,它定义了设计变量的变化范围。在以上的问题里,设计变量很显然为梁的宽度 b 和高度 h。b 和 h 都不可能为负值,因此其下限应为 b,h0,而且,h 有上限 h max。ANSYS 优化程
4、序允许定义不超过 60个设计变量。状态变量(SVs)是约束设计的数值。它们是“因变量”,是设计变量的函ANSYS 高级技术分析指南 优化设计 1-88 数。状态变量可能会有上下限,也可能只有单方面的限制,即只有上限或只有下限。在上述梁问题中,有两个状态变量:(总应力)和(梁的位移)。在 ANSYS优化程序中用户可以定义不超过 100 个状态变量。目标函数是要尽量减小的数值。它必须是设计变量的函数,也就是说,改变设计变量的数值将改变目标函数的数值。在以上的问题中,梁的总重量应该是目标函数。在 ANSYS 优化程序中,只能设定一个目标函数。设计变量,状态变量和目标函数总称为优化变量。在 ANSYS
5、 优化中,这些变量是由用户定义的参数来指定的。用户必须指出在参数集中哪些是设计变量,哪些是状态变量,哪是目标函数。设计序列是指确定一个特定模型的参数的集合。一般来说,设计序列是由优化变量的数值来确定的,但所有的模型参数(包括不是优化变量的参数)组成了一个设计序列。一个合理的设计是指满足所有给定的约束条件(设计变量的约束和状态变量的约束)的设计。如果其中任一约束条件不被满足,设计就被认为是不合理的。而最优设计是既满足所有的约束条件又能得到最小目标函数值的设计。(如果所有的设计序列都是不合理的,那么最优设计是最接近于合理的设计,而不考虑目标函数的数值。)分析文件是一个 ANSYS 的命令流输入文件
6、,包括一个完整的分析过程(前处理,求解,后处理)。它必须包含一个参数化的模型,用参数定义模型并指出设计变量,状态变量和目标函数。由这个文件可以自动生成优化循环文件(Jobname.LOOP),并在优化计算中循环处理。一次循环指一个分析周期。(可以理解为执行一次分析文件。)最后一次循环的输出存储在文件 Jobname.OPO 中。优化迭代(或仅仅是迭代过程)是产生新的设计序列的一次或多次分析循环。一般来说,一次迭代等同于一次循环。但对于一阶方法,一次迭代代表多次循环。优化数据库记录当前的优化环境,包括优化变量定义,参数,所有优化设定,和设计序列集合。该数据库可以存储(在文件 Jobname.OP
7、T),也可以随时读入优化处理器中。上述的许多概念可以用图解帮助理解。图 1-2 示出了优化分析中的数据流向。分析文件必须作为一个单独的实体存在,优化数据库不是 ANSYS 模型数据库的一部分。优化设计的步骤 共有两种方法实现 ANSYS 优化设计:批处理方法和通过 GUI 交互式地完成。这两种方法的选择取决于用户对于 ANSYS 程序的熟悉程度和是否习惯于图形交互方式。如果对于 ANSYS 程序的命令相当熟悉,就可以选择用命令输入整个优化文件并通过批处理方式来进行优化。对于复杂的需用大量机时的分析任务来说(如非线性),这种方法更有效率。而另一方面,交互方式具有更大的灵活性,而且可以实时看到循环
8、过程的结果。在用 GUI 方式进行优化时,首要的是要建立模型的分析文件,然后优化处理器所提供的功能都可以交互式的使用,以确定设计空间,便于后续优化处理的进行。这些初期交互式的操作可以帮助用户缩小设计空间的大小,使优化过程得到更高的效率。ANSYS 高级技术分析指南 优化设计 1-88 优化设计通常包括以下几个步骤,这些步骤根据用户所选用优化方法的不同(批处理 GUI 方式)而有细微的差别。图 1-2 优化数据流向 1 生成循环所用的分析文件。该文件必须包括整个分析的过程,而且 必须满足以下条件:a 参数化建立模型(PREP7)。b 求解(SOLUTION)。c 提取并指定状态变量和目标函数(P
9、OST1/POST26)。2 在 ANSYS 数据库里建立与分析文件中变量相对应的参数。这一步 是标准的做法,但不是必须的(BEGIN 或 OPT)。3 进入 OPT,指定分析文件(OPT)。4 声明优化变量。5 选择优化工具或优化方法。6 指定优化循环控制方式。7 进行优化分析。8 查看设计序列结果(OPT)和后处理(POST1/POST26)。优化设计步骤的细节在下面列出。批处理方式和交互方式的区别也同时 指出。第一步:生成分析文件 分析文件生成是 ANSYS 优化设计过程中的关键部分。ANSYS 程序运用分ANSYS 高级技术分析指南 优化设计 1-88 析文件构造循环文件,进行循环分析
10、。分析文件中可以包括 ANSYS 提供的任意分析类型(结构,热,电磁等,线性或非线性)。(注:ANSYS/LS-DYNA 的显式分析不能进行优化。)在分析文件中,模型的建立必须是参数化的(通常是优化变量为参数),结果也必须用参数来提取(用于状态变量和目标函数)。优化设计中只能使用数值参数。(参数和 ANSYS 参数化设计语言(APDL)在 ANSYS Modeling and Meshing Guide 中有所细述。)用户的任务是建立分析文件并保证其正确性。分析文件应当覆盖整个分析过程并且是简练的,不是必须的语句(如完成图形显示功能和列表功能的语句等)应当从分析文件中省略掉。只有在交互过程中希
11、望看到的显示EPLODT 等可以包含在分析文件中,或者将其定位到一个显示文件中/SHOW。请注意分析文件是要多次执行的,与优化分析本身无关的命令都会不必要的耗费机时,降低循环效率。建立分析文件有两种方法:1)用系统编辑器逐行输入;2)交互式地完成分析,将 ANSYS 的 LOG 文件作为基础建立分析文件。这两种方式各有优缺点。用系统编辑器生成分析文件同生成其他分析时的批处理文件方法是一样的。这种方法使得用户可以通过命令输入来完全地控制参数化定义。同样,本方法可以省去了删除多余命令的麻烦。但是,如果对于 ANSYS 命令集不熟悉的话,这种方法是不方便的。对于这类用户来说,第二种方法相对容易一些。
12、但是,在最后生成分析文件的过程中,ANSYS 的 LOG 文件要做较大的修改才能适合循环分析。不论采用哪种方法,分析文件需要包括的内容都是一样的。以下说明建立分析文件的步骤:A 参数化建立模型 用设计变量作为参数建立模型的工作是在 PREP7 中完成的。在给出的梁的例子中,设计变量是 B(梁的宽度)和 H(梁的高度),因此单元的实参是由 B和 H 来表示的:/PREP7!初始化设计变量:B=2.0 H=3.0!ET,1,BEAM3 !2-D 梁单元 AREA=B*H !梁的横截面面积 IZZ=(B*(H*3)/12 !绕 Z 轴的转动惯量 R,1,AREA,IZZ,H !以设计变量表示的单元实
13、参!模型的其他部分 MP,EX,1,30E6 !杨氏模量 N,1 !结点 N,11,120 FILL ANSYS 高级技术分析指南 优化设计 1-88 E,1,2 !单元 EGEN,10,1,-1 FINISH !退出 PREP7 前面提到,可以对设计的任何方面进行优化:尺寸,形状,材料性质,支撑位置,所加载荷等,唯一要求就是将其参数化。设计变量(例如 B 和 V)可以在程序的任何部分初始化,一般是在 PREP7中定义。这些变量的初值只是在设计计算的开始用得到,在优化循环过程中会被改变。注意:如果用 GUI 模式完成输入,可能会遇到直接用鼠标拾取(picking)的操作。有些拾取操作是不允许参
14、数化输入的。因此,应当避免在定义设计变量,状态变量和目标函数时使用这些操作,应该用可以参数化的操作来代替。B 求解 求解器用于定义分析类型和分析选项,施加载荷,指定载荷步,完成有限元计算。分析中所用到的数据都要指出:凝聚法分析中的主自由度,非线性分析中的收敛准则,谐波分析中的频率范围等。载荷和边界条件也可以作为设计变量。梁的例子中,SOLUTION 部分的输入大致如下:/SOLU ANTYPE,STATIC !静力分析(缺省)D,1,UX,0,11,10,UY !UX=UY=0,梁两端结点固定 SFBEAM,ALL,1,PRES,100 !施加压力 SOLVE FINISH !退出 SOLUT
15、ION 这一步骤不仅仅限于一次分析过程。比如,可以先进行热分析再进行应力分析(在热应力计算中)。C 参数化提取结果 在本步中,提取结果并赋值给相应的参数。这些参数一般为状态变量和目标函数。提取数据的操作用*GET 命令(Utility MenuParametersGet Scalar Data)实现。通常用 POST1 来完成本步操作,特别是涉及到数据的存储,加减或其他操作。在梁的例题中,梁的总重量是目标函数。因为重量与体积成比例(假定密度是均匀的),那么减小总体积就相当于减小总重量。因此可以选择总体积为目标函数。在本例中,状态变量选择为总应力和位移。这些参数可以用如下方法定义:/POST1
16、SET,NSORT,U,Y !以 UY 为基准对结点排序*GET,DMAX,SORT,MAX !参数 DMAX=最大位移!线单元的推导数值由 ETABLE 得出 ANSYS 高级技术分析指南 优化设计 1-88 ETABLE,VOLU,VOLU !VOLU=每个单元的体积 ETABLE,SMAX_I,NMISC,1 !SMAX_I=每个单元 I 结点处应力的 最大值 ETABLE,SMAX_J,NMISC,3!SMAX_J=每个单元 J 结点处应力的最 大值!SSUM !将单元表中每列的数据相加*GET,VOLUME,SSUM,ITEM,VOLU !参数 VOLUME=总体积 ESORT,ET
17、AB,SMAX_I,1 !按照单元 SMAX_I 的绝对值大小排序*GET,SMAXI,SORT,MAX!参数 SMAXI=SMAX_I 的最大值 ESORT,ETAB,SMAX_J,1 !按照单元 SMAX_J 的绝对值大小排序*GET,SMAXJ,SORT,MAX!参数 SMAXJ=SMAX_J 的最大值 SMAX=SMAXISMAXJ !参数 SMAX=最大应力值 FINISH 请查阅*GET 和 ETABLE 命令以得到更详细的说明。分析文件的准备 到此为止,我们已经对于分析文件的基本需求做了说明。如果是用系统编辑器来编辑的批处理文件,那么简单地存盘进入第二步即可。如果是用交互方式建模
18、的话,用户必须在交互环境下生成分析文件。可以通过两种方式完成本步操作:数据库命令流文件或程序命令流文件。数据库命令流文件可以通过LGWRITE 命令(Utility MenuFileWrite DB Log File)生成命令流文件。LGWRITE 将数据库内部的命令流写到文件Jobname.LGW 中。内部命令流包含了生成当前模型所用的所有命令。程序命令流文件Jobname.LOG 包含了交互方式下用户输入的所有命令。如果用 Jobneme.LOG作为分析文件时,用户必须用系统编辑器删除文件中所有不必要的命令。因为交互方式下所有的操作都记录在 LOG 文件中,编辑工作会比较烦琐。而且,如果分
19、析是在几个过程中完成的,就必须将几个 LOG 文合在一起编辑生成一个完整的分析文件。(关于数据库命令流文件和程序命令流文件,请参看 ANSYS Operations Guide。)注用户可以退出 ANSYS 或使用/SYS 命令来编辑分析文件。细节请参看本章“生成分析文件”一节。第二步:建立优化过程中的参数 在完成了分析文件的建立以后,就可以开始优化分析了。(如果是在系统中建立的分析文件的话,就要重新进入 ANSYS。)如果在交互方式下进行优化的话,最好(但不是必须)从分析文件中建立参数到 ANSYS 数据库中来。(在批处理方式下除外。)做这一步有两个好处。初始参数值可能作为一阶方法的起点,而
20、且,对于各种优化过程来说,参数在数据库中可以在 GUI 下进行操作,便于定义优化变量。建立数据库参数可以选择下列任一种方法:读入与分析文件相联的数据库文件(Jobname.DB)。这样可以在 ANSYSANSYS 高级技术分析指南 优化设计 1-88 中建立整个模型的数据库。读入数据库文件可以用如下方法:Command:RESUME GUI:Utility MenuFileResume Jobname.db Utility MenuFileResume from 将分析文件直接读入 ANSYS 进行整个分析。这样将重新建立整个数据库,但对于大模型来说要耗费大量的机时。要读入分析文件,可以选择下
21、列方法之一:Command:/INPUT GUI:Utility MenuFileRead Input from 仅从存储的参数文件中读参数到 ANSYS 中,参数文件是用 PARSAV 命令或由 Utility MenuParametersSave Parameters 存储的。读入参数可以用下列方法之一:Command:PARRES GUI:Utility MenuParametersRestore Parameters 重新定义分析文件中存在的参数。不过,这样做需要知道分析文件中定义了那些参数。用以下任一方式:Command:*SET or“=”command GUI:Utility M
22、enuParametersScalar Parameters 可以选择使用以上任意一种方式,然后用 OPVAR 命令(菜单路径 Main MenuDesign OptDesign Variables)来指定优化变量。(参看第四步)注在优化过程中,ANSYS 数据库不一定要同分析文件一致。模型的输入是在优化循环过程中由分析文件中自动读入的。第三步:进入 OPT,指定分析文件(OPT)以下的步骤是由 OPT 处理器来完成的。首次进入优化处理器时,ANSYS数据库中的所有参数自动作为设计序列 1。这些参数值假定是一个设计序列。进入优化处理器可以用如下方式:Command:/OPT GUI:Main
23、MenuDesign Opt 在交互方式下,用户必须指定分析文件名。这个文件用于生成优化循环文件 Jobname.LOOP。分析文件名无缺省值,因此必须输入。指定分析文件名,可以用下列方式之一:Command:OPANL GUI:Main MenuDesign OptAssign 在批处理方式下,分析文件通常是批命令流的第一部分,从文件的第一行到命令/OPT 第一次出现。在批处理方式中,缺省的分析文件名是 Jobname.BAT(它是一个临时性的文件,是批处理输入文件的一个拷贝)。因此,在批处理方式下通常不用指定分析文件名。但是,如果出于某种考虑将批文件分成两个部分(一个用于分析,另一个用于整
24、个优化分析),那么就必须在进入优化处理器后指定分析文件OPANL。注在分析文件中,/PREP7 和/OPT 命令必须出现在行的第一个非零字符处(即,不允许有诸如$等符号出现在有这些命令的行中)。这一点在生成优化循环文件时很关键。ANSYS 高级技术分析指南 优化设计 1-88 第四步:声明优化变量 下一步是声明优化变量,即指定哪些参数是设计变量,哪些参数是状态变量,哪个参数是目标函数。以上提到,允许有不超过 60 个设计变量和不超过 100个状态变量,但只能有一个目标函数。声明优化变量可以用如下的方法:Command:OPVAR GUI:Main MenuDesign OptDesign Va
25、riables Main MenuDesign OptState Variables Main MenuDesign OptObjective 对于设计变量和状态变量可以定义最大和最小值。目标函数不需要给定范围。每一个变量都有一个公差值,这个公差值可以由用户输入,也可以选择由程序计算得出。如果用 OPVAR 命令定义的参数名不存在,ANSYS 数据库中将自动定义这个参数,并将初始值设为零。用户可以在任意时间简单地通过重新定义参数的方法来改变已经定义过的参数,也可以删除一个优化变量OPVAR,Name,DEL。这种删除操作并不真正删除这个参数,而是不将它继续作为优化变量而已。(参看“执行后修正优
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ANSYS 高级 技术 分析 指南 解读
限制150内