作者 | 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仿真专家之路公众号,侵删)
和记娱乐怡情博娱188的版权与免责声明:
凡未注明作者、来源的内容均为转载稿,如出现和记娱乐怡情博娱188的版权问题,请及时联系和记娱乐怡情博娱188处理。我们对页面中展示内容的真实性、准确性和合法性均不承担任何法律责任。如内容信息对您产生影响,请及时联系和记娱乐怡情博娱188修改或删除。
[cst技术文章] cst教程-pcb近场辐射仿真......
2023-12-15
[cst技术文章] cst教程-pcb近场辐射仿真......
2023-12-15
[cst技术文章] 如何利用python批处理cs......
2023-12-15
2023-12-15
2023-12-15
[cst技术文章] cst的qa问题合集5-cst......
2023-12-14
[cst技术文章] cst的qa问题合集4-cst......
2023-12-14
2023-12-14
2023-12-14
2023-12-14
[有限元技术文章] abaqus如何建模?abaqus有限元......
2023-07-07
2023-08-24
[有限元技术文章] 关于2013版的thinkdesign用......
2014-06-20
2017-05-19
[有限元技术文章] thinkdesign技术在创新设计中的......
2015-03-03
[有限元技术文章] 基于thinkdesign回弹补偿功能的......
2015-03-03
[有限元技术文章] td styling之眼镜三维建模、渲染......
2015-03-03
[有限元技术文章] 初探thinkdesign的回弹补偿功能
2015-03-03
2015-03-03
2017-05-19
2023-12-15
2023-12-15
[有限元知识] abaqus分析指南92:将结果从对称网......
2023-12-14
[有限元知识] abaqus分析指南91:局部三维模型的......
2023-12-14
[有限元知识] abaqus分析指南90:本地定位系统和......
2023-12-12
[有限元知识] abaqus分析指南89:定义具有恒定角......
2023-12-12
[有限元知识] abaqus分析指南88:轴对称元与三维......
2023-12-08
2023-12-08
2023-12-07
2023-12-07
地址: 广州市天河区天河北路663号广东省机械研究所8栋9层 电话:020-38921052 传真:020-38921345 邮箱:thinks@think-s.com
和记娱乐app官网登录 copyright © 2010-2023 广州思茂信息科技有限公司 all rights reserved. 粤icp备11003060号-2