对于使用CAE进行仿真计算的的用户而言,材料的定义是一个细致且繁琐的过程,细致是因为材料参数对于仿真结果至关重要,需要确认每个参数的准确性;繁琐是当材料较多且含有多种属性时,定义和编辑属性的工作量较大。而采用脚本来定义材料是一个很好的方式。大型通用仿真CAE软件WELSIM可以通过自动化测试系统支持脚本定义材料,对于大量的材料集,可以通过XML脚本实现。
本文使用实例,演示在WELSIM下使用脚本建立大量材料数据的方法。
1. 通过GUI建立单个材料数据。(如果对XML语法熟悉,可以参考已有的XML测试文件,自行编写)。打开自动化测试的录制功能。
新建一个材料节点,设置节点名称为Mat001。打开材料编辑面板,按照步骤先后加入密度,各向同性弹性,双线性的各向同性硬化属性。这是弹塑性模型常用的材料属性。
输入相关参数。编辑操作完成后的材料属性显示如下:
2. 测试单个材料数据文件。
点击停止录制按钮,图形化操作宏命令录制完毕,脚本自动生成。使用文本编辑器打开录制好的XML文件,稍作修改,删除冗余的部分,即可得到单个材料的脚本。如下图所示,绿色方框部分是其他材料的修改部分,用于拓展得到其他材料。分别是材料节点在项目树窗口中的位置,材料名称,材料节点ID,和材料属性参数。
3. 复 制粘贴单个材料,并做相应修改。
将上图中的文本进行复 制粘贴,并修改绿色方框部分,即可得到一个新的材料。本文一共创建21个材料。材料属性的参数如下表所示,均采用双线性各项同性硬化塑性。
Name | Density(kg/m3) | Young’s Modulus (GPa) | Poisson's Ratio | Yield Stress (MPa) |
Mat01 | 7850 | 210 | 0.2 | 355 |
Mat02 | 6361 | 293 | 0.19 | 375 |
Mat03 | 5751 | 152 | 0.13 | 461 |
Mat04 | 5855 | 174 | 0.1 | 355 |
Mat05 | 6377 | 165 | 0.11 | 555 |
Mat06 | 5504 | 233 | 0.11 | 276 |
Mat07 | 5760 | 167 | 0.16 | 460 |
Mat08 | 6154 | 199 | 0.1 | 283 |
Mat09 | 5360 | 275 | 0.3 | 591 |
Mat10 | 7340 | 182 | 0.14 | 509 |
Mat11 | 6387 | 248 | 0.28 | 502 |
Mat12 | 5939 | 214 | 0.2 | 438 |
Mat13 | 7436 | 170 | 0.27 | 509 |
Mat14 | 7907 | 221 | 0.28 | 502 |
Mat15 | 6037 | 153 | 0.16 | 438 |
Mat16 | 7186 | 173 | 0.23 | 509 |
Mat17 | 5931 | 211 | 0.27 | 422 |
Mat18 | 7746 | 219 | 0.17 | 414 |
Mat19 | 5674 | 287 | 0.17 | 415 |
Mat20 | 7088 | 207 | 0.11 | 428 |
Mat21 | 5719 | 153 | 0.11 | 498 |
4. 完成脚本,运行并调试。
至此脚本编辑已经完成,可以运行并测试。运行完成后,可以直接进行接下来的仿真分析工作。也可以导出材料数据,在其他软件中打开。如下图所示WELSIM中导出的材料在MatEditor中打开。
总结
本例使用的脚本文件已经开源,并保存在WelSim的公共测试库中,文件名称为06018_create_multiple_materials.xml。本例共创建21个材料数据集,每个材料的属性相似,只是具体数值不同。此外,也可以在脚本中添加不同的材料属性,支持更加多样性的材料集。
使用脚本创立材料集,可以有效的节约编辑时间,不易出错,同时易于维护,已经编辑好的脚本稍作修改即可用于其他材料集,可拓展性强。是快速建立和维护大量材料集的理想方式。
定义材料的脚本语言根据CAE软件会有所不同,本例使用XML,有些CAE软件可能会使用其他语言,如Python或Javascript等。