…… ……
说明:该代码片段首先定义了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 Finish
Tofreq,mfreq,reciprocal,3 Tovar,mfreq,obj Tovar,volume,con,,50 Todef,1.0d-4 Toloop,20 …… ……
说明:首先定义模态求解作为分析类型,之后利用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 2 3 4 5 6 7 8 优化类型 优化目标 约束条件 体积 (VOLUME) 体积 (VOLUME) 体积 (VOLUME) 体积 (VOLUME) 体积 (VOLUME) 体积 (VOLUME) 单步结构载荷 多部结构载荷 结构优化 单步优化 (TOCOMP) (single) 多步优化 (Multiple) 频率优化 单阶频率优化 (TOFREQ) (Single) 加权平均频率优化 (Weighted Mean) 一致平均频率优化 (Reciprocal Mean) 欧几里德范数频率优化 (Euclidean norm) 体积(VOLUME) 体积(VOLUME) 1.5.3、初始化优化过程
初始化优化过程主要是利用TOTYPE和TODEF命令分别设定优化计算执行的方式和终止计算(或者计算收敛的精度),具体说明如下:
(1) TOTYPE:设定优化计算执行方式,主要有优化准则方式(Optimality
Criteria)和顺序凸状程序方式(Sequential Convex Programming),OC方式可以定义仅将体积作为约束条件,而SCP方式必须定义优化计算的目标。 (2) TODEF:设定优化计算的终止方式或者收敛精度。
说明:优化计算的设定参数并不保存到数据库中,如果用户利用RESUME恢复数据库,则需要重新利用TOCOMP、TOFREQ、TOVAR、TOTYPE、TODEF等命令进行重新设定。