ANSYS工程分析 基础与观念Chapter14.docx
- 文档编号:10407481
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:27
- 大小:293.99KB
ANSYS工程分析 基础与观念Chapter14.docx
《ANSYS工程分析 基础与观念Chapter14.docx》由会员分享,可在线阅读,更多相关《ANSYS工程分析 基础与观念Chapter14.docx(27页珍藏版)》请在冰豆网上搜索。
ANSYS工程分析基础与观念Chapter14
第14章
设计最佳化
DesignOptimization
设计最佳化(designoptimization)的应用很广,ANSYS也提供了设计最佳化的功能。
这章的第1节我们先对「设计最佳化」做一观念性的介绍,为了较有效率的介绍,我们从设计最佳化的数学模式着手,然后经由相关的名词来介绍其背后的构想。
第2节介绍如何利用ANSYS命令来进行设计最佳化的工作。
一般而言,进行设计最佳化时,用ANSYS命令编撰成执行档的方式是较佳的选择。
你必须将ANSYS命令组织成两个档案:
optimizationfile及analysisfile,程序的执行是从optimizationfile开始的;optimizationfile可以视为是「主程序」,而analysisfile可以视为被主程序呼叫的「子程序」。
细节将在第2节介绍,并在第3节及第4节透过两个实例来说明。
ANSYS也提供了其它辅助用的最佳化工具,这些我们也在第5节简略补充说明。
本章主要参考数据是Ref.10,Chapter1.DesignOptimization。
第14.1节何谓设计最佳化?
WhatisDesignOptimization?
14.1.1MathematicalModel
一个工程设计的问题通常包括某些设计参数等待你去决定,譬如尺寸、材料的选择等。
Designoptimization简单地来说就是由计算机自动地去决定这些设计参数,并且同时符合两个要求:
第一是限制条件(constraints),譬如结构物的应力不得超过容许值;第二是某个特定的目标值(譬如结构物的总重量)必须最小化或最大化。
我们可以用下列数学模式来表示designoptimization的目的
(14.1)
上式中,x={x1,x2,…,xn}代表n个设计参数所组成的向量,
及
代表设计参数
的下限及上限;
i=1,2,…,m,称为statevariables,通常是结构承受负载后的反应,譬如变位、应变、应力等,
及
i=1,2,…,m,代表statevariables的下限及上限;
称为目标函数(objectivefunction),是我们要去最小化的目标。
注意,如果目标函数是要最大化(而非最小化)时,你只要取其负数或倒数作为新的目标函数即可。
解Eq.14.1的方法有很多,但是几乎有一个共同点:
都是基于迭代的方法,也就是说从一组初始的设计参数开始,一步一步地去「改善」设计参数,直到
达到最小,而且所有限制条件都能够符合为止。
注意,因为statevariables
是依设计参数的改变而有所改变,所以在「改善」设计参数的每一次迭代过程中,都必须做至少一次的有限元素分析。
所以designoptimization是非常耗费计算机时间的工作。
缩短计算时间的有效方法包括:
适当地简化分析模型、减少设计参数及statefunctions的数目等。
14.1.2OptimizationVariables
Eq.14.1中,
i=1,2,…,n又称为设计变数(designvariables);
i=1,2,…,m称为statevariables;
称为objectivefunction。
以上这些变量或函数统称为optimizationvariables。
当ANSYS进行最佳化时,这些optimizationvariables是会改变的,所以在ANSYSprocedure中,你必须以ANSYS变量(参数)来表示这些optimizationvariables。
其中designvariables除了指定初始值外不得变更其值(ANSYS会自动更新其值),statevariables及objectivefunction则必须在适当的时机更新其值。
以上这些是很重要的,我们将在实例中展示这些重点。
14.1.3DesignSpaceandDesignSets
假设我们有两个设计变量x1及x2,则所有可能的设计变量组合可以用一个平面(x1-x2平面)来表示,此平面称为designspace,设计最佳化的目的相当于在此designspace中去搜寻一个最佳的点。
Designspace上的每一个点代表一种可能的设计变量组合,称为一个designset,或简称一个design。
满足所有constraints的一个design称为feasibledesign,所有feasibledesigns的集合是此designspace中的一个区域,称为feasibleregion。
在所有feasibledesigns中,使得objectivefunction最小的design即称为optimaldesign。
更广泛地来思考,如果有n个designvariables,则designspace是一个n度空间,feasibleregion则是在此n度空间的某一区域。
在某些情况下,有可能并不存在feasibleregion的,意思就是designspace中没有任何点同时满足所有constraints。
这个问题基本上是无解的,不过ANSYS会想办法帮你找一个最能满足constraints的设计(亦即违反constraints的量最小),此时不称之为optimaldesign而称为bestdesign。
Optimaldesign必然是一个bestdesign,但是bestdesign并不一定是optimaldesign。
第14.2节ANSYS设计最佳化
DesignOptimizationwithANSYS
14.2.1ADesignOptimizationProcedureUsingANSYS
前面提过,作者建议,用ANSYS命令编撰成执行档的方式是较佳的选择。
你可以将ANSYS命令组织成两个档案:
optimizationfile及analysisfile。
前面也提过,最佳化的每一次迭代过程中,都必须做至少一次的有限元素分析,analysisfile的命令就是来进行这个有限元素分析的。
Analysisfile的结构基本上和Figure5-1中典型的ANSYS分析程序类似,唯一不一样的是analysisfile中必须要包含计算statevariables及objectivefunction的值,我们将在Sec.14.2.3讨论。
Optimizationfile是在描述Eq.14.1的数学模式,然后去执行设计最佳化的工作。
因为执行设计最佳化需要呼叫analysisfile,所以optimizationfile中必须指定analysisfile的檔名。
14.2.2TypicalCommandsinanOptimizationFile
01
02
03
04
05
06
07
08
09
10
11
12
13
/CLEAR !
Clearmodeldatabase
... !
Initializedesignvariables
/INPUT,... !
Executeanalysisfileonce
/OPT !
Enteroptimization phase
OPCLEAR !
Clearoptimizationdatabase
OPVAR,... !
Declaredesignvariables
OPVAR,... !
Declarestatevariables
OPVAR,... !
Declareobjectivefunction
OPTYPE,... !
Selectoptimizationmethod
OPANL,... !
Specifyanalysisfilename
OPEXE !
Executeoptimizationrun
OPLIST,... !
Summarizetheresults
... !
Furtherexaminingresults
Figure14-1TypicalOptimizationFile
Figure14-1列出一个典型的optimizationfile所包含的命令,整个optimization程序的执行是从这个档案的第一个命令开始的。
一开始(第1行,/CLEAR)你还是先清理一下储存model的database(称为modeldatabase,即Sec.5.2.1所描述的Database),因为紧接着要执行一次analysisfile(第3行,/INPUT)。
在执行analysisfile前,你可以先给designvariables初始设计值,每一个designvariable都必须要有一个初始的设计值,这个部分我们以第2行的「...」来代表,注意它可能不只一行。
第3行(/INPUT)去执行一次analysisfile,目的是要计算在初始设计下的statevariables及objectivefunction的值。
至此我们有了所有optimizationvariables的初始值。
接下来的工作需要在/OPT模块中进行。
第4行(/OPT)是进入/OPT模块。
进入/OPT模块后的第一件工作(第5行,OPCLEAR)是清理optimization专用的database(称为optimizationdatabase),注意此database不同于modeldatabase。
接着去定义optimizationvariables(第6至8行,OPVAR,每一个optimizationvariables必须使用一次OPVAR命令):
designvariables有那些,其上下限是多少(第6行)?
statevariables有那些,其上下限是多少(第7行)?
objectivefunction的变量名称(第8行)及收敛的tolerance?
在迭代过程中,objectivefunction会一直降低,每一次降低会和上一次做比较,看降低了多少%,降低的量少于tolerance时,迭代程序就会停止,亦即达到最佳设计了。
接下来(第9行,OPTYPE)是选择一个tool(Sec.14.5)或algorithm(Sec.14.2.4)。
第10行(OPANL)是用来指定analysisfile的檔名。
第11行(OPEXE)是真正去执行optimizationrun,这其中包括冗长的迭代工作,每一次迭代包括一次或以上呼叫并执行analysisfile。
Optimizationrun执行结束后,就可以开始作一些后处理的工作,通常第一个使用的命令是OPLIST(第12行),这是去列出optimizationrun的summary,包括:
一共有几个iterations?
每个iteration的optimizationvariables的值。
之后(第13行)可以继续进行其它后处理工作。
14.2.3TypicalCommandsinanAnalysisFile
01
02
03
04
05
06
07
08
09
10
12
13
/PREP7
... !
Buildthemodelusingthe
!
parameterizeddesignvariables
FINISH
/SOLUTION
... !
Applyloadsandsolve
FINISH
/POST1!
or/POST26
*GET,... !
Retrievevaluesforstatevariables
*GET,... !
Retrievevalueforobjectivefunction
...
FINISH
Figure14-2TypicalAnalysisFile
Figure14-2列出一个典型的analysisfile所包含的命令,其结构基本上和Figure5-1所示的程序是一样的,只是有几点要特别加以解释。
第1至7行代表建构分析模型和解此分析模型,其细节与本章之前讨论的观念是一样的,唯一要注意的是你必须使用参数化的designvariables来建构模型。
而且,虽然ANSYS容许我们将designvariables的初始设定放在/PREP7之前就可以了(第二次执行analysisfile时会忽略这些初始设定),但是作者强烈建议这些designvariables的初始设定值最好还是放在optimizationfile设定(Figure14-1中的第2行)比较合乎逻辑。
进入/POST1(或/POST26)后,除了正常的后处理工作外,主要的工作是去求出statevariables和objectivefunction的值,通常你必须到Database去得到这些数据,譬如当statevariables是stresses时,你可以直接从Database去取得这些数据。
必要的话还要做一些sorting或calculation的工作,然后指定给statevariables。
同样的,objectivefunction也是一样。
举个例子:
假设你的objectivefunction是结构的总重量(亦即你要最小化结构的重量),你可以到DATABASE取出每一个元素的volume,建立一个E-Table,把volume加总起来,再乘以重量密度即是总重量。
14.2.4ANSYSOptimizationAlgorithms
Figure14-1的OPTYPE命令(第9行)的主要功能是从ANSYS所提供的alogorithms(即methods)选取一种(OPTYPE也可以指定其它与optimization相关的tools,我们将在Sec.14.5介绍)。
ANSYS内建了两个optimizationalgorithms(ANSYS也容许使用者自己撰写algorithms):
SubproblemApproximationMethod及FirstOrderMethod。
详细的情形你可以参阅Ref.10,Chapter1.DesignOptimization,我们在这里只是给你一些观念性的介绍,主要在于这两个方法之间的差别。
SubproblemApproximationMethod又称为ZeroOrderMethod。
从前面的讨论我们知道designoptimization的计算过程中,必须要去计算objectivefunctions及statevariables的值,这些函数值称为zeroorderinformation。
相对的objectivefunctions及statevariables对designvariables的一次微分值,称为firstorderinformation。
同理,二次微分值称为secondorderinformation。
一个optimizationalgorithm如果只用到zeroorderinformation则称为zeroordermethods;如果会用到firstorderinformation(但是不会用到secondorderinformation),则称为firstordermethods;同理,如果会用到secondorderinformation则称为secondordermethods。
注意,在计算时间上,依次是计算zeroorderinformation最节省时间、计算firstorderinformation次之、计算secondorderinformation最耗时间,而且三者的差别是以n(numberofdesignvariables)的倍数增加;亦即计算firstorderinformation是计算zeroorderinformation的n倍时间,计算secondorderinformation是计算firstorderinformation的n倍时间。
从另一方面来比较,在计算精度与收敛性上,则依次是secondordermethods优于firstordermethods,而firstordermethods优于zeroordermethods。
整体的效率而言,zeroordermethods通常还是较有效率的,firstordermethods次之,secondordermethods则是最没效率的。
第14.3节实例:
两端固定梁的形状最佳化
Example:
ShapeOptimizationofaFixed-endBeam
14.3.1ProblemDescription
Figure14-3InitialDesignofaFixed-endBeam
Figure14-3是一个两端固定的矩形断面钢梁(Young’smodulus=200GPa),梁的宽度是100mm,梁的深度是要让你设计的,设计的目标是最轻的梁重。
梁的上表面必须维持水平,但是梁深是可以沿着长度变化的(亦即梁底的曲线是可以变化的),但是梁深不得低于100mm也不得超过800mm。
负载方面考虑一集中载重F、均布力p(请参考图示)、及自重。
另一限制条件是bendingstress不可超过100MPa。
14.3.2ModelingConsideration
我们先来看怎样model这个问题会比较有效率一点的,重点放在将designvariables的数目降低到越少越好。
你当然可以沿着梁的长度取10个或20个点,以这些点的梁高作为设计变量,这不是很好的方法。
首先,因为这个例子是左右对称的,所以我们只取左半部来分析就可以了,如Figure14-4所示。
然后我们取三个地方的深度,分别是端点H1、四分点H2、及梁中央点H3,然后以spline将这三个点用圆滑曲线连结起来,代表梁底的曲线。
我们将使用PLANE42元素来做2D的分析。
我们取整个梁的最大和最小的bendingstresses(分别是SMAX及SMIN)作为statevariables,上下限分别为+100MPa及-100MPa。
梁的总体积(TVOLUME)是objectivefunction。
综合以上的讨论,我们的设计最佳化问题可以表示成下列的数学模式:
(14.2)
Figure14-4AnalysisModelfortheFixed-endBeam
14.3.3ANSYSProcedure
Procedure14-1OptimizationFileforFixed-endBeam
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
FINISH
/CLEAR
/TITLE,ShapeDesignofBeam(SI)
H1=0.4
H2=0.4
H3=0.4
/INPUT,BEAM,TXT
/OPT
OPCLR
OPVAR,H1,DV,0.1,0.8
OPVAR,H2,DV,0.1,0.8
OPVAR,H3,DV,0.1,0.8
OPVAR,SMAX,SV,-100E6,100E6
OPVAR,SMIN,SV,-100E6,100E6
OPVAR,TVOLUME,OBJ,,,0.0001
OPTYPE,SUBP
OPANL,BEAM,TXT
OPEXE
OPLIST,ALL
PLVAROPT,TVOLUME
PLVAROPT,SMAX,SMIN
PLVAROPT,H1,H2,H3
OptimizationFile整个designoptimization的程序是从Procedure14-1的第一个命令开始的。
第2行(/CLEAR)是清理modeldatabase。
第5至7行是设定designvariables(H1,H2,H3)的初始值(即initialdesign)0.4(单位使用SI系统),第9行(/INPUT)是去执行一次analysisfile(注意我们使用BEAM.TXT作为analysisfile的檔名,Procedure14-2),目的是计算在初始设计下的statevariables及objectivefunction的值。
第11行(/OPT)进入/OPT模块。
第12行(OPCLR)是清理optimizationdatabase。
第13至18行(OPVAR)是去定义所有的optimizationvariables,每一个optimizationvariable都要使用一次OPVAR命令。
第13至15行是定义designvariables(DV)H1、H2、及H3,它们的下限是0.1m,上限是0.8m。
第16、17行是定义statevariables(SV)SMAX及SMIN,它们的下限是-100Mpa,上限是+100Mpa。
第18行是定义objectivefunction(OBJ)TVOLUME。
Objectivefunction不需要输入上下限,但是需要输入tolerance,这里输入0.0001,也就是说当计算到两次迭代的objectivefunction值的差在0.01%时才算收敛(停止)。
第20行(OPTYPE)是去选择SubproblemApproximationMethod,你也可以试试FirstOrderMethod,看看有没有任何差别。
第21行(OPANL)是去指定analysisfile的档名(档名可以由你任意命名,在此我们使用BEAM.TXT),如此ANSYS才知道要执行哪一个analysisfile。
注意,第9行(/INPUT)并没有指定文件名的功能。
第22行(OPEXE)才是真正启动执行的机制。
执行完后,第23行(OPLIST)把结果的summary印出来。
第23、24、25行(PLVAROPT)是以iterationnumber为横轴,将optimizationvariabls作为纵轴画出来。
我们先来看analysisfile,然后再回头来看这些输出结果。
Procedure14-2AnalysisFileforFixed-endBeam(BEAM.TXT)
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ANSYS工程分析 基础与观念Chapter14 ANSYS 工程 分析 基础 观念 Chapter14
![提示](https://static.bdocx.com/images/bang_tan.gif)