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

[脚本编程] 实现近似求解:maxwell3d电导率随电流非线性变化(script脚本方式)

[复制链接]
发表于 2008-6-12 02:53:03 | 显示全部楼层 |阅读模式 来自 美国
全文连接:http://e.simwe.com/34599/viewspace-8137

在maxwell3d version 11中不能设置随电流变化的电导率(Magnet可以做),据技术支持在08年三四月份时说,版本12也不能做。但是我用脚本实现了这个功能,呵呵 脚本如下,里面有注释,较容易懂。内容涉及到定义project variable,文件按指定格式导出等。下面这个文件的扩展名改成vbs。然后再用一个bat文件调用它。bat文件较小,先贴这个:

-----------------以下是bat文件,可以放在任何一个目录,它调用hahaha.vbs

set MAXWELL_DIR=c:\temp
LM_LICENSE_FILE=27000@blablaserver

C:\Maxwell11\Maxwell.exe -runscript. C:\Documents and Settings\perch88\Desktop\hahaha.vbs

----------------以下是hahaha.vbs文件,mymodel.mxwl文件不便公开,未能提供
。。。。。。。。。。。。。

[ 本帖最后由 perch88 于 2008-6-14 00:43 编辑 ]
发表于 2008-6-12 12:27:11 | 显示全部楼层 来自 黑龙江哈尔滨

先不着急鼓掌庆祝,呵呵

Simdroid开发平台
在鼓掌之前,必须搞明白的几个问题:

1)你做的是静态分析,还是暂态分析?

2)maxwell在电流 A1,电导率 K1下计算出一个结果,你要计算电流A2,电导率K2时的结果,请问,如何保证这次计算的结果是在上次的基础上进行的?(你后处理提取得到上一步计算的电流,然后你修改电导率,立马sovle。再没有任何别的操作了。 大概看了一眼你的程序,你是这么做的,对吧?)

3)看看忽略位移电流后的maxwell 方程,见附件。问:电流都知道了,Je就知道了,如果是静态分析的话,你觉得你那变化的电导率还有意义吗?(你制定不指定maxwell都不用)。

4)如果我没有理解错的话,说白了,我手工也可以做到。我后处理里面看一下电流,然后我改一下电导率,我点一下solve。你无非是实现了这样一个自动化,而不用手工操作了,对吗?

呵呵,理解可能有误,望见谅,是个电磁外行,说错的地方大家一定要不客气地指出来,谢谢。

[ 本帖最后由 高贵的点点滴滴 于 2008-6-12 12:36 编辑 ]

本帖子中包含更多资源

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

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2008-6-12 21:42:37 | 显示全部楼层 来自 黑龙江哈尔滨

回复 2# 的帖子

这位新手会员可不是新手,足见功底深厚。
程序我没有仔细看,因为不做电场,一般都是在做磁场,不过希望有个结论,至少对电磁软件的完善也是有益的,还是请perch大姐说清楚吧。
回复 不支持

使用道具 举报

发表于 2008-6-13 13:11:48 | 显示全部楼层 来自 湖北荆州
如果是静态分析,也不需要手工修改数据,利用parametric分析即可一步分析多个变量对:
电导率需要定义为project变量,电流则可以定义为local变量,在parametric分析设置时,对两个变量在sweep definition页面分别添加单值,然后在table页面通过添加和修改需要分析的变量对,然后在calculation页面添加需要计算的结果(只能是单值结果),之后进行parametric求解,在parametricsetup的右键view analysis results中可以以table方式看到求解结果。
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-13 13:18:40 | 显示全部楼层 来自 美国
昨天就写好回帖了,结果发布的时候,说什么问题,后来就论坛维护了,不是我弄坏的吧,呵呵

先回zhaobo_ren贴,这个应该算电磁场,因为要算涡流什么的(这个脚本还没包括)。而且脚本是通用的,用到循环和文件输出都可以参考。版本10和11的命令是有点区别的,这个是11的脚本。

