MagicDraw建的SysML模型、Abaqus/CAE建的CAE模型、modeFrontier建的DOE模型、Python程序之间总是有那么一些联系让人在忐忑中找到兴奋点。
1 SysML与CAE模型
从模型树上看,模型都是由各种类型的元素组成的,各种元素有机组合成具有一定功能的模型。在建模过程中有个共同点:实例化。在Abaqus中建立一个Part,在装配中可以多次使用该Part,每使用一次即该Part实例化一次。同样,SysML模型中也有大量类似处理,在各种语言的编程中就更不用说实例化的重要性了。实例化,是建模或编程需要理解的一个概念。
下图左为Abaqus模型树,右为SysML模型树。
2 SysML与DOE
SysML模型的参数图具有计算功能,通过排兵布阵、建立约束、设计算法,完成复杂计算。DOE模型也大致如此,只不过DOE/MDO软件封装了一些先进的算法。下图左为modeFrontier模型,工作流包含数据流、控制流两部分。SysML模型的活动图也有类似的以线表示的流(项流、控制流)下图右为SysML的参数图,用于系统参数计算。
上面左图中的DOE图见于《基于Abaqus和modeFRONTIER的复合材料结构优化设计方法》,本人11年前的一篇期刊论文,只不过期刊上的图是灰度图。
3 SysML与Python
SysML与Python,从对比和关系两方面讲。
对比,参数图中约束块的端口名称相当于Python程序(或其他各种编程语言)定义的类、方法、函数中的参数及返回值。约束块在参数图中的应用相当于实例化,相当于Python的一个定义好的类或方法等被使用一次。约束块的名称及实例化对象S1 : Single Phase…… 就相当于Python程序的cal=Cal_euler……( )。
关系,就是下面要讲的在约束块中使用Python语言定义约束。
4 SysML约束编辑语言设置
右单击约束块,快捷菜单Language下级菜单选择语言。
在模型树中找到约束块,右单击约束,使用快捷菜单打开Specification……对话框,找到Specification项进而打开Specification对话框,选择语言,在Body区域编辑约束。
5 编辑参数图连线
约束块从模型树拖放到参数图后,会自动打开Parametric Equation Wizard对话框,可以完成约束块端口和参数的连线。
二次打开该对话框的顺序如下,选中约束块,单击下图红圈中工具即可。
6 小结
模型总有异曲同工之处,
人生总有漂浮不定之时。