问题描述
在我们处理电池包或者其他模型时会遇到一个问题。当有几十个相同的部件如电芯(一个pcak中可能有几十上百个cell)需要对它进行边间命名或者赋予功率等操作,如果我们一个一个设置,那会非常麻烦。如果大家使用过fluent知道,fluent在边界条件处理时有一个copy的功能,可以简单替换。在star中我们该如何处理呢?那么问题来了,下面我们来聊一下如何解决?
处理方法
这里需要用到star中的一个宏录制,使用一些简单的java的语句来实现这个批处理操作。
今天我们来做个案例,一个电池模组的前处理,我们需要对边界进行命名,对发热功率进行输入。以此来说明一下这个应用。
2.1 模型导入
对于处理电池包来说,导入时最好选择每个零部件创建一个表面,要不然我们模型比较脏的话,会导致很多面处理起来会极其麻烦。
2.2 录制需要处理的宏
模型有14个cell,为了后处理方便,需要将每个cell的面都分别命名出来,后面查看相关信息的话更好定位。
然后点击开始宏录制
在对cell1进行的faces改为cell1,然后再关闭宏录制,
将宏文件保存。
2.3 修改宏文件
用notepid++打开,对原宏文件进行修改,这里的语言是java。这里记录了将cell 1的faces改成了cell1。
我们要做的就是让他从cell 1自动修改到cell 14,这里需要添加移液管for循环语句,如下图说明。因为我们已经改了cell1,所以直接从cell2,a=2开始。
然后再通过播放宏
可批量改变面的命名。
2.4 批处理加热功率的宏
这里说明一下,在处理电池包发热功率输入时,一,可以转入区域的时候可以将所有的cell合并成一个,输入的发热功率就是一个Pcell*14。还有一种就是每个cell都转一个计算域,这个时候我们就需要输入14次Pcell,可用上述修改宏的方法进行批处理。如下
如果有嵌套的,比如mode1下对应cell1-cell14,有14个model(model1-model14)也可以用两个for语句
小结
本文是简单修改宏的方法,由于我的java水平非常有限,也在刚接触学习,可以通过上述方法可以有效降低重复的工作。分享给大家。这里提一个问题,如果有java高手可以私聊分享解决方法。
依次处理多个不同名字的批处理,比如cell和connerctor两个同时处理,不知道怎么来写。欢迎大家多思考交流。
相关视频内容请关注我的B站账号”CFD萧然“
文章作者:CFD萧然。主要从事热管理工作。CFD小学生一枚,对仿真感兴趣,将本人平时工作学习中了解的不了解的分享出来,希望找到志同道合的伙伴,一起学习,一起进步。