1. 这个是静态分析,也可以是暂态分析。只是暂态分析会复杂一点,那样就看不清主要部分了
2. 说实话,没看明白。对于你的黑字部分"再没有别的操作了",你认为应该有什么操作?我的操作是返回到loop再重新做
3. 同上,我觉得你好像没明白为什么要做循环。maxwell得到的电流永远是用假设的(不管假设有多准确)电导率得到的。(也就是说并不是1+1算出来的2,而是一个1.1+1=2,下一步是修改1.1,加上1再算。。。。由于曲线的非线性,每次都往1逼近)。你为什么可以说这个电流就是Je,很不理解。最后决定假设的电导率ok的条件是个收敛判定条件(也就是循环判定条件),任何迭代最后都是这样结束的,不然就永无止境了。
4. 静态的没错,你当然可以这么做,这个看起来是比BH曲线那个非线性简单多了,因为如果你看一下这个例子中的曲线的话,虽然它是2阶函数,但在工作点附近基本上是y=x,所以才能很快的收敛。这个现象基本上类似于静态分析中定义不同的铁磁材料BH曲线定义的或者工作点不同,计算速度也不同。

如果瞬态当然也可以这么做了。有些东西手工都可以做,不过就是自动化以后你可以回家休息,手工的话,就要受累了。

都能说这么多了,也就不要这么谦虚的说是外行了吧,呵呵 还贴了全英文的公式,估计博士在读,希望能常来指导,嗯

你把曲线改成工作点附近2阶变化的,就能看出来区别了

[ 本帖最后由 perch88 于 2008-6-14 00:53 编辑 ]
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-13 13:34:24 | 显示全部楼层 来自 美国
原帖由 hottomson 于 2008-6-13 13:11 发表
如果是静态分析,也不需要手工修改数据,利用parametric分析即可一步分析多个变量对:
电导率需要定义为project变量,电流则可以定义为local变量,在parametric分析设置时,对两个变量在sweep definition页面分别添 ...


说的太好了,其实跟提出异议的兄弟一样看法,如果静态的话,有多种选择,可以手工,也可以用自带的参数化分析

这个脚本最主要的功能是根据电导率和电流之间的函数关系每次预测下一步的电导率,如果参数化分析的话可能要设定一个范围内分多少步,如果知道函数直接算下一步能节省一些步数。其实这也是实现了手工迭代的功能。

Actually, I would like to give my thanks to Hottomson. He inspired me and helped me a lot while I was writing the code. This was a learning process for me too. I hope everybody can get something out of this or at least feel comfortable of reading it.

sorry. I am gonna stop here. for some reason, I can't input Chinese now.

[ 本帖最后由 perch88 于 2008-6-13 13:41 编辑 ]
回复 不支持

使用道具 举报

发表于 2008-6-13 14:08:58 | 显示全部楼层 来自 黑龙江哈尔滨
好吧长话短说:

瞬态分析,在电流A1,电导率K1下得到一个结果,然后你根据电流修改电导率为K2,然后你sovle。

1)请问:假设进行完一次计算了,在把电导率改为K2,在点solve,你还进行了什么设置?-------------   这是关键

2)你怎么保证这次计算是在上次的结果基础上进行的(你认为程序自动继承上一步的结果?)?                          -------------- 关键的关键

3)你电场已知量是什么?未知量是什么?

4)动态分析中的非线性关系可以这么处理?那所有的不涉及动网格的耦合场(温度,应力,流体,电磁)也太容易了吧?ansys的实常数可已在荷载步之间修改,他都没敢像你这样大胆地用于解决非线性问题。你所要表达的非线性求解的原理和你这里所作的(一次计算完了,根据某个场量,该某个材料参数,计算下一次)根本就不是一类事。

BTW:magnet可以做的是电导率-电压的非线性关系,不是电导率和电流的关系,是的,电压与电导率的非线性关系可以导成电流和电导率的非线性关系,但是为什么magnet不是给出电流与电导率的非线性关系呢?这个从maxwell公式就能看出来。

如果不能保证2)那么,你做的就是一个多个参数话分析,就像tomson说的那样,这些个分析是独立的,而不是一个连续的动态分析(结果存在继承关系),这差别大了。

