CN109344440A - 一种基于ansys和matlab数据接口的结构拓扑优化设计平台 - Google Patents
一种基于ansys和matlab数据接口的结构拓扑优化设计平台 Download PDFInfo
- Publication number
- CN109344440A CN109344440A CN201811018803.4A CN201811018803A CN109344440A CN 109344440 A CN109344440 A CN 109344440A CN 201811018803 A CN201811018803 A CN 201811018803A CN 109344440 A CN109344440 A CN 109344440A
- Authority
- CN
- China
- Prior art keywords
- unit
- ansys
- optimization
- file
- matlab
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 135
- 238000013461 design Methods 0.000 title claims abstract description 37
- 238000012916 structural analysis Methods 0.000 claims abstract description 29
- 238000013459 approach Methods 0.000 claims abstract description 9
- 230000003044 adaptive effect Effects 0.000 claims description 59
- 230000000694 effects Effects 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 38
- 238000004458 analytical method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 13
- 230000002068 genetic effect Effects 0.000 claims description 13
- 108090000623 proteins and genes Proteins 0.000 claims description 12
- 230000035945 sensitivity Effects 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000004083 survival effect Effects 0.000 claims description 7
- 210000000349 chromosome Anatomy 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 6
- 230000000750 progressive effect Effects 0.000 claims description 5
- 230000035772 mutation Effects 0.000 claims description 4
- 241000283074 Equus asinus Species 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005266 casting Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 238000012950 reanalysis Methods 0.000 claims description 3
- 230000003252 repetitive effect Effects 0.000 claims description 3
- 238000003696 structure analysis method Methods 0.000 claims description 3
- 241000282898 Sus scrofa Species 0.000 claims 1
- 238000013433 optimization analysis Methods 0.000 abstract 1
- 239000000463 material Substances 0.000 description 9
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000009396 hybridization Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010429 evolutionary process Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台。该结构拓扑优化设计平台包括结构优化、结构分析和执行优化三个部分,结构分析是结构优化的基础,结构优化是执行优化的基础;结构优化以MATLAB为平台编制优化算法主程序;结构分析采用主程序调用ANSYS的后台Batch模式进行辅助计算;执行优化采用主程序调用ANSYS的“单元生死”模块执行单元杀死命令,使结构逐渐趋于最优拓扑形态。该结构拓扑优化设计平台用于为复杂的结构优化算法提供软件实现途径。
Description
技术领域
本发明涉及一种基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台,属于结构拓扑优化设计领域,用于为复杂的结构优化算法提供软件实现途径。
背景技术
到目前为止,优化设计应用于结构工程领域中已经有二十多年,以概念设计的方式服务于工程结构设计的初始阶段,为设计者灵活、理性的优选方案提供平台,为实际工程设计提供参考。目前,结构优化设计正处于蓬勃发展的时期,工程师们对优化方法有了更深层次的追求,希望优化方法的概念易懂,优化思路清晰,程序实现的方式既可靠又方便,兼顾效率和稳定性。
迄今为止,应用于结构优化方面较为成熟的商业软件在国内外还比较鲜有,以ANSYS商业软件为例,以ANSYS软件为平台的优化可分为三种实现途径:一是利用其自带的优化模块。在一些以有限元技术为核心的商业CAE软件中,通常都包含有很强大的结构优化设计功能模块,借助此模块可以便捷的解决一些一般性的优化问题,它的局限性在于它的优化约束条件不能很好地与结构现行规范进行接轨;二是结合ANSYS的“单元生死”模块,利用ANSYS提供的内置宏语言进行编程,实现二次开发优化程序。该方法适用于一些涉及反复运用有限元分析计算的一般性的结构优化问题;三是基于ANSYS与其他高级程序语言的数据接口,实现二次开发优化程序。在实际工程应用中,工程师们有时需要针对现有寻优算法进行改进和相互综合,以适应和满足各种不同设计方案的特定寻优需求。三种寻优途径相比之下,该方法具有灵活性更大的特点,其优化平台成为一个开放的系统,从而应对更为复杂的应用,可用于处理任何工程情况。
目前,探讨ANSYS和MATLAB数据接口应用于结构方面的研究主要分为两类,一类是研究MATLAB遗传算法工具箱与ANSYS软件之间的数据传递;一类是利用MATLAB建立数学模型并将数据导入ANSYS。本着拓展结构寻优途径的思想,本发明提出了一种利用有限元软件ANSYS和高级语言软件MATLAB的数据接口开发优化程序的方法。本发明的方法可以应用于各种新型寻优算法的实现。到目前为止,采用类似方法来实现结构优化问题尚未见报道。
发明内容
本发明目的是解决寻找结构最优拓扑构型的问题,为复杂的结构优化算法提供一种基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台及兼顾效率和稳定性的软件实现途径。
本发明解决上述问题采用的技术方案:以渐进遗传新型优化算法为例,基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台包括结构优化、结构分析和执行优化三个部分,结构分析是结构优化的基础,结构优化是执行优化的基础。
(1)结构优化:以MATLAB为平台编制遗传算法主程序,对于遗传算子的操作编制自定义函数供主程序调用,结构优化方法步骤如下:
1)主程序中首先应包括调用ANSYS读取APDL命令流文件的程序。
①技术原理:通过由MATLAB提供的用以执行shell命令的操作符来实现。
②技术特征:
!”D:\Program Files\ANSYS Inc\v120\ANSYS\bin\intel\ansys120.exe”-b -iinput file-o out file.bat
其中,各参数具体内容如下:
”D:\Program Files\ANSYSInc\v120\ANSYS\bin\intel\ansys120.exe”:ANSYS软件的安装途径,上例所述版本为12.0;
-b:指定使用Batch模式运行ANSYS;
-i:指定输入文件,为APDL命令流文件;
-o:指定输出文件,为求解一次的结果,需要注意的是这并不是我们想要的结果文件,是指在Gui方式运行output windows中的输出内容。
③所起的作用:此时ANSYS的Batch模式后台启动,进入到结构分析部分。
④达到的效果:结构分析结束后,计算出当前各单元应力水平,用每个单元的应力水平即该单元的当量应力与结构最大当量应力的比值来评价该单元的灵敏度,把单元灵敏度作为该个体适应值的度量,作为考量单元存活与否的标准,并以txt格式存储在主程序所在的目录下,待主程序调用。
2)主程序调用-M文件,该文件中包括对应以下内容的程序:读取适应值txt文件;将适应值按照从小到大进行排序;排序结果仍存储并覆盖于原适应值txt文件中,保存于主程序的目录下,待主程序调用,
①技术原理:MATLAB调用其目录下的包括每个单元适应值的-M文件,在该文件中,每个单元适应值和单元编号均竖向排列,第一列为单元序号,第二列为对应单元的适应值,因此按照第二列适应值进行排序,排序结果覆盖原文件。
②技术特征:
d=load(′c:\shiyingzhi.txt′); %读入数据并存入变量
d=[[1:z]′,d];
d=sortrows(d,2); %按第二列排序,得到排好序的适应值
d2=d(:,2);
[row,col]=size(d); %数据的维数,row表示块的数量
其中:z为在程序开始运行前需输入的初始模型的总单元数;
③所起的作用:将作为考量单元存活与否标准的各单元适应值进行大小排序。
④达到的效果:为下一步将排序在后的单元进行遗传算子的操作提供依据。
3)主程序读取txt文件适应值排序结果,调用自定义函数完成选择、变异、杂交遗传算子的命令。
①技术原理:渐进遗传新型优化算法,将初始结构有限元离散成的单元映射为遗传算法种群中的个体,每个单元映射一个n位二进制串,用以代表单元去留的一种状态。在优化开始前,个体的n位二进制串中的每一位均为1。此方法参照ANSYS自带的Topology Opt优化处理器的分析原理,把单元伪密度ηi(pseudodensity)作为程序预先设定的优化变量,ηi在(0,1)范围内变化,当ηi=0时表示i单元应从结构中删除,ηi=1表示i单元应在结构中被保留。
作用选择算子:对灵敏度大小排序在后的m个个体以各自的选择概率作用变异算子,采用“赌轮方法”计算选择概率,将各个体被选中的概率映射为其适应值与群体总适应值的比值;作用变异算子:将原来代表单元应被保留的基因全为1的染色体随机寻找一个变异的位置点,将该处的基因变为0;作用杂交算子:对群体随机配对两两作用单点杂交算子,产生包括更复杂基因的新个体。
②技术特征:
③所起的作用:得到基因全为0的染色体对应的单元编号y,参照ANSYS自带的Topology Opt优化处理器的分析原理,则该单元伪密度为0,应执行舍去该单元的操作。
④达到的效果:识别到执行优化部分进行“单元生死”操作的确切位置。
4)MATLAB中输出y的结果,将该结果写出并保存在另一txt文档中供ANSYS读取。
①技术原理:采用MATLAB写出数据文件的方法。
②技术特征:
y=d(x,1);
vv=load(′c:\duqu.txt′);
fid=fopen(′c:\duqu.txt′,′wt′); %以读写方式打开默认目录下的输出文件名及格式
vv=[vv;y];
fprintf(fid,′%g\n′,vv); %以某种格式读写关于变量vv的数据
fclose(fid);
③所起的作用:将MATLAB输出的应删除单元编号y的结果从MATLAB中写出。
④达到的效果:供ANSYS调用,服务于执行优化环节。
(2)结构分析:以MATLAB为平台运行优化程序的过程中,需二次进入到结构分析部分,由MATLAB调用APDL命令流文件,开启ANSYS的Batch模式进行结构分析和求解,并存储在相应文件中供MATLAB读取并继续下一步骤,结构分析方法步骤如下:
1)第一个APDL命令流文件嵌于遗传算法主程序需计算结构各单元的适应值时,该文件包括对应以下内容的程序:根据工程实际受力情况和约束情况进行分析和简化,建立初始结构有限元模型并施加荷载和约束,划分有限元网格,完成结构静力分析,计算出每个单元的当量应力;读取并计算出各单元灵敏度作为适应值;将适应值写入txt文件,供MATLAB读取。
①技术原理:采用ANSYS的Batch模式完成以上操作,运行Batch模式需要命令流文件和相应的调用命令。命令流文件采用ANSYS提供的内置宏语言APDL语言对分析和优化过程进行编程得到,或在GUI方式下运行得到的分析文件和优化控制文件的基础上,通过合并和修改得到;APDL命令流中还包括ANSYS写入数据到数据文件的语句格式。
②技术特征:
*cfopen,Fname,Ext
*vwrite,Par
(format)
*cfclose
其中:各参数具体内容如下:
Fname:文件名带路径,默认路径为工作目录;
Ext:文件的扩展名;
Par:允许写出的数据为常数、变量、数组;
Format:输出格式说明,以(F10.4)为例,总长10个数字字符,小数点后保留四位数字。
③所起的作用:计算出结构中各单元适应值,并将其写入txt文件。
④达到的效果:APDL命令流文件成为MATLAB的求解器,服务于结构优化部分。
2)第二个APDL命令流文件嵌于执行优化部分以及执行优化后重新进行静力分析计算各单元新的适应值并覆盖原适应值txt文档,供主程序读取进行新一轮循环过程时,该文件包括对应以下内容的程序:结构建模、加载、约束、求解;将含待杀死单元的txt文件读入ANSYS;执行杀死单元的操作;重新计算各单元适应值。
①技术原理:采用ANSYS的Batch模式完成以上操作,APDL命令流中应包括ANSYS读取数据文件的语句格式。执行单元杀死操作后,结构因形状发生改变,性能指标随之发生改变,因此需重新计算各单元适应值,增加结构重分析的频率,在程序出现应删除单元对应的编号之后,第一时间返回静力分析步骤获取此时全体存活单元的相对应力分布情况,确保结构在相对刚度发生改变时获取到最新的删除单元评判指标。
②技术特征:
*dim,Par,array,a
*vread,ParR,Fname,Ext,--,Label,n1,n2,n3,NSKIP
(format)
各参数具体内容如下:
ParR:读入数据的赋值对象数组;
Fname:文件名(带路径),默认路径为工作目录;
Ext:文件扩展名;
--:表示该域是无需用到的值域;
Label:取值顺序标识字;
Fname:以某种格式读取数据;
n1,n2,n3:数组的行数、列数、面数;
NSKIP:读入数据文件时需跳过的开始行数,默认为0,表示从第一行开始读入数据。
③所起的作用:将应删除的单元y读入ANSYS中。
④达到的效果:识别到执行“单元生死”选项的确切位置,服务于执行优化环节。
(3)执行优化:基于APDL技术和ANSYS的“单元生死”功能执行单元杀死命令,执行优化方法步骤如下:
1)MATLAB主程序调用ANSYS,读取APDL命令流文件,于ANSYS的Batch模式中,执行删除单元y的操作。
①技术原理:运用ANSYS的“单元生死”功能,将其语句格式写入APDL命令流中。
②技术特征:
/sol
ekill,y
solve
esel,s,live
eplot
finish
③所起的作用:杀死结构优化部分计算出的应删除单元y。
④达到的效果:使剩余结构构成的结构应力分布趋于更加均匀,呈现合理空间分布形式。
2)判断是否满足收敛条件,不满足则重复结构优化、结构分析、执行优化三环节,直至满足收敛条件;满足收敛条件则终止循环。
①技术原理:收敛条件为剩下单元个数与预设单元个数的大小关系,删除体积率来设置预设单元个数。
②技术特征:
if(n>=row-length(dz))%块的数量少于既定的值,结束迭代
v=1;
return;
end
③所起的作用:通过循环过程不断删除应力条件不符合要求的单元。
④达到的效果:循环终止时,在ANSYS中呈现预设删除率的结构最优拓扑构型。
本发明的有益效果:通过工程算例验证,得到满足应力强度要求且与传统设计基本一致的拓扑形式,验证了该种结构优化设计平台应用于实际结构拓扑优化设计的可行性和有效性。另外,采用基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台删除体积为78%时的稳态与初始模型相比较,单元Von Mises应力的最大值和最小值之比降低了近285倍,两者的单元Von Mises应力最小值之比为365倍,而两者的单元Von Mises应力最大值之比仅仅为1.26倍,应力上升的百分比远远小于体积下降的百分比。从应力在空间结构上的分布情况来看,优化结构构成的结构应力分布趋于更加均匀,避免了局部应力过大,也避免了材料因应力过小而导致材料没有被充分利用,使结构趋于优化。
比较基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台和基于APDL技术的优化程序设计两种优化方法,在优化进程运行到材料用量为22%的稳态时各自的性能指标,得到如下结论:初始模型的优化性能指标为1;混合优化算法的优化性能指标为3.594;ESO法的优化性能指标为3.545。由此看出混合优化算法在优化构形和优化效率方面的优越性。
附图说明
图1 基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台操作流程图
图2 单点加载简支梁
图3 初始结构固定网格的设计模型
图4 优化设计平台删除体积为78%的最优拓扑构型
图5 采用基于APDL技术的优化程序设计删除体积为78%的最优拓扑构型
图6 优化进程曲线-单元Von Mises应力最大值、最小值
图中:——为单元Von Mises应力最大值曲线,------为单元Von Mises应力最小值曲线;
纵坐标为单元Von Mises应力值,单位:MPa;横坐标为删除体积率,单位:%。
图7 优化进程曲线-性能指标PI变化
图中:纵坐标为优化性能指标PI;横坐标为删除体积率,单位:%。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
实例1
初始设计模型为两端铰支的单点加载简支梁,跨度、高度、厚度分别为200mm,100mm,5mm,初始模型如图2所示,初始设计域如图3所示。在底部中间作用一垂直向下的集中力F=100N。材料的弹性模量为E=200GPa,泊松比v=0.3,采用四节点的PLANE42单元。计算时,设计区域划分成40×20个平面应力单元,杂交率Pc=0.05,变异率Pm=0.05。以应力安全为约束条件,以减少梁混凝土方量为目标,利用基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台,对Michell型单点加载梁的合理空间分布形式进行了研究。
基于ANSYS和MATLAB数据接口的结构拓扑优化平台包括结构优化、结构分析和执行优化三个部分,结构分析是结构优化的基础,结构优化是执行优化的基础:
(1)结构优化:以MATLAB为平台编制遗传算法主程序,对于遗传算子的操作编制自定义函数供主程序调用,结构优化方法步骤如下:
1)主程序中首先包括调用ANSYS读取APDL命令流文件的程序。
①技术原理:通过由MATLAB提供的用以执行shell命令的操作符来实现。
②技术特征:
!”D:\Program Files\ANSYS Inc\v120\ANSYS\bin\intel\ansys120.exe”-b -iinput file-o out file.bat
其中:各参数具体内容说明如下:
”D:\Program Files\ANSYS Inc\v120\ANSYS\bin\intel\ansys120.exe”:ANSYS软件的安装途径,上例所述为12.0版本;
-b:指定使用Batch模式运行ANSYS;
-i:指定输入文件,为APDL命令流文件;
-o:指定输出文件,为求解一次的结果,需要注意的是这并不是我们想要的结果文件,是指在Gui方式运行output windows中的输出内容。
③所起的作用:此时ANSYS的Batch模式后台启动,进入到结构分析部分。
④达到的效果:结构分析结束后,计算出当前各单元应力水平,用每个单元的应力水平即该单元的当量应力与结构最大当量应力的比值来评价该单元的灵敏度,把单元灵敏度作为该个体适应值的度量,作为考量单元存活与否的标准,并以txt格式存储在主程序所在的目录下,待主程序调用。
2)主程序调用-M文件,该文件中包括对应以下内容的程序:读取适应值txt文件;将适应值按照从小到大进行排序;排序结果存储并覆盖于原适应值txt文件中,保存于主程序的目录下,待主程序调用,
①技术原理:MATLAB调用其目录下的包括每个单元适应值的-M文件,在该文件中,每个单元适应值和单元编号均竖向排列,第一列为单元序号,第二列为对应单元的适应值,因此按照第二列适应值进行排序,排序结果覆盖原文件。
②技术特征:
d=load(′c:\shiyingzhi.txt′); %读入数据并存入变量
d=[[1:z]′,d];
d=sortrows(d,2); %按第二列排序,得到排好序的适应值
d2=d(:,2);
[row,col]=size(d); %数据的维数,row表示块的数量
其中:z为在程序开始运行前需输入的初始模型的总单元数;
③所起的作用:把作为考量单元存活与否标准的各单元适应值进行大小排序。
④达到的效果:为下一步将排序在后的单元进行遗传算子的操作提供依据。
3)主程序读取txt文件适应值排序结果,调用自定义函数完成选择、变异、杂交遗传算子的命令。
①技术原理:渐进遗传新型优化算法,将初始结构有限元离散成的单元映射为遗传算法种群中的个体,每个单元映射一个n位二进制串,用以代表单元去留的一种状态。在优化开始前,个体的n位二进制串中的每一位均为1。此方法参照ANSYS自带的Topology Opt优化处理器的分析原理,把单元伪密度ηi(pseudodensity)作为程序预先设定的优化变量,ηi在(0,1)范围内变化,当ηi=0时表示i单元应从结构中删除,ηi=1表示i单元应在结构中被保留。
作用选择算子:对灵敏度大小排序在后的m个个体以各自的选择概率作用变异算子,本发明采用“赌轮方法”计算选择概率,将各个体被选中的概率映射为其适应值与群体总适应值的比值;作用变异算子:将原来代表单元应被保留的基因全为1的染色体随机寻找一个变异的位置点,将该处的基因变为0;作用杂交算子:对群体随机配对两两作用单点杂交算子,产生包括更复杂基因的新个体。
②技术特征:
③所起的作用:得到基因全为0的染色体对应的单元编号y,参照ANSYS自带的Topology Opt优化处理器的分析原理,该单元伪密度为0,应执行舍去该单元的操作。
④达到的效果:识别到执行优化部分进行“单元生死”操作的确切位置。
4)MATLAB中输出y的结果,将该结果写出并保存在另一txt文档中供ANSYS读取。
①技术原理:采用MATLAB写出数据文件的方法。
②技术特征:
y=d(x,1);
vv=load(′c:\duqu.txt′);
fid=fopen(′c:\duqu.txt′,′wt′); %以读写方式打开默认目录下的输出文件名及格式
vv=[vv;y];
fprintf(fid,′%g\n′,vv); %以某种格式读写关于变量vv的数据
fclose(fid);
③所起的作用:将MATLAB输出的应删除单元编号y的结果从MATLAB中写出。
④达到的效果:供ANSYS调用,服务于执行优化环节。
(2)结构分析:以MATLAB为平台运行优化程序的过程中,需二次进入到结构分析部分,由MATLAB调用APDL命令流文件,开启ANSYS的Batch模式进行结构分析和求解,并存储在相应文件中供MATLAB读取并继续下一步骤,结构分析方法步骤如下:
1)第一个APDL命令流文件嵌于遗传算法主程序需计算结构各单元的适应值时,该文件包括对应以下内容的程序:根据工程实际受力情况和约束情况进行分析和简化,建立初始结构有限元模型并施加荷载和约束,划分有限元网格,完成结构静力分析,计算出每个单元的当量应力;读取并计算出各单元灵敏度作为适应值;将适应值写入txt文件,供MATLAB读取。
①技术原理:采用ANSYS的Batch模式完成以上操作,运行Batch模式需要命令流文件和相应的调用命令。命令流文件采用ANSYS提供的内置宏语言APDL语言对分析和优化过程进行编程得到,也可以在GUI方式下运行得到的分析文件和优化控制文件的基础上,通过合并和修改得到,本发明通过后者实现。APDL命令流中还应包括ANSYS写入数据到数据文件的语句格式。
②技术特征:
*cfopen,Fname,Ext
*vwrite,Par
(format)
*cfclose
其中各参数说明如下:
Fname:文件名带路径,默认路径为工作目录;
Ext:文件的扩展名;
Par:允许写出的数据:常数、变量、数组;
Format:输出格式说明,以(F10.4)为例,总长10个数字字符,小数点后保留四位数字。
③所起的作用:计算出结构中各单元适应值,并将其写入txt文件。
④达到的效果:APDL命令流文件成为MATLAB的求解器,服务于结构优化部分。
2)第二个APDL命令流文件嵌于执行优化部分以及执行优化后重新进行静力分析计算各单元新的适应值并覆盖原适应值txt文档,供主程序读取进行新一轮循环过程时,该文件包括对应以下内容的程序:结构建模、加载、约束、求解;将含待杀死单元的txt文件读入ANSYS;执行杀死单元的操作;重新计算各单元适应值。
①技术原理:采用ANSYS的Batch模式完成以上操作,APDL命令流中应包括ANSYS读取数据文件的语句格式。执行单元杀死操作后,结构因形状发生改变,性能指标随之发生改变,因此需重新计算各单元适应值,本发明增加结构重分析的频率,在程序出现应删除单元对应的编号之后,第一时间返回静力分析步骤获取此时全体存活单元的相对应力分布情况,确保结构在相对刚度发生改变时获取到最新的删除单元评判指标。
②技术特征:
*dim,Par,array,a
*vread,ParR,Fname,Ext,--,Label,n 1,n2,n3,NSKIP
(format)
各参数说明如下:
ParR:读入数据的赋值对象数组;
Fname:文件名带路径,默认路径为工作目录;
Ext:文件扩展名;
--:表示该域是无需用到的值域;
Label:取值顺序标识字;
Fname:以某种格式读取数据;
n1,n2,n3:数组的行数、列数、面数;
NSKIP:读入数据文件时需跳过的开始行数,默认为0,表示从第一行开始读入数据。
③所起的作用:将应删除的单元y读入ANSYS中。
④达到的效果:识别到执行“单元生死”选项的确切位置,服务于执行优化环节。
(3)执行优化:基于APDL技术和ANSYS的“单元生死”功能执行单元杀死命令,执行优化方法步骤如下:
1)MATLAB主程序调用ANSYS,读取APDL命令流文件,于ANSYS的Batch模式中,执行删除单元y的操作。
①技术原理:运用ANSYS的“单元生死”功能,将其语句格式写入APDL命令流中。
②技术特征:
/sol
ekill,y
solve
esel,s,live
eplot
finish
③所起的作用:杀死结构优化部分计算出的应删除单元y。
④达到的效果:使剩余结构构成的结构应力分布趋于更加均匀,呈现合理空间分布形式。
2)判断是否满足收敛条件,不满足则重复结构优化、结构分析、执行优化三环节,直至满足收敛条件;满足收敛条件则终止循环。
①技术原理:收敛条件为剩下单元个数与预设单元个数的大小关系,删除体积率来设置预设单元个数。
②技术特征:
if(n>=row-length(dz))%块的数量少于既定的值,结束迭代
v=1;
return;
end
③所起的作用:通过循环过程不断删除应力条件不符合要求的单元。
④达到的效果:循环终止时,在ANSYS中呈现预设删除率的结构最优拓扑构型。
分析优化结果,得到以下结论:
一、当优化进程运行到材料用量为22%的稳态时停止迭代,此时的结构拓扑构形如图4所示,此时结构的体积与初始模型相比下降了78%,最大应力达到3.038MPa。这一拓扑优化构形符合最佳传力路径,集中荷载由拉杆传递给拱形压杆,再由拱形压杆传递给两端铰支座。图5为基于APDL技术的优化程序设计,相同删除体积下的最优拓扑构形,可见采用两种方法的最优拓扑构形基本一致,且均与Michell结构的最轻设计一致。由此说明基于MATLAB和ANSYS数据接口的二次开发法应用于结构拓扑优化设计的可行性及有效性。
二、图6为单元Von Mises应力最大值、最小值的优化进程曲线图,初始模型与材料用量为22%时的稳态拓扑构形的应力和体积的比较如表1所示,删除体积为78%时的稳态与初始模型相比较,单元VonMises应力的最大值和最小值之比降低了近285倍,两者的单元Von Mises应力最小值之比为365倍,而两者的单元Von Mises应力最大值之比仅仅为1.26倍,应力上升的百分比远远小于体积下降的百分比。从应力在空间结构上的分布情况来看,优化结构构成的结构应力分布趋于更加均匀,避免了局部应力过大,也避免了材料因应力过小而导致材料没有被充分利用,使结构趋于优化。
表1
另外,从图6单元Von Mises应力最大值、最小值曲线图可以看出,在优化迭代过程中单元Von Mises应力最大值、最小值和体积变化率均较平稳,实现了“渐进”的方式。由以上两点可见,优化设计平台充分汲取了渐进结构优化法的优化思路。
三、由图6可以看出,在产生最优数值解的整个种群的进化过程中,种群平均适应值随着最优个体的进化而得到了改进。由此可见,优化设计平台的优化过程不单是最优个体的进化,而且使得整个种群均得到了进化,个体的进化对整个种群的进化存在着因果关系和促进作用,优化设计平台充分汲取了传统遗传算法擅长全局优化的优势。
在结构优化设计领域中,对于全局最优和局部最优的判定问题尚未得到解决,通常我们采取另一种方式来靠近最优解,即采用尽可能多的不同的优化设计方案,然后比较它们分别产生的最终解。如果最终结果相同,我们认为有可能达到了全局最优,如果存在差别,则选取最小或最大的作为最优解。因此我们可以产生一种思考:寻求多种优化设计方案,从而找出一个相对靠近全局优化这一概念的优化结果。
对于多种优化设计方案的优化结果存在着不确定性和相对性,前人在无量纲化设计原理的基础上,引入一种基于Von Mises应力的性能指标(PI)公式,采用该公式评判不同优化设计方案的优化效率。
其中,和分别为初始模型和第i次迭代时结构的最大Von Mises应力值,Vd,0和Vd,i分别为初始模型和第i次迭代时结构的体积。
优化进程中性能指标变化曲线如图7所示,从图中可以看出,性能指标参数随着删除率的增大在稳步增长,其峰值对应删除体积为78%时的稳态,性能指标PI=3.594,最大应力为3.038MPa,说明此时结构拓扑优化效率最高。
比较基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台和基于APDL技术的优化程序设计两种优化方法,在优化进程运行到材料用量为22%的稳态时各自的性能指标,得到如下结论:初始模型的优化性能指标为1;混合优化算法的优化性能指标为3.594;ESO法的单元Von Mises应力最大值为3.780MPa,其优化性能指标为3.545。由此可以看出混合优化算法在优化构形和优化效率方面的优越性。
Claims (1)
1.一种基于ANSYS和MATLAB数据接口的结构拓扑优化设计平台,其特征是:ANSYS和MATLAB数据接口的结构拓扑优化平台包括结构优化、结构分析和执行优化三个部分,结构分析是结构优化的基础,结构优化是执行优化的基础;
(1)结构优化:以MATLAB为平台编制遗传算法主程序,对于遗传算子的操作编制自定义函数为主程序调用,结构优化方法步骤如下:
1)主程序中首先应包括调用ANSYS读取APDL命令流文件的程序
①技术原理:通过由MATLAB提供的用以执行shell命令的操作符来实现;
②技术特征:
!”D:\Program Files\ANSYS Inc\v120\ANSYS\bin\intel\ansys120.exe”-b-i inputfile-o out file.bat
其中,各参数具体内容如下:
”D:\Program Files\ANSYS Inc\v120\ANSYS\bin\intel\ansys120.exe”:ANSYS软件的安装途径,版本为12.0;
-b:指定使用Batch模式运行ANSYS;
-i:指定输入文件,为APDL命令流文件;
-o:指定输出文件,为求解一次的结果,是指在Gui方式运行output windows中的输出内容;
③作用:此时ANSYS的Batch模式后台启动,进入到结构分析部分;
④效果:结构分析结束后,计算出当前各单元应力水平,用每个单元的应力水平即该单元的当量应力与结构最大当量应力的比值来评价该单元的灵敏度,把单元灵敏度作为该个体适应值的度量,作为考量单元存活与否的标准,并以txt格式存储在主程序所在的目录下,待主程序调用;
2)主程序调用-M文件,该文件中包括对应以下内容的程序:读取适应值txt文件;将适应值按照从小到大进行排序;排序结果仍存储并覆盖于原适应值txt文件中,保存于主程序的目录下,待主程序调用;
①技术原理:MATLAB调用其目录下的包括每个单元适应值的-M文件,在该文件中,每个单元适应值和单元编号均竖向排列,第一列为单元序号,第二列为对应单元的适应值,因此按照第二列适应值进行排序,排序结果覆盖原文件;
②技术特征:
d=load(′c:\shiyingzhi.txt′); %读入数据并存入变量
d=[[1:z]′,d];
d=sortrows(d,2); %按第二列排序,得到排好序的适应值
d2=d(:,2);
[row,col]=size(d); %数据的维数,row表示块的数量
其中:z为在程序开始运行前需输入的初始模型的总单元数;
③作用:将作为考量单元存活与否标准的各单元适应值进行大小排序;
④效果:为下一步将排序在后的单元进行遗传算子的操作提供依据;
3)主程序读取txt文件适应值排序结果,调用自定义函数完成选择、变异、杂交遗传算子的命令;
①技术原理:渐进遗传新型优化算法,将初始结构有限元离散成的单元映射为遗传算法种群中的个体,每个单元映射一个n位二进制串,用以代表单元去留的一种状态;在优化开始前,个体的n位二进制串中的每一位均为1;此方法参照ANSYS自带的Topology Opt优化处理器的分析原理,把单元伪密度ηipseudodensity作为程序预先设定的优化变量,ηi在(0,1)范围内变化,当ηi=0时表示i单元应从结构中删除,ηi=1表示i单元应在结构中被保留;
作用选择算子:对灵敏度大小排序在后的m个个体以各自的选择概率作用变异算子,采用“赌轮方法”计算选择概率,将各个体被选中的概率映射为其适应值与群体总适应值的比值;作用变异算子:将原来代表单元应被保留的基因全为1的染色体随机寻找一个变异的位置点,将该处的基因变为0;作用杂交算子:对群体随机配对两两作用单点杂交算子,产生包括更复杂基因的新个体;
②技术特征:
③作用:得到基因全为0的染色体对应的单元编号y,参照ANSYS自带的Topology Opt优化处理器的分析原理,则该单元伪密度为0,应执行舍去该单元的操作;
④效果:识别到执行优化部分进行“单元生死”操作的确切位置;
4)MATLAB中输出y的结果,将该结果写出并保存在另一txt文档中供ANSYS读取;
①技术原理:采用MATLAB写出数据文件的方法;
②技术特征:
y=d(x,1);
vv=load(′c:\duqu.txt′);
fid=fopen(′c:\duqu.txt′,′wt′);%以读写方式打开默认目录下的输出文件名及格式
vv=[vv;y];
fprintf(fid,′%g\n′,vv); %以某种格式读写关于变量vv的数据
fclose(fid);
③作用:将MATLAB输出的应删除单元编号y的结果从MATLAB中写出;
④效果:供ANSYS调用,服务于执行优化环节;
(2)结构分析:以MATLAB为平台运行优化程序的过程中,需二次进入到结构分析部分,由MATLAB调用APDL命令流文件,开启ANSYS的Batch模式进行结构分析和求解,并存储在相应文件中供MATLAB读取并继续下一步骤,结构分析方法步骤如下:
1)第一个APDL命令流文件嵌于遗传算法主程序需计算结构各单元的适应值时,该文件包括对应以下内容的程序:根据工程实际受力情况和约束情况进行分析和简化,建立初始结构有限元模型并施加荷载和约束,划分有限元网格,完成结构静力分析,计算出每个单元的当量应力;读取并计算出各单元灵敏度作为适应值;将适应值写入txt文件,供MATLAB读取;
①技术原理:采用ANSYS的Batch模式完成以上操作,运行Batch模式需要命令流文件和相应的调用命令;命令流文件采用ANSYS提供的内置宏语言APDL语言对分析和优化过程进行编程得到,或在GUI方式下运行得到的分析文件和优化控制文件的基础上,通过合并和修改得到;APDL命令流中还包括ANSYS写入数据到数据文件的语句格式;
②技术特征:
*cfopen,Fname,Ext
*vwrite,Par
(format)
*cfclose
其中,各参数具体内容如下:
Fname:文件名带路径,默认路径为工作目录;
Ext:文件的扩展名;
Par:允许写出的数据为常数、变量、数组;
Format:输出格式说明,以(F10.4)为例,总长10个数字字符,小数点后保留四位数字;
③所起的作用:计算出结构中各单元适应值,并将其写入txt文件;
④达到的效果:APDL命令流文件成为MATLAB的求解器,服务于结构优化部分;
2)第二个APDL命令流文件嵌于执行优化部分以及执行优化后重新进行静力分析计算各单元新的适应值并覆盖原适应值txt文档,供主程序读取进行新一轮循环过程时,该文件包括对应以下内容的程序:结构建模、加载、约束、求解;将含待杀死单元的txt文件读入ANSYS;执行杀死单元的操作;重新计算各单元适应值;
①技术原理:采用ANSYS的Batch模式完成以上操作,APDL命令流中应包括ANSYS读取数据文件的语句格式;执行单元杀死操作后,结构因形状发生改变,性能指标随之发生改变;因此需重新计算各单元适应值,增加结构重分析的频率,在程序出现应删除单元对应的编号之后,第一时间返回静力分析步骤获取此时全体存活单元的相对应力分布情况,确保结构在相对刚度发生改变时获取到最新的删除单元评判指标;
②技术特征:
*dim,Par,array,a
*vread,ParR,Fname,Ext,--,Label,n1,n2,n3,NSKIP
(format)
各参数具体内容如下:
ParR:读入数据的赋值对象数组;
Fname:文件名带路径,默认路径为工作目录;
Ext:文件扩展名;
--:表示该域是无需用到的值域;
Label:取值顺序标识字;
Fname:以某种格式读取数据;
n1,n2,n3:数组的行数、列数、面数;
NSKIP:读入数据文件时需跳过的开始行数,默认为0,表示从第一行开始读入数据;
③作用:将应删除的单元y读入ANSYS中;
④效果:识别到执行“单元生死”选项的确切位置,服务于执行优化环节;
(3)执行优化:基于APDL技术和ANSYS的“单元生死”功能执行单元杀死命令,执行优化方法步骤如下:
1)MATLAB主程序调用ANSYS,读取APDL命令流文件,于ANSYS的Batch模式中,执行删除单元y的操作;
①技术原理:运用ANSYS的“单元生死”功能,将其语句格式写入APDL命令流中;
②技术特征:
/sol
ekill,y
solve
esel,s,live
eplot
finish
③作用:杀死结构优化部分计算出的应删除单元y;
④效果:使剩余结构构成的结构应力分布趋于更加均匀,呈现合理空间分布形式;
2)判断是否满足收敛条件,不满足则重复结构优化、结构分析、执行优化三环节,直至满足收敛条件;满足收敛条件则终止循环;
①技术原理:收敛条件为剩下单元个数与预设单元个数的大小关系,删除体积率来设置预设单元个数;
②技术特征:
if(n>=row-length(dz))%块的数量少于既定的值,结束迭代
v=1;
return;
end
③作用:通过循环过程不断删除应力条件不符合要求的单元;
④效果:循环终止时,在ANSYS中呈现预设删除率的结构最优拓扑构型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811018803.4A CN109344440A (zh) | 2018-09-03 | 2018-09-03 | 一种基于ansys和matlab数据接口的结构拓扑优化设计平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811018803.4A CN109344440A (zh) | 2018-09-03 | 2018-09-03 | 一种基于ansys和matlab数据接口的结构拓扑优化设计平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109344440A true CN109344440A (zh) | 2019-02-15 |
Family
ID=65294223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811018803.4A Pending CN109344440A (zh) | 2018-09-03 | 2018-09-03 | 一种基于ansys和matlab数据接口的结构拓扑优化设计平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344440A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918786A (zh) * | 2019-03-07 | 2019-06-21 | 龙源(北京)风电工程设计咨询有限公司 | 一种海上风机基础结构自动分析系统及方法 |
CN110059379A (zh) * | 2019-04-02 | 2019-07-26 | 西北工业大学 | 一种基于matlab与apdl的柔性机构联合拓扑优化方法 |
CN110083880A (zh) * | 2019-04-02 | 2019-08-02 | 江苏理工学院 | 基于matlab与abaqus的联合优化设计方法 |
CN111444557A (zh) * | 2020-01-14 | 2020-07-24 | 江苏大学镇江流体工程装备技术研究院 | 基于ansys与matlab数据接口的cfd数值模拟优化设计方法 |
CN111460716A (zh) * | 2020-04-01 | 2020-07-28 | 江苏理工学院 | 一种基于遗传算法的b样条自由曲面零件结构轻量化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007076357A2 (en) * | 2005-12-19 | 2007-07-05 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System and method for finite element based topology optimization |
CN107391796A (zh) * | 2017-06-20 | 2017-11-24 | 江苏理工学院 | 一种基于matlab与ansys的联合优化设计方法 |
CN108121875A (zh) * | 2017-12-27 | 2018-06-05 | 陕西航空电气有限责任公司 | 一种基于Matlab和CFX联合求解平台的拓扑优化方法 |
-
2018
- 2018-09-03 CN CN201811018803.4A patent/CN109344440A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007076357A2 (en) * | 2005-12-19 | 2007-07-05 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System and method for finite element based topology optimization |
CN107391796A (zh) * | 2017-06-20 | 2017-11-24 | 江苏理工学院 | 一种基于matlab与ansys的联合优化设计方法 |
CN108121875A (zh) * | 2017-12-27 | 2018-06-05 | 陕西航空电气有限责任公司 | 一种基于Matlab和CFX联合求解平台的拓扑优化方法 |
Non-Patent Citations (2)
Title |
---|
李迎;邢心魁;宋若翔;张坚;: "基于ANSYS平台的结构拓扑优化实现途径", 低温建筑技术, no. 04 * |
邱爽;周金宇;: "基于MATLAB和ANSYS的协同优化设计及应用", 机械设计, no. 09 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918786A (zh) * | 2019-03-07 | 2019-06-21 | 龙源(北京)风电工程设计咨询有限公司 | 一种海上风机基础结构自动分析系统及方法 |
CN110059379A (zh) * | 2019-04-02 | 2019-07-26 | 西北工业大学 | 一种基于matlab与apdl的柔性机构联合拓扑优化方法 |
CN110083880A (zh) * | 2019-04-02 | 2019-08-02 | 江苏理工学院 | 基于matlab与abaqus的联合优化设计方法 |
CN111444557A (zh) * | 2020-01-14 | 2020-07-24 | 江苏大学镇江流体工程装备技术研究院 | 基于ansys与matlab数据接口的cfd数值模拟优化设计方法 |
CN111444557B (zh) * | 2020-01-14 | 2024-05-24 | 江苏大学镇江流体工程装备技术研究院 | 基于ansys与matlab数据接口的cfd数值模拟优化设计方法 |
CN111460716A (zh) * | 2020-04-01 | 2020-07-28 | 江苏理工学院 | 一种基于遗传算法的b样条自由曲面零件结构轻量化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344440A (zh) | 一种基于ansys和matlab数据接口的结构拓扑优化设计平台 | |
Reca et al. | Application of several meta-heuristic techniques to the optimization of real looped water distribution networks | |
Edmunds et al. | An algorithm for the mixed-integer nonlinear bilevel programming problem | |
US7224761B2 (en) | Method and algorithm for searching and optimizing nuclear reactor core loading patterns | |
Reis et al. | Multi-reservoir operation planning using hybrid genetic algorithm and linear programming (GA-LP): An alternative stochastic approach | |
CN102214213A (zh) | 一种采用决策树的数据分类方法和系统 | |
JP7349178B2 (ja) | 波力エネルギー装置のパラメータ設定の最適化システム及び方法 | |
Liu et al. | Configuration space evolutionary algorithm for multi-objective unequal-area facility layout problems with flexible bays | |
CN105117461B (zh) | 一种基于改进的遗传算法的查询优化方法 | |
Shayanfar et al. | Prioritizing interrelated road projects using metaheuristics | |
CN109408939A (zh) | 一种兼顾应力和位移约束的薄板结构加强筋分布优化的改进方法 | |
Lin et al. | A tabu search-based memetic algorithm for hardware/software partitioning | |
Taentzer et al. | Generation of Sierpinski triangles: A case study for graph transformation tools | |
Liang et al. | Parallel optimization of QoS-aware big service processes with discovery of skyline services | |
Acar et al. | An experimental analysis of change propagation in dynamic trees | |
CN113255263B (zh) | 颗粒带分割方法、装置、计算机设备和存储介质 | |
Dasgupta et al. | Multiobjective heuristic search: An introduction to intelligent search methods for multicriteria optimization | |
CN107168795B (zh) | 基于cpu-gpu异构复合式并行计算框架的密码子偏差系数模型方法 | |
CN116562166A (zh) | 一种基于ihba的配电网分布式电源选址定容方法 | |
US8312008B2 (en) | Docbase management system and implementing method thereof | |
CN113673195B (zh) | 一种基于网络拓扑顺序的电路门尺寸优化方法 | |
Mollajafari et al. | A repair-less genetic algorithm for scheduling tasks onto dynamically reconfigurable hardware | |
Sadegheih | Optimization of network planning by the novel hybrid algorithms of intelligent optimization techniques | |
Vijayan | Partitioning logic on graph structures to minimize routing cost | |
Mrena et al. | Practical applicability of advanced implementations of priority queues in finding shortest paths |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190215 |
|
WD01 | Invention patent application deemed withdrawn after publication |