isight集成catia和abaqus,nastran流程详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

isight集成catia和abaqus,nastran流程详解

CAD软件中参数化建模,导入有限元软件中计算各个工况,isight根据计算结果调整模型参数,反复迭代计算的过程是尺寸优化的典型问题~

下面将比较详解叙述菜鸟新手是如何成功用isight集成catia和abaqus流程,在此过程中,遇到不少棘手问题,翻遍了本版的帖子,浸淫在#isight优化联盟群#,得到了许多人的帮助,特别鸣谢@牛人@Alex和@潇潇,这也反哺自己将之分享给类似问题的亲们以参考。

优化思路

同做其他事情一样,我们必须思路清晰,这一点在isight流程集成上面显得尤为突出。isight 有比较标准的集成流程,但又没有唯一固定的途径,像集成catia,即可以用自带的组件,又可以用通用的simcode,而关于catia的宏命令又有不同的写法,文件路径设置时又有不同的方法,诸如之类。条条大路通罗马,前提是我们知道罗马在何方,如果我们为了集成而集成,会发现照着别人的流程做,别人的没有问题自己的有问题,同样的错误解决方法适用于别人的模型,不适用于自己的。

我要处理的算例是一个L型的支架,约束条件是均布载荷下最大应低于上限值,目标函数是结构质量最小,一阶频率最大。优化思路是在catia中参数化建模,更改参数值即可实现模型的自动更新,每次更新的模型导入abaqus中分别计算模态和均布载荷作用下的应力值,isight根据计算结果,更改模型参数值,反复迭代计算优化的过程。

5.7含自带的catia和abaqus组件,自己也花了些时间尝试下的,可以集成,但有其局限性,个人推荐用simcode集成,虽然步骤繁琐点,但是灵活性更好,适用于不同的机子。

catia参数化建模和宏命令

catia建模咱都会,参数化的话即把相关尺寸用参数代替,这样我们只需要更改参数值便可实现模型的更新,而无需重复建模,具体的操作步骤请百度一下。

以上便是参数化的L支架模型,参数已在模型上象征性标出

.txt文件是catia自己可以输出的参数设计列表,更改参数值,你会发现模型出现更新提醒,但是需要手动执行更新

那如何实现模型的自动更新的呢?我的做法是用宏命令记录我手动更新的过程,宏命令的具体操作步骤也请百度一下的吧。

宏录制——更改.txt参数值——打开模型——手动更新——保存模型——退出模型

这样会生成一个.catvbs宏命令文件,更改.txt中参数值,然后双击.catvbs,稍等片刻你会发现模型更新了。

{插播一下:你一定惊奇于宏命令的NB,但需要指出的是catia中宏命令并不是万能的,许多操作并不能被记录。

比如说我们迫切想提取出模型的质量或者体积作为优化设计的目标,但是很无奈宏命令无法直接记录手动测量的过程,需要二次开发。

身为二次开发小白,为之深深痛苦,直到偶然发现abaqus可以提取时,便暂时放弃了catia 中提取模型的质量属性信息。

但还是迫切希望哪个二次开发大牛能帮忙解决这个技术难题}

到此是不是catia的集成就结束的呢,答案是否定的。catvbs文件是isight无法直接执行的命令,如何让isight可以自动执行的呢?

批处理!建立.bat的批处理文件,一种写法如下:

"F:\Program Files\Dassault Systemes\B20\intel_a\code\bin\CNEXT.exe" -batch -macro "D:\Isight\temp\lzj.catvbs"

我用的都是绝对路径,虽然麻烦点,但不容易出错

至此,catia的参数化建模和批处理命令便完成了,成功标志是更改.txt中参数值,执行.bat 模型可以自动完成模型更新。

abaqus集成过程

catia中驱动模型更新的是其宏命令,实际在abaqus中也存在这样的“宏命令”,甚至更好用。我们在abaqus每一步的操作都记录在abaqus.rpy中(在工作目录下),用UltraEdit或者其他文本编辑器打开,你会发现随着你的操作步骤,文本内容会更新。

每次启动abaqus时,abaqus.rpy中的内容会清空。

更神奇的是,将abaqus.rpt的后缀名改成.py,abaqus可以运行该脚本,具体的请参考论坛的abaqus版块。

好了,具体到该算例的具体操作是:

首先,同常规模态分析一样,导入catia模型到abaqus中,进行一系列的设置,提交运算,保存cae模型,退出软件。

重新启动软件,打开cae模型,删除零件,重新导入catia模型,进行一系列的设置,提交运算,保存模型,退出软件。

将abaqus.rpt文件拷贝过来,改成.py文件,便可以用RunScript运行,在窗口命令行,我们可以看到运行步骤。

打开.dat文件,惊喜的发现里面不仅有各阶固有频率还有质量属性信息,这样在catia中没有实现的,在abaqus中得到实现(经对比,catia和abaqus测量结果很接近)。

如何实现.py脚本的自动运行的呢?

批处理!建立.bat的批处理文件,一种写法如下:

"F:\SIMULIA\Abaqus\Commands\abq611pr3.bat" cae noGUI=lzj_modal.py

分布载荷作用下L支架最大应力的操作与之类似,不同的是需要加上输出设置。

重新启动软件,打开cae模型,删除零件,重新导入catia模型,进行一系列的设置,提交运算,打开.odb文件,输出.rpt,保存模型,退出软件。

批处理命令同上。

至此,abaqus集成便完成了,成功标志是双击.bat文件,可以实现新一轮的计算。

isight集成过程

isight创建如下的流程图,分别设置input、command和output即可:

需要指出的是文件路径的问题,这也是自变量变计算结果不变的“罪魁祸首",这不是个案,大面积的出现这样的问题

具体的文件路径设置,请看附件.zmf文件~

优化算法,选的是pointer专家算法,设置比较简单,具体各个算法含义请参见《Isight参数优化理论与实例详解》。

需要说明的是,尽管这本书某些方面讲的比较简略,但再没有其他辅助资料的情况下,这还真是不错的参考资料~

附几张计算结果图

当万事俱备,提交不报错的时候,无疑是优化人最欣喜最富成就感的时候,之前的百般尝试

愁肠百结也是值得的

但是,集成只是优化的第一步,最最基础的一步!下面一句话与大家共享,希望随着isight 的完善和论坛的建设,我们可以把花在集成上的时间和精力做更深入的研究。

大ps:以上的集成方法只是本人一家之言,某些步骤说不定可以优化。虽说是详解,但真正叙述起来发现真的不是那么回事,截图排版啥的挺费劲的。先写这么多的,本人还是喜欢具体问题具体分析的,大家有什么疑问,我们具体讨论的吧~

相关文档
最新文档