SIMPACK与iSIGHT联合进行优化分析
2016-10-24 by:CAE仿真在线 来源:互联网
SIMPACK与iSIGHT联合进行优化分析
GET集团工程仿真中心 张志华
摘要:随着各个软件以及各个学科之间融合程度的不断深化,越来越多的仿真分析工作不是在一个软件里能够完成的,因为每一个软件都有自己所擅长分析的学科或者领域。因此,使用不同的软件进行联合分析成为越来越多的使用者的选择。在动力学分析领域,SIMPACK作为专家级的动力学仿真软件,在国内的应用越来越广泛。而在多学科优化领域,iSIGHT堪称拳头级产品。因此,怎样实现SIMPACK与iSIGHT的联合分析,使两个软件发挥自己独特的优势成为越来越多的人感兴趣的话题。本文以一个动力学里简单的弹簧振子模型向大家描述如何实现SIMPACK与iSIGHT的联合优化。
一、iSIGHT的先决条件
iSIGHT软件作为一个多学科优化的平台性软件,其与众多的软件有着非常良好的接口。但是从实际应用的角度来说,不管想与iSIGHT联合的软件与iSIGHT有没有接口,只要满足三个条件均可实现与iSIGHT的联合:
-
模型文件可读或者可以控制模型文件的某些文件可读;这样iSIGHT可以通过读入这些文件来对模型实现参数化;
-
解算器可以自动批处理计算;在iSIGHT对所设定的变量赋以不同的值进行优化分析时,是没有人的参与在里边的,所以就要求与iSIGHT联合的软件可以实现计算批处理;
-
结果文件可读;iSIGHT可以读入结果文件中的某些值或者量,将这些量作为响应,从而可以实现优化分析时约束和目标的定义;
从以上三个条件来看,SIMPACK均没有问题,因此,SIMPACK与Isight的联合从理论上来说不存在任何问题。
从实际应用来看,SIMPACK的spck文件可读,iSIGHT可以读入实现参数化,但是如果动力学模型比较复杂,则读入spck文件会比较费时。因此可以采用SIMPACK中的置换变量文件来代替spck文件。
SIMPACK的批处理计算我们可以编写批处理脚本来实现。
SIMPACK的后处理默认输出的是sbr文件,该文件为二进制文件,Isight直接无法读入该文件。但是我们可以将该文件转化成文本文件,进而使Isight能够读入。同时为了提高iSIGHT读入该文件的速度,我们将输出的结果做一些限定,使输出的文件比较小。有时候我们在iSIGHT中需要设置比如某些量最大、最小等等。这些设置我们也可以在SIMPACK的前处理中提前设置好,从而可以减少在iSIGHT中设置与读取的时间,提高效率。
二、SIMPACK模型
在SIMPACK中怎样创建弹簧振子模型在这里我们不做具体描述,所创建的弹簧振子动力学模型如图1所示。
图1弹簧振子模型
在该模型中,我们对于振子质量、弹簧刚度、阻尼做成置换变量,并将这些置换变量输出成置换变量文件,如图2所示。也就是说,我们通过更改置换变量文件中相应的参数,就可以更改模型。因此,该置换变量文件我们可以读入iSIGHT中实现对这些量在iSIGHT中实现参数化。
图2置换变量文件
我们在SIMPACK的Solver Setting中将所有的输出都去掉,只保留result elements的输出。在该实例中,我们假定我们在iSIGHT中需要定义振子的最大速度和最大加速度作为响应。因此,我们可以在SIMPACK中定义最大速度和最大加速度作为结果单元进行输出。
首先我们在SIMPACK中定义最大值过滤器,如图3所示。
图3最大值过滤器
然后我们再定义速度和加速度作为结果单元输出,如图4所示。
图4速度和加速度输出单元
最后,我们对速度和加速度输出使用最大值过滤器,如图5所示。
图5最大速度和加速度输出
为了满足iSIGHT中对于自动批处理计算的要求,我们需要编写SIMPACK的解算脚本文件solver.bat:
"C:\ProgramFiles\SIMPACK-9.7\run\bin\win64\simpack-slv.exe"-s"D:\ansys\isight\Simpack_Isight\time_integration.sjs"
其中,sjs是计算脚本文件,大家可以参考SIMPACK的相关帮助进行编写。
后处理结果自动转化为文件结果的脚本post.bat:
"C:\ProgramFiles\SIMPACK-9.7\run\bin\win64\simpack-post.exe"-s"D:\ansys\isight\Simpack_Isight\sbr2csv.qs""D:\ansys\isight\Simpack_Isight\gk.output\gk.sbr""D:\ansys\isight\Simpack_Isight\111"
其中,qs文件是利用SIMPACK的后处理的QSA语言进行编写的,sbr是SIMPACK计算的输出文件,111是我们将sbr转化成的文本文件。
三、iSIGHT模型
在iSIGHT中根据优化分析的要求,建立Isight中的模型如图6所示。
图6 iSIGHT优化模型
在图6所示的iSIGHT的模型中,我们使用了两个联合优化代码图标Simcode和Simcode-1。其中Simcode负责前处理参数化模型以及自动化计算;Simcode-1负责转化计算结果以及将计算结果中的某些值定义为响应。
在Simcode中,我们将SIMPACK的置换变量文件读入进行参数化,如图7所示。由于本文只是描述SIMPACK与iSIGHT联合优化的一般步骤,所以我们只是简单的选择SIMPACK模型中的质量和刚度作为参数进行参数化。同时在“command”中将solver.bat文件读入。
图7对模型参数进行参数化
在Simcode-1中,我们将SIMPACK输出的111.csv文件读入,将最大速度和最大加速度作为响应,如图8所示。同时在“command”中将post.bat文件读入。
图8 将模型输出定义为响应
在optimization1图标中,我们将最大加速度设置为约束;将最大速度设置为目标,如图9所示。并设置质量和刚度的范围分别为(5,10)和(100,300)。
图9定义目标和约束
至此,我们完成了iSIGHT中模型的创建。创建完成的模型数据流如图10所示。
图10优化模型数据流
四、联合优化分析结果
模型创建完成后,点击运算图标进行计算,如图11所示。
图11计算结果
从图11所示的计算结果来看,质量为10,刚度为202是满足我们设定的约束和目标的最优结果。当然,iSIGHT中也提供了多种功能可以使用户深入的研究变量和响应等的关系,如图12所示。
图12计算结果云图显示
五、总结
通过该实例我们介绍了SIMPACK与iSIGHT联合进行优化分析的一般步骤,当然了大家需要优化的具体实例不同,可能某些步骤会有差别,但是从总体上来说整个操作过程是类似的。同时通过这种联合,我们可以最大限度的发挥各个不同软件在不同的领域或者学科的专长,从而使我们对某些问题的研究可以更加深入。
相关标签搜索:SIMPACK与iSIGHT联合进行优化分析 ISight培训 ISight培训课程 ISight分析 ISight在线视频教程 ISight技术学习教程 ISight软件教程 ISight资料下载 ISight代做 ISight基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训