退100步来说:VBS我也在用,哪个东东是很简单,也见识过tomson在msdn上发表的大作,足见其编程功夫。你觉得你这么容易就搞定的一个问题,ansoft会搞不定,这么简单的一个程序,ansoft开发个小小的界面就跟玩儿似的。

我不是谦虚,我的确是个外行。希望讨论下去,至少有个结果,呵呵 。

[ 本帖最后由 高贵的点点滴滴 于 2008-6-13 14:51 编辑 ]

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2008-6-13 15:50:26 | 显示全部楼层 来自 山西太原
不错的讨论 ,有价值的观点
回复 不支持

使用道具 举报

发表于 2008-6-13 16:09:14 | 显示全部楼层 来自 浙江温州
请教下,电导率是温度函数,只是考虑电流或者电压有没有不妥?
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-13 23:32:14 | 显示全部楼层 来自 美国
原帖由 zysxjtu 于 2008-6-13 16:09 发表
请教下,电导率是温度函数,只是考虑电流或者电压有没有不妥?


谢谢补充!电导率是与温度有关系,但是不同的材料受到温度的影响不一样,这里暂时忽略温度影响。
在现实世界中,需要考虑的影响太多了,实际分析的时候往往只分析重要的影响参数。在时间和精力允许的情况下,再考虑其他的。
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-14 00:39:14 | 显示全部楼层 来自 美国
原帖由 高贵的点点滴滴 于 2008-6-13 14:08 发表
好吧长话短说:

瞬态分析,在电流A1,电导率K1下得到一个结果,然后你根据电流修改电导率为K2,然后你sovle。

1)请问:假设进行完一次计算了,在把电导率改为K2后,在点solve前,你还进行了什么设置?------- ...


我明白你的意思了,真的非常感谢你指出我的问题J

拿磁场来说,BH曲线是非线性的,每个工作点上的permeability都不一样。算出来的结果是每个单元都有一个permeability。电场理论上来说也是一样,每个单元都有一个conductivity,软件能自己算当然最好,现在的问题是maxwell不能算,我们怎么解决这个问题,得到准确或者近似的结果。当然,换软件最容易。。。

我觉得在实际当中,很多情况都可以简化。我觉得我这种方法最可能被质疑的就是如何简化的问题。举个例子,如图,一个电流加在长方形导体的长边上,五个区域的电流和电阻率都不一样,严格意义上讲上每个区域里面每个单元的电阻率也不一样(尤其是衔接处和边界拐角处),但是可以简化成每个区域的单元电流和电阻率都一样,可以进行电流和电阻率的迭代。这样牺牲了一些精度,但是提高了速度。在低频电磁场计算中,如果两个非线性一起求解,可能会很慢很慢,甚至不收敛,而且我觉得如果用这种简化的方法结果不会很差。

这个版上大部分人都没有用正版软件,可能两个软件都在用,都可以来比较一下这种近似循环的结果和非近似的结果以及求解时间的差别。我觉得大家在这里讨论,不如想一个例子,然后就来比较一下。

1.没有其他的设置
2.上一步的结果只是为我假定这一步的电导率所用,严格意义的求解(前提是我能access Maxwell element matrix)是应该根据前一步的电导率收敛的。
3.已知:所有材料参数、边界条件、施加的总电流,未知:J,E,H,B以及能量等所有通过场量可以算出来的参数。严格意义的求解,conductivity是未知。我得近似求解,conductivity是已知(guess的、假设的值)。
4.耦合场跟这个的主要区别是真正的耦合场需要连立解所有耦合方程。不用说耦合场了,就只是一个磁场,如前所述,都要把每个单元的u求出来,电场也是这样了。这种直接耦合本来就是难解决的问题,所以很多耦合场包括ansys还都在用间接耦合。
5.btw部分。感谢纠正,因为我这个材料是siliconVI关系已知,所以可以得到电导率、电压、电流三者之中任何二者之间的关系。

