作者 | Ma Bin
如果对于一个CST仿真模型,我们需要不断的尝试各种参数组合,以比较不同参数组合下的计算结果,那么我们应该怎么做呢?
方法一:一次一次的打开模型,修改参数并且启动仿真,然后保存每一次的结果?
方法二:进行一些参数扫描,甚至是迭代的进行多个参数的扫描?
显然,方法二适用于每次只变1-3个参数,如果每次需要改变的参数很多,并且参数的变化没有规律,那么这种嵌套的扫参方式会计算一些无用的参数组合结果,不仅浪费时间还多占用内存。
如果只需进行3次或者5次的参数组合,那其实直接用方法一,就是最高效最简单的办法。但是如果参数的组合数上升到50次甚至500次,那我们就需要寻求另一种方法了,这也是这篇文章中我想跟大家介绍的利用Python进行批处理的方法。
方法三:利用Python进行批处理
我们以一个CST自带的喇叭天线为例,这里的监视器做了删减,只保留了三个频点的远场监视器,我们关心的是天线的远场性能和S参数。
在这个喇叭天线模型中,有很多参数。我们创建一个Excel,命名为Parameter List,然后输入三组天线的参数,这里我们只改变其中三个参数。需要注意的是,参数的修改必须是合理的,否则会造成3D建模报错,进而会导致Python代码运行不成功,无法达到批处理的效果。
在CST中,我们还需要设置两个后处理模板,一个是导出远场方向图,另一个是导出S参数。这里的结果导出,可以根据需要随意调整。
在Python脚本中,有以下几个重要的组成部分。
· 导入必要的库,包括CST的库:这里主要是导入DesignEnviroment,它可以控制CST的打开和关闭;其他的库比如xlrd、numpy、matplotlib等等视需要而定;
· 读取参数列表:从Excel中读取我们需要的参数组合;
· For循环:遍历Excel中所有的行,每个循环中嵌套CST的打开、修改模型、仿真、导出数据最后关闭CST等一系列操作。
· CST控制:完成指定CST仿真工程的打开和关闭,按照Excel中的参数修改模型的parameter list,选择求解器并启动仿真。其中,将Excel中的参数传递给CST,并控制CST的parameter list进行参数修改,主要参照下面的代码;
· 数据导出:CST中设置的后处理模板,会将需要的结果保存到所在工程文件夹下的Export文件夹中,需要通过Python将每次循环计算的结果抓取并存放到指定output文件夹中。
· 数据绘图:利用Python可以对每次计算的结果进行绘图,在批处理完成之后,可以对每种参数组合的主要结果进行预览。这一步可有可无,按需取舍。
运行Python代码,如下图,可以显示Number of Antenna和 Parameter name等等信息,还可以显示目前的进度。当然这里也可以显示CST模型的网格数量,端口数量等等用户关心的信息,只需要加代码即可。
随后,在指定的output文件夹内,可以看到导出的数据,这里的数据都自动加了前缀以便区分。值得说明的是,在本例中我们关心的是每个喇叭天线的S参数和远场性能,所以这里就只抓取了这些结果。如果需要场源文件、电场数据等等,都可以通过后处理+Python的方式抓取并保存。
最后,将每个天线的主要性能都用Python绘制出来,方便查看。
也可以将同类的数据都绘制在一起,更方便对比。当然,这个比较灵活,根据需要修改代码即可。
最后做个总结,以前CST软件的二次开发多以VBA语言为主,近年来,细心的读者已经发现我们开放了很多Python的接口,因为Python的开源性、可扩展性以及可读性使得它更容易被电磁工程师接受和上手。
在本例中,我们展示了利用Python批处理CST的仿真工程,并抓取我们所关心的结果。当我们需要进行大量的重复性仿真时,我们可以尝试编写一段python脚本帮助我们,正所谓磨刀不误砍柴工嘛。
(内容、图片来源:CST仿真专家之路公众号,侵删)
版权与免责声明:
凡未注明作者、来源的内容均为转载稿,如出现版权问题,请及时联系我们处理。我们对页面中展示内容的真实性、准确性和合法性均不承担任何法律责任。如内容信息对您产生影响,请及时联系我们修改或删除。
2025-07-18
2025-07-18
2025-07-18
[ABAQUS] 有限元仿真软件Abaqus在钣金成型的优势有哪些?
2025-07-16
2025-07-15
[ABAQUS] 什么是多孔结构压缩?Abaqus多孔结构压缩怎么做
2025-07-15
[ABAQUS] Abaqus的参数化建模方法在实际工程结构设计中有哪些应用
2025-07-14
[行业资讯] 达索系统SIMULIA Abaqus接触分析技术论坛即将开
2025-07-14
[CST] 做电机电磁仿真用哪款仿真软件?CST studio sui
2025-07-14
[ABAQUS] ABAQUS仿真最容易出错的10个报错问题
2025-07-11
2023-08-29
2023-08-24
[ABAQUS] ABAQUS如何建模?ABAQUS有限元分析教程
2023-07-07
[ABAQUS] 有限元分析软件abaqus单位在哪设置?【操作教程】
2023-09-05
[ABAQUS] Abaqus怎么撤回上一步操作?Abauqs教程
2024-05-01
[ABAQUS] abaqus里面s11、s12和u1、u2是什么意思?s和
2023-08-30
[ABAQUS] Abaqus单位对应关系及参数介绍-Abaqus软件
2023-11-20
[ABAQUS] ABAQUS软件教程|场变量输出历史变量输出
2023-07-18
[ABAQUS] Abaqus中的S、U、V、E、CF分别是什么意思?
2024-05-11
2025-07-15
[行业资讯] 达索系统SIMULIA Abaqus接触分析技术论坛即将开
2025-07-14
[有限元知识] 有限元分析中,杆单元与四边形单元的混合应用方法
2025-07-09
[有限元知识] 达索官方fe-safe、Isight常见QA
2025-07-07
2025-07-04
[有限元知识] SIMULIA一文读懂系列|面向航空降噪设计的PowerF
2025-07-02
[行业资讯] 一文读懂!达索正版Abaqus、CST仿真软件授权与价格
2025-07-01
[行业资讯] 发现电机噪声背后的答案Manatee e-NVH仿真工具概
2025-07-01
[有限元知识] 达索系统 SIMULIA Isight仿真流程自动化与多学
2025-06-26