利用Flowproc实现DesignLife疲劳批处理运算

随着国内企业实力的增强,多数客户购买了高性能计算机。CAE耐久工程师熟悉了nCode DesignLife软件的分析功能,希望提升分析精度和分析效率,需要将复杂的计算任务提交到高性能计算机批处理运算。因此SWINS小编整理了一篇有关批处理运算的文章。nCode2020版本的用户可以索取分析演示流程,欢迎大家测试并留言。

关键字:批处理运算;Linux;DOS;DesignLife

类别:nCode DesignLife 软件使用

1 引言

nCode软件提供了一个优秀的用户交互界面,工程师只需要打开软件,就可以轻松的搭建分析流程。但为了提高分析效率,CAE分析部门可能也希望将复杂分析运算任务提交给高性能计算机,用户客户端仅负责提交任务和查看分析结果。nCode DesignLife软件实际上提供了Flowproc和DTproc两种批处理运算模式,可以通过命令行的方式提交运算。

本文将简单介绍如何使用Flowproc进行批处理运算,这一模式相对简单,只需先搭建DesignLife分析流程并预先定义流程参数,将其保存为批处理流程,然后,将批处理相关文件上传到高性能计算机,通过命令行提交批处理运算。较为复杂的DTproc运算模式将在后续文章中介绍。

2 Flowproc批处理运算案例

笔者通过一个分析案例来演示利用Flowproc进行DesignLife疲劳批处理运算的过程。
首先,在客户端电脑搭建DesignLife分析流程。依据疲劳分析五框图搭建疲劳分析流程,如图1所示。流程中的E-N疲劳分析求解器和输出Glyph,需设置相关参数,如表1所示。



图1 DesignLife分析案例流程

表1 分析流程中Glyph信息


检查并测试DesignLife分析流程后,保存为批处理流程文件(下拉菜单File-> Save Process for Batch)。保存后生成三个文件,文件后缀分别为flo, bat和script。

flo文件编辑 flo文件为DesignLife分析流程文件,内容如图1所示。flo文件的编辑必须打开nCode软件修改。

script文件编辑 script为脚本文件,通过修改或编辑此脚本文件,可以控制对DesignLife流程的执行命令。比如脚本中需要读入两个输入文件,分别为有限元结果输入(bracket.rst)和载荷输入(bracket.dac)。当需要选取其他有限元结果输入或者载荷输入时,打开脚本文件(script)进行修改。

DoCommand("WS1.FEInput1", ClearFiles)
DoCommand("WS1.FEInput1", AddFiles, "bracket.rst;afe;c1")
DoCommand("WS1.TSInput1", ClearFiles)
DoCommand("WS1.TSInput1", AddFiles, "bracket.dac;ats;c1")

如果要修改DesignLife流程中各Glyph的属性,需要调整preference中的SavePropertiesWithBatchscript参数为True,则各Glyph可调整的属性将写入到脚本文件中。

如:/Applications/GlyphWorks/SavePropertiesWithBatchscript=True

通过脚本文件可直接修改flo文件中各Glyph的属性设置。比如,图2中的ENAnalysis Glyph的属性项中,AnalysisGroup_SolutionLocation原默认为AveragedNodeOnElement,通过SetProperty命令可修改为Element,如下:

SetProperty("WS1.ENAnalysis1","AnalysisGroup_SolutionLocation","Element")


图2 ENAnalysis Glyph的属性配置

bat文件编辑 bat文件为包含DOS命令的可执行文件(Linux系统为 .sh文件),在DOS命令中调用或者直接双击可以执行此文件内的命令。批处理命令行语法如下:

flowproc /flow=name.flo /verbose=yes /script=name.script / *=tt

适用于Windows系统的示例(保存为*.bat):

"C:\Program Files\nCode\nCode 2020.0 64-bit\GlyphWorks\bin\flowproc"
/flow=SWINS_eN_bracket_batch_v2020.flo /script=SWINS_eN_bracket_batch_v2020.script
/verbose=yes
/batlog=SWINS_eN_bracket_batch_v2020.log

适用于Linux系统中示例(保存为*.sh):

"……/flowproc2020"
/flow=SWINS_eN_bracket_batch_v2020.flo
/script=SWINS_eN_bracket_batch_v2020.script
/verbose=yes
/xserver=no
/batlog=SWINS_eN_bracket_batch_v2020.lo

最后,直接在DOS窗口运行可执行文件bat(Linux系统中运行sh文件),即启动了nCode软件的flowproc批处理运算。运算任务完成后,将会按照预设的要求输出分析结果。本例的输出结果为csv文件,运算结束后将会看到这一文件,如图3所示。



图3 疲劳分析CSV文件

3 小结

使用Flowproc方式进行批处理运算,适用于将大计算量DesignLife分析任务提交到高性能计算机批处理运算。流程中的数据导入和属性修改,可通过编辑script脚本文件控制。bat文件负责引导分析流程、脚本文件和DesignLife软件后台运算。通过命令行调用,还能够和第三方软件连接,实现多学科复杂分析。

参考文献

[1] Glyph Reference Guide, HBM-nCode , 2020
[2] Batch Operation User Guide, HBM-nCode , 2020

相关文章

扫描二维码关注我们

扫描二维码 关注我们