如何利用ANSYS进行拓扑优化转Word格式.docx
- 文档编号:18080245
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:15
- 大小:68.26KB
如何利用ANSYS进行拓扑优化转Word格式.docx
《如何利用ANSYS进行拓扑优化转Word格式.docx》由会员分享,可在线阅读,更多相关《如何利用ANSYS进行拓扑优化转Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
Et,2,solid92
Type,1
Vsel,s,num,,1,2
Vmesh,all
Type,2
Vsel,s,num,,3
说明:
上述代码片段定义相同的单元类型(solid92),但编号分别为1和2,并将单元类型编号1利用网格划分分配给了1#体和2#体,从而对其进行优化计算;
而单元编号为2利用网格划分分配给了3#体,从而不执行优化计算。
1.4、定义载荷步或者需要提取的频率
1.4.1线性结构静态分析
对于结构优化而言,其总是在特定的载荷(或者载荷步),约束和目标下进行的,在优化分析的过程中,必须执行线性结构静态分析,才能获得需要的优化之后的形状。
在ANSYS中,可以对单步载荷或者多步载荷执行优化分析,当然,单步载荷是最简单的了。
然而,对于某个特定载荷步,必须使用LSWRITE载荷步存储命令将载荷步预存起来,再用LSSOLVE命令进行求解。
先看看下面的代码片段:
D,10,all,0,,20,1
Nsel,s,loc,y,0
Sf,
Allsel
Lswrite,1
Ddel,
Sfdel,
Nsel,s,loc,x,0,1
D,all,all,0
F,212,fx,
Lswrite,2
Lswrite,3
Finish
Tocomp,mcomp,multiple,3
Tovar,mcomp,obj
Tovar,volume,con,,10
Todef
Toloop,20
该代码片段首先定义了3个载荷步,并利用LSWRITE命令将载荷步预存;
之后利用Tocomp命令定义优化任务目标名称mcomp,并将体积减少10%作为优化的约束条件,之后用Todef初始化优化过程,最后利用Toloop命令执行优化计算,最大计算次数20次。
相关命令:
TOCOMP、TOVAR、TODEF、TOEXE、TOLOOP和简要说明。
(1)TOCOMP:
定义结构优化任务目标。
(如何理解COMPLIANCE:
Compliance本意是一致性,统一性,在结构优化分析中,特别是对于多个载荷步,需要在多个载荷步之间取得一致性的结果,才能满足结构优化分析的目标)
(2)TOVAR:
定义优化变量,可以是目标变量,也可以是约束变量等;
(3)TODEF:
定义优化的初始化条件或者收敛准则;
(4)TOEXE:
执行单次优化计算;
(5)TOLOOP:
批量执行多次优化分析计算。
说说TOEXE和TOLOOP之间的区别:
TOEXE执行单次优化分析计算,其本身不执行结构分析过程,因此,在利用TOEXE命令执行优化计算之前,需要利用SOLVE或者LSSOLVE命令先执行结构静态分析计算;
而TOLOOP是一个执行优化计算的宏命令,其中包含了SOLVE和LSSOLVE等命令,因此在上述代码片段中没有出现SOLVE或者LSSOLVE命令。
就使用的便利性而言,利用TOLOOP命令可能更方便,但是利用TOEXE命令用户可以创建自己的优化宏命令,各有所长,主要是看用户如何使用这两个命令了。
1.4.2模态优化分析
在执行模态优化分析之前,需要使用TOFREQ和TOVAR定义模态分析任务名称和优化分析变量,这点和上述的结构优化分析过程类似。
值得注意的是,在利用MXPAND指定模态频率分析计算中,需要将单元计算设定为“YES”,这样才能利用TOEXE命令正常执行优化计算过程,当然在MXPAND之前还要使用modopt命令设定模态计算的选项;
而利用TOLOOP命令执行模态优化分析计算过程中,由于TOLOOP是编制好的宏命令,不需要使用MXPAND等命令,请见下面的代码片段:
/solution
Antype,modal
Tofreq,mfreq,reciprocal,3
Tovar,mfreq,obj
Tovar,volume,con,,50
Todef,1.0d-4
首先定义模态求解作为分析类型,之后利用tofreq设定频率优化作为优化任务,名称为mfreq(其中reciprocal表示多阶模态频率,本例中为前3阶模态),并利用命令tovar设定了体积减少50%作为优化的约束条件,之后设定优化的收敛准则,最后利用toloop命令执行最多20次优化迭代计算。
在本例中,因为toloop是一个宏命令,所以并没有显式的使用modopt和mxpand命令,如果使用toexe命令,则用户必须显式的使用modopt和mxpand命令。
1.5、对优化过程进行定义和控制
在ANSYS中执行优化过程有2种方式:
(1)采用solve和toexe命令相结合的机制,一步一步的执行优化计算,直到满足用户的优化目标和约束条件为止。
(2)采用toloop宏命令执行优化计算,可执行多次优化分析计算。
采用第二种方式操作更简单,推荐采用。
总体上来说,执行优化计算过程大致上分为4个步骤:
(1)定义优化函数(或者方式和任务);
(2)定义优化目标或者约束条件;
(3)初始化优化过程;
(4)执行优化计算(可以是单次计算,也可以自动批量计算)。
以下分别进行描述:
1.5.1、定义优化函数
在ANSYS中,主要采用以下两种方式定义优化函数:
(1)利用TOCOMP定义结构优化;
(2)利用TOFREQ定义频率优化。
可以利用TOLIST命令例举出所有定义了的优化函数。
1.5.2、定义优化目标或者约束条件
定义优化目标或者约束条件主要是利用TOVAR命令设定,看看下面的代码片段:
Tocomp,comp,single,1
Tovar,comp,obj
Tovar,Volume,con,,25
Todef,1.0d-4
Toloop,10,1
首先利用tocomp命令定义了一个单步(single)的结果优化分析任务,并将任务名称(comp)作为优化任务,并设定体积减少25%作为优化约束条件,之后初始化优化过程,并利用toloop命令批量执行优化计算,当然,可以使用tostat命令查询tovar、todef和totype命令的设定状态(totype命令设定优化类型,具体说明可以参见帮助文件)。
同样,也可以利用如下的命令格式删除已经定义好的优化任务名称或者约束条件:
Tovar,Reference_Name,DEL
可以定义的优化目标和约束条件的组合方式见下表:
序号
优化类型
优化目标
约束条件
1
结构优化
(TOCOMP)
单步优化
(single)
体积
(VOLUME)
2
多步优化
(Multiple)
3
频率优化
(TOFREQ)
单阶频率优化
(Single)
4
加权平均频率优化
(WeightedMean)
5
一致平均频率优化
(ReciprocalMean)
6
欧几里德范数频率优化
(Euclideannorm)
7
体积(VOLUME)
单步结构载荷
8
多部结构载荷
1.5.3、初始化优化过程
初始化优化过程主要是利用TOTYPE和TODEF命令分别设定优化计算执行的方式和终止计算(或者计算收敛的精度),具体说明如下:
(1)TOTYPE:
设定优化计算执行方式,主要有优化准则方式(OptimalityCriteria)和顺序凸状程序方式(SequentialConvexProgramming),OC方式可以定义仅将体积作为约束条件,而SCP方式必须定义优化计算的目标。
(2)TODEF:
设定优化计算的终止方式或者收敛精度。
优化计算的设定参数并不保存到数据库中,如果用户利用RESUME恢复数据库,则需要重新利用TOCOMP、TOFREQ、TOVAR、TOTYPE、TODEF等命令进行重新设定。
1.5.4、执行优化计算
执行优化计算分为单次优化计算和批量多次自动优化计算两种方式,以下分别说明:
(1)利用SOLVETOEXE方式,看看下面的代码片段:
TOCOMP,COMP,Single,1
TOVAR,COMP,OBJ
TOVAR,VOLUME,CON,,25
TOTYPE,OC
TODEF,1.0d-4
/SOLUTION
SOLVE
TOEXE
FINISH
/POST1
PLNSOL,TOPO
*GET,TOPSTAT,TOPO,,CONV
*STAT,TOPSTAT
首先利用TOCOMP、TOVAR等命令设定好优化定义,之后进入求解模块,利用SOLVETOEXE命令组合求解单次优化计算,之后进入后处理模块,显示拓扑优化的结果;
再进入求解模块,再一次执行优化计算,直到满足用户的计算目标为止。
再看看一个利用单步优化计算进行频率优化的代码片段:
TOFREQ,FREQ1,SINGLE,1
TOVAR,FREQ1,OBJ
TOTYPE,SCP
ANTYPE,MODAL
MODOPT,LANB,1
MXPAND,1,,,YES
TOPLOT,0
采用单步优化频率计算过程类似于单步结构优化计算过程,不再赘述。
(2)自动批量多次优化计算
该方式是ANSYS中推荐采用的优化计算方式,主要命令是TOLOOP,其本身是一个宏命令,看看下面的代码片段,并要注意和SOLVETOEXE方式的区别:
LSWRITE
TOCOMP,MCOMP,MULTIPLE,3
TOVAR,MCOMP,OBJ
TOVAR,VOLUME,CON,,30
TODEF,0.001
TOLOOP,20,1
本段程序代码首先定义3个载荷步,之后定义了优化分析的设定等,最后利用TOLOOP命令执行最多20次的优化计算迭代。
1.6、查看优化计算的结果
当优化计算完毕,优化的结果存放在结果文件中(*.RST),用户可以使用如下的命令格式查看优化计算的结果:
(1)对于节点计算的结果,用PLNSOL,TOPO或者PRNSOL,TOPO显示虚密度(虚密度是指去除和保留部分的指标,是一个0~1之间的值,虚密度为0,表示可以去除;
虚密度为1,表示应该保留),当然也可以使用TOPLOT,0命令显示节点计算结果。
(2)对于单元计算的结果,用PLESOL,TOPO或者PRESOL,TOPO显示虚密度,当然也可以使用TOPLOT,1命令显示单元计算结果。
(3)另外,也可以使用TOGRAPH和TOPRINT显示优化计算过程,看看下面的代码片段:
TOPLOT,1
TOGRAPH,OBJ
TOGRAPH,CON,VOLUME
TOPRINT,OBJ
TOPRINT,CON
(4)也可以利用ANSYS中的单元表格功能进行结果显示,看看下面的代码片段:
ETABLE,EDENS,TOPO
PLETAB,EDENS
PRETAB,EDENS
ESEL,S,ETAB,EDENS,0.9,1.0
EPLOT
(5)如何查看优化计算过程是否收敛和迭代的次数?
看看下面的代码片段:
*GET,TOPCV,TOPO,,CONV
*GET,TITER,TOPO,,ITER
*GET,TOBJ,TOPO,ITER-1,TOHO
*GET,TCON,TOPO,ITER-1,TOHC,1
*STAT,……
变量TOPCV=1表示优化计算收敛,TITER变量表示优化计算的次数,TOBJ变量表示优化计算最终的目标值,TCON变量表示约束条件值。
(6)对于频率优化计算,特别是对于加权平均、一致性平均和欧几里德范数,可以通过如下的代码片段命令获得优化计算后的频率:
*GET,FREQ1,MODE,1,FREQ
*GET,FREQ2,MODE,2,FREQ
*GET,FREQ3,MODE,3,FREQ
可以进入后处理模块(/POST1)和利用SET和PLDISP命令获得对应的振形。
2、拓扑优化有关的命令简要说明
总体说明:
拓扑优化的命令均以TO开头,共计~12个,现简单说明如下:
(1)TOCOMP,REFName,Type,NUMLC,LCARR
命令功能:
定义单步或者多部一致性结果拓扑优化任务。
参数解释:
REFName:
优化任务名称,最多8个字符;
Type:
优化载荷步类型,可以是Single(单步)或者Multiply(多步);
NUMLC:
对于单步载荷,指定对哪个载荷步进行优化计算;
对于多步载荷,指定需要考虑的载荷步总数;
LCARR:
对于多步载荷,利用该参数可以定义多个载荷步之间权重,需要将各个载荷步的权重先定义在一个数组中,再用%权重数组%的方式加以引用。
(2)TOFREQ,REFName,Type,NFreq,Frqarr,TargVal
定义单个或者多个频率拓扑优化任务。
可以是Single、Weighted、Reciprocal、Euclidean四种优化形式;
NFreq:
对于Type=Single,该参数表示频率的标志值;
对于Weighted、Reciprocal、Euclidean这三种方式,该参数表示频率的总体阶数;
Frqarr:
对于Type=Weighted、Reciprocal,该参数表示加权数组,用%权重数组%的方式加以引用;
对于Type=Euclidean,该参数表示目标频率;
TargVal:
对于Type=Reciprocal,该参数用于定义目标频率。
(3)TOVAR,REFName,Type,Lower,Upper,Boundtype
定义优化变量和类型。
优化任务名称,最多8个字符,它是利用TOCOMP或者TOFREQ命令定义的;
优化变量类型,可以是OBJ、CON和DEL;
Lower:
当Type=CON时,优化变量的下限;
Upper:
当Type=CON时,优化变量的上限;
Boundtype:
当Type=CON时,表示优化变量的类型,可以是PERCENT(百分数)或者ACTUAL(实际值)。
命令缺省:
TOVAR,VOLUME,OBJ
(4)TOTYPE,Type
定义拓扑优化求解类型。
可以是OC(优化准则方式,默认值),或者SCP(顺序凸度程序方式)。
在使用OC方式时,只能将VOLUME作为限制条件,而SCP方式可以对于任何优化方式进行采用。
(5)TODEF,ACCUR
定义拓扑优化初始化精度控制或者收敛准则。
ACCUR:
精度控制或者收敛精度,默认值=0.0005。
(6)TOEXE
执行单次拓扑优化,无参数。
(7)TOLOOP,Niter,Plot
批量执行多次拓扑优化计算。
Niter:
优化计算执行次数,最大100次,默认值1次;
Plot:
Plot=0表示每次计算完成后不显示计算结果;
Plot=1表示每次计算完成后显示计算结果。
(8)TOPLOT,Aver
显示拓扑优化计算的结果。
Aver:
Aver=0表示显示的节点结果进行平滑处理(默认值);
Aver=1表示显示的节点不进行平滑处理。
(9)TOSTAT
显示拓扑优化的状态和计算结果信息,无参数。
(10)TOPRINT,Type,RefName
打印拓扑优化迭代计算的历史过程信息。
Type=OBJ表示打印目标优化变量的求解过程VS迭代步数;
Type=CON表示打印约束优化变量的求解过程VS迭代步数;
RefName:
当使用多步约束的参考名称,缺省是第一个约束名称。
(11)TOGRAPH,Type,RefName
当使用多个约束的参考名称,缺省是第一个约束变量名称。
(12)TOLIST
打印已定义的所有优化计算任务,无参数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 利用 ANSYS 进行 拓扑 优化
![提示](https://static.bdocx.com/images/bang_tan.gif)