首先,一个答案是不是正确不是根据是否容易搞定来判断的,不过我觉得你这么说是想给我面子吧,其实不用这么委婉。这个问题的确不是这么简单的循环,需要把这个功能加到求解方程里面去才能进行真正意义上的电阻率和电流的非线性求解。

单独拿ansoft搞不定的事情来说,他们努力了,但是其他的软件做出的努力和付出更多。freezing permeability他们也没搞定,问他们问题就只会说不行。要是做得好,也不至于卖给ansys了,怎么不是ansys卖给ansoft呢?再提一句,ansoft是最后一个把2d3d结合在一起的软件了吧,别的软件更新(并不只是界面的更换)速度有快有慢,但是都比ansoft

说到脚本问题,确实很容易很简单(不过第一次作估计也要查老半天help,够好了,vc得学几个月呢),但也不是很多人都想到去用,虽然他们知道用了会更好。excel的vba也很简单,又有多少人在用呢。这个帖子的另一个用意是推进maxwell script的使用

你也在用Magnet,或许还玩ansys呢,就不要老客气地说自己是外行了,我们也没说自己是内行,如果什么都会说不定就不来了,呵呵

[ 本帖最后由 perch88 于 2008-6-14 01:00 编辑 ]

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2008-6-14 01:03:28 | 显示全部楼层 来自 黑龙江哈尔滨
原帖由 perch88 于 2008-6-14 00:39 发表


我明白你的意思了,真的非常感谢你指出我的问题J

拿磁场来说,BH曲线是非线性的,每个工作点上的permeability都不一样。算出来的结果是每个单元都有一个permeability。电场理论上来说也是一样,每个单元都有一 ...


呵呵,真的很高兴能与你讨论。

用了不少软件,刚开始用这些软件(如ansoft,magnet之类的CAE软件)还觉得有点意思,但后来越来越感觉没有成就感了,感觉和CAD没什么不同

呵呵,扯远了,有空再来聊吧
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-14 02:10:33 | 显示全部楼层 来自 美国
呵呵,就是阿,我现在正在努力发掘,找回点新鲜感,这个帖子也说明了我的努力
你不是某一家的技术支持吧?
回复 不支持

使用道具 举报

发表于 2008-6-14 08:29:14 | 显示全部楼层 来自 黑龙江哈尔滨
很想顶一下,这个个讨论很有意思,不过我总觉的如果仅从外部入手,好像无法解决问题,最终还应将循环嵌入求解矩阵中才有真实的作用,每次的假设不知道是将结果引入正确还是误差的累加,能不能建立个小模型,求解一次看看啊?
回复 不支持

使用道具 举报

 楼主| 发表于 2008-6-14 13:37:33 | 显示全部楼层 来自 美国
嗯,内部有自然好了
我打算用magnet算一下,这样网格是一样的
只是周末都很忙。。。
回复 不支持

使用道具 举报

发表于 2008-6-29 21:19:19 | 显示全部楼层 来自 台湾台北

Maxwell 真的沒有非線性電導與介電設定(可能沒客戶要求吧)
MagNet ElecNet才有
PS:渦流也是與非線材質有關的啊!!
ansoft應該知道有這問題

[ 本帖最后由 keli 于 2008-6-29 21:25 编辑 ]

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2008-7-20 00:21:30 | 显示全部楼层 来自 辽宁沈阳

回复 15# 的帖子

支持师姐的研究和探索,慢慢学习,尽管现在还看不太懂
回复 不支持

使用道具 举报

发表于 2009-2-21 11:32:59 | 显示全部楼层 来自 辽宁沈阳
学习,看不懂!!!
回复 不支持

使用道具 举报

发表于 2009-2-23 19:41:36 | 显示全部楼层 来自 广东深圳
斑竹可真是牛人啊,好好学习中!
回复 不支持

使用道具 举报

 楼主| 发表于 2009-2-25 14:27:11 | 显示全部楼层 来自 美国
别这么说,最近有点时间,等抽空把这个题结了
到底这么做行不行,用MagNet验证一下
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 16:43 , Processed in 0.055516 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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