学习,是一个日积月累的过程……
 

电磁场仿真软件CST原版宏:ParameterMesh的修改版(自动更新参数取值)

作者:Aaron    博客:微亮的烛光

说明:我在学习和使用电磁场仿真软件CST的过程中,首先建立了参数化的结构模型,然后想通过改变结构参数的取值,让CST自动对不同的结构进行仿真计算。但是CST自带的宏程序无法完全满足我要求的功能,于是自己就简单学习了一下VBA语言,然后修改了原版的VBA宏文件,基本实现了一些自定义的功能。最后,无论是CST软件还是VBA编程,我现在只算是略懂皮毛,分享只为学习交流,所以不足之处还请谅解,欢迎批评指正。

原版宏:Wizard / Parameter +Mesh Study

源文件:见CST软件菜单中Macros->Edit/Move/DeleteVBA Macro ->Global Macro

功能:首先选择参数的个数和名称,并设置相应的起始值、步长和结束值,然后宏程序会自动扫描所有取值范围内的参数设置并仿真。

限制:如果用户只是想仿真所有参数设置中的个别几组设置或者有一些参数设置的组合会造成仿真无法进行等问题时,原版宏显然无法高效完成所有仿真目标。

 

修改版:ParSweepV05

         源代码:ParSweepV05.txt

         代码说明:ParSweepV05说明.txt

功能:采用TXT文本文件输入参数设置的方法,实现只扫描用户自定义的参数设置组合进行仿真分析。

源文件:

使用前提:

  1. 用户在使用CST软件建立物理模型的过程中,至少建立了1个变量

  2. 用户需要将自己想要仿真的参数设置按照后文规定的格式写入TXT文件中

  3. 以防万一,在使用本修改版宏之前,请备份原版仿真文件

使用方法:

  1. 将ParSweepV05源文件中的内容导入到CST软件中,并生成宏

  2. 将用户设置的格式化参数文件(TXT文档)放到仿真文件夹的根目录下

  3. 运行ParSweepV05进行仿真

  4. 查看输出结果及日志文件

 

详细操作步骤:

一、导入宏文件

  1. 打开下载的源文件ParSweepV05.txt,将其中内容全选并使用Ctrl+C复制

  2. 双击*.cst文件,打开用户的CST仿真工程

  3. 点击菜单中的制作宏选项:Macros->MakeVBA Macro


    4.在弹出的对话框中设置宏程序名称ParSweepV05:

选项说明:前两个单选框按默认选择Control Macro即可,最后一个复选框(Make globally avaliable)如果选中,会使得这个宏在本机的CST软件打开的所有工程都可用,否则只在本工程中可用。


    5.点击OK,会进入宏编辑界面,将其中内容全部删除,并将之前复制的内容Ctrl+V拷贝进来。


    6.点击保存按钮,现在可以在Maxros菜单下找到ParSweepV05的选项了,不过现在还不能成功使用

二、创建参数文件

  1. 格式说明:参数文件名为ParSets.txt,必须包含CST参数列表中所有参数,且要放在工程文件夹的根目录下(与*.cst同一目录)



    2.根据CST工程中的参数列表,将参数名写入ParSets.txt文件的首行,以制表符间隔


    3.根据首行参数名的顺序,依次写入参数的取值,以制表符间隔。每一行的参数取值代表一次仿真的参数设置,有多少行参数设置就会进行多少次仿真,请务必保证每一行的参数设置至少有一个参数的取值与其他行不同。


    4.保存文件并关闭

三、仿真

    1.在CST软件的工程界面,打开Macros菜单,会看到ParSweepV05的选项,在Macros菜单的顺序可能不同


    2.确保已经备份全部工程文件,点击ParSweepV05,会弹出对话框显示参数的总数,如果确认无误,点击OK按钮


    3.这时会显示一个当前所有参数的初始值列表,对仿真时的取值没有影响,点击OK按钮


    4.在自定义的程序中已经屏蔽了设置参数范围的功能,点击Start Parameter Study即可


    5.选择要使用的求解器,点击Start按钮开始仿真


四、查看结果

  1. 在仿真完成后,可以在CST界面查看所有的1D仿真结果,若要查看电场分布等内容,需要进入工程根目录查看。

  2. 在工程根目录,会有一个名称为“工程名字_sweep_序号”的文件夹,这就是仿真结果的存放路径,工程名字就是当前工程的名字,其序号的值代表这个是用户第几次运行ParSweepv05所产生的结果。

  3. 进入这个文件夹,每一个以“Set序号”命名的.cst文件都对应一种参数设置下的仿真工程,双击打开即可查看,其序号的值代表在该次仿真所使用的参数设置是ParSets.txt文件中除了首行外的的第几行的参数取值。

  4. 在这个结果文件夹内,还有若干日志文件用于记录每次仿真的时间和参数设置,例如ParSwLog.txt和ParSwPost.txt,在ParSweepV05说明.txt中有简单说明。

 

本文内容修改自CST软件原版VBA宏:Wizard / Parameter + MeshStudy,仅供学习和交流。

由于个人水平有限,不足之处还望多多包涵,欢迎批评指正。

                                                                                                       By  Aaron


 
评论(4)
 
热度(2)
© 微亮的烛光|Powered by LOFTER