找回密码
 注册
Simdroid-非首页
查看: 1786|回复: 34

[脚本编程] Maxwell 2D参数化后处理宏编写小技巧

[复制链接]
发表于 2007-7-31 13:38:36 | 显示全部楼层 |阅读模式 来自 湖北荆州
Maxwell 2D参数化分析时,后处理结果有时人工处理非常不方便,此时就需要用宏的方法来解决,这里只是提出一种解决方案,如果大家有更好的方法,请多多交流。
1、如何获取当前计算的参数值
在2D后处理中不可以直接调用前处理中的变量(目前我没有找到直接访问变量的方法,有的话请告诉我),所以只有想办法获取当前变量值,通过文件查找可以发现,在每步变量分析时,initial.cn2文件中包含当前变量值的信息,例如以下内容就是来自initial.cn2中:
B_SYMTAB
  nThickness = 20
E_SYMTAB
这里有一个变量名称为nThickness,所以以下的宏就是从initial.cn2中获取nThickness的值:
Assign sParaFile "initial.cn2"

#判断文件initial.cn2是否存在
Assign nReturn FileExists(sParaFile)
If EQ nReturn 1
#如果存在就打开这个文件
FileOpen sParaFile

#从文件中格式化读取数据,将数据列表存到strList中
Assign strList FileRead sParaFile '$$"nThickness = "$$l'

#文件读取完成后关闭文件
FileClose sParaFile

#将数据列表中的第一个数据赋给nValue
Assign nValue Component 1 strList
End

这样nValue中就保存的是20了,有了这个值,就可以在保存后处理结果时区分不同的曲线、或者存为不同的文件

2、如何导出一条直线上的磁感应强度
这个问题我在以前的一个帖子上说过,具体命令的用法要参考宏手册,下面这个宏就是将一次求解结果时输出一条直线上的磁感应强度曲线,并且是整个分析过程中的所有结果都保存在一个文件Result_LineIn.dat中,而曲线的名称则定义为LineIn+nValue的值,通过这个就可以方便的区分每条曲线的意义,要观察图形,直接使用Plot程序打开即可。
EditPline "LineIn"
AddVert [12, 0, 0]
AddVert [12, 249.75, 0]
EndPline 0

Enter "B"
Mag
smooth
EnterLine "LineIn"
Assign sFileName "Result_LineIn.dat"
Assign sLineName StrConcat "LineIn" nValue
Assign nReturn FileExists(sFileName)
If EQ nReturn 1
Load2DPlot sFileName
LinePlot2D sLineName 10 2 3 1 0 1 0
Else
LinePlot2D sLineName 10 2 3 1 0 1 1
End
Save2DPlot sFileName
CloseWindow

Clear
DeleteLine "LineIn"

3、如何输出整个参数化求解过程中一个点的值
与输出直线的方法类似,只是这里文件输出要采用直接读写的方法:
DefinePoint "PtMid" [15, 14, 0]
FileWrite sFileName "a" "$$\t" {nValue}
Enter "B"
Mag
EnterPoint "PtMid"
Value
Evaluate
Assign nTemp GetTopEntryValue
FileWrite sFileName "a" "$$\t" {nTemp}


Clear
DeletePoint "PtMid"

输出文件每一行代表一步的结果,第一个数据是当前的参数值,第二个是求解结果,这个文件可以用写字板查看。

文中没有对宏进行详细解说,具体使用方法参见官方手册中的Introduction to the Ansoft Macro Language.pdf。

评分

1

查看全部评分

发表于 2007-7-31 14:11:08 | 显示全部楼层 来自 安徽合肥
Simdroid开发平台
望hottomson兄常写些ansoft的使用心得体会。谢谢!
回复 不支持

使用道具 举报

发表于 2007-7-31 23:55:24 | 显示全部楼层 来自 美国
same to you
回复 不支持

使用道具 举报

发表于 2008-6-5 00:55:00 | 显示全部楼层 来自 辽宁沈阳

回复 1# 的帖子

再问下hottomson兄和perch88师姐,Maxwell2D瞬态场能否参数化求解了?
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-5 10:05:39 | 显示全部楼层 来自 湖北荆州
Maxwell2D瞬态场目前的11版本还不支持参数化求解吧,新发布的12还不知道是否支持参数化求解,如果不支持也可以利用它的全程脚本功能+丰富的vbs脚本功能实现参数化求解。
回复 不支持

使用道具 举报

发表于 2008-6-6 00:44:36 | 显示全部楼层 来自 辽宁沈阳

回复 5# 的帖子

hottomson兄太牛了,话说我Ansoft的脚本功能还未使用过,有机会跟大哥请教了!
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-3 09:37:41 | 显示全部楼层 来自 湖北荆州
2D中宏的调用方法有两种:
1、让软件自动执行后处理宏
在setup executive parameters中有Post Processor Macros设置,这里可以选择需要执行的宏。

注意宏的位置是有要求的,应该在项目目录(*.pjt)中建立新的目录postfld2,并将宏文件放在这个位置,这样在Post Processor Macros设置时才会出现在可用宏列表中。
2、手动执行后处理宏
在后处理界面中,通过File-Macro-Execute或者通过快捷按键Ctrl+F3来选择宏文件执行.
关于宏的编写说明可以参考官方手册中的Introduction to the Ansoft Macro Language,文件名可能是3dmacro.pdf

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2008-7-17 23:01:40 | 显示全部楼层 来自 辽宁沈阳

回复 7# 的帖子

才注意到这个帖子,一年前就有啦!hottomson大哥相当厉害了,佩服
回复 不支持

使用道具 举报

发表于 2008-9-6 19:14:53 | 显示全部楼层 来自 大连理工大学
谢谢啊, :victory:
回复 不支持

使用道具 举报

发表于 2009-1-18 20:44:39 | 显示全部楼层 来自 陕西西安
谢谢,正要用着功能呢
回复 不支持

使用道具 举报

头像被屏蔽
发表于 2009-2-9 21:14:07 | 显示全部楼层 来自 辽宁沈阳
提示: 该帖被管理员或版主屏蔽
回复 不支持

使用道具 举报

发表于 2009-3-30 12:24:05 | 显示全部楼层 来自 浙江杭州
还没用过宏 学着用用
回复 不支持

使用道具 举报

发表于 2009-4-19 23:35:02 | 显示全部楼层 来自 黑龙江哈尔滨
没用过宏 不过确定楼主很强大!
回复 不支持

使用道具 举报

发表于 2009-5-11 12:48:08 | 显示全部楼层 来自 江苏南通
能不能帮我搞下 电感与转子位置的模型呀
回复 不支持

使用道具 举报

发表于 2009-6-10 15:15:35 | 显示全部楼层 来自 山东济南
学习了!但是我是个新手,不知我说的这种情况能不能通过宏处理来实现呢,就是我想看空间内固定的一点随时间变化的磁场变化曲线。因为用瞬态仿真时是按时刻来分别存储文件的,若可以用宏,那么我的宏文件需要在工程的什么地方定义呢,谢谢!望高手赐教。。
回复 不支持

使用道具 举报

发表于 2009-7-4 14:20:40 | 显示全部楼层 来自 浙江杭州
hottomson兄太牛了,话说我Ansoft的脚本功能还未使用过,有机会跟大哥请教了!
回复 不支持

使用道具 举报

发表于 2009-7-30 16:23:34 | 显示全部楼层 来自 黑龙江哈尔滨
谢谢hottomson版主
回复 不支持

使用道具 举报

发表于 2009-8-29 22:59:48 | 显示全部楼层 来自 浙江杭州
不错不错 学习了
回复 不支持

使用道具 举报

发表于 2009-10-3 10:09:41 | 显示全部楼层 来自 北京
Maxwell2D瞬态场目前的11版本还不支持参数化求解吧,新发布的12还不知道是否支持参数化求解,如果不支持也可以利用它的全程脚本功能+丰富的vbs脚本功能实现参数化求解。
回复 不支持

使用道具 举报

发表于 2009-10-4 11:54:29 | 显示全部楼层 来自 美国
毫无疑问,v12支持瞬态场参数化求解
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-21 00:01 , Processed in 0.055345 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表