linlin2001450 发表于 2007-5-14 11:22:10

电磁与热耦合分析中的结果提取问题,请教版主和各位朋友。

我所做的电磁与热耦合分析,用的是间接的顺序耦合法,磁场和温度场循环进行。目的是查看工件的温度变化和分布。耦合循环结束于温度场。但我想得到某个时刻与温度分布相对应的涡流、HGEN等的分布,也就是想在循环中提取磁场的计算结果。假如我想获得 t 时刻的HGEN,可以用*VGET命令提取并放入预先定义的数组中,命令如下:
*DO,I,1,FTIME/TINC                     开始LOOP            
TIME=TIME+TINC                                    
PHYSICS,READ,EMAG                      读取磁物理环境                  
/SOLU         
........
........
........
........
.........
SOLVE                                             求解磁场
*if,time,eq,t,then                           

   *get,nummin,elem, ,num,min      提取(所关心的部分)的最小单元编号 赋予“nummin”
   *get,numelem,elem, ,num,max      提取(所关心部分)的最大单元编号赋值给“numelem”
   *dim,re, ,numelem,1,1                  定义数组“re”, 维数numelem x1 x1
   *vget,re(1),elem,nummin,hgen       提取所选单元的“hgen”,赋给数组“re”
*endif

finish

PHYSICS,READ,THERMAL                   读取热场并求解         
/ASSIGN,ESAV,THERM,ESAV   
/ASSIGN,EMAT,THERM,EMAT
.......
.....
......
finish

提取结果到指定的数组后,下一步如何做才能在循环结束后的后处理中查看t时刻的hgen分布,或者查看某路径上的HGEN分布???是要储存这个数组吗,储存在哪?映射路径的时候再调用吗?弄不懂了,请版主和各位朋友赐教!

perch88 发表于 2007-5-14 12:04:07

数组不是定义了么,存储的数组直接plot就行了
某一时刻路径上的分布是一条曲线,很多时刻就是很多曲线了,我觉得可以也存数组,不过因为路径上的点可能是差值的,最好modeling的时候把路径做成线,结果里面就可以套用你的*get命令了

linlin2001450 发表于 2007-5-15 09:59:29

回复 #2 perch88 的帖子

perch88,你好.我定义了数组后,是把被加热体的全部单元的HGEN值存进了数组。那么数组存储后,可以直接PLOT它吗?具体操作我不会,是不是PLOT前先恢复(restore)此数组,再直接PLOT?
关于某条路径上的分布,既然整个加热体的HGEN值都存储了,就没有办法直接映射一路径上的值?斑竹所说的意思是不是,在建模时把要路径的地方直接做成图元line(不用再定义路径了,直接用line代替?),然后把此line上的计算结果存进数组,再直接PLOT?问的问题较多,希望版主不要嫌烦。有空的话,请赐教!

perch88 发表于 2007-5-16 01:42:54

记得有个命令可以plot的,嫌不好看就导出

可以映射路径,不过是差值的,有时候不光滑,要是发文章还是直接作line的比较好

就着俩问题似乎

linlin2001450 发表于 2007-5-16 18:08:01

回复 #4 perch88 的帖子

恩,只要存储后的数组能够PLOT和映射路径就行,我去查查这个命令。谢谢perch88的指点。半年前,你激励过我。现在虽说在ANSYS上仍是个菜鸟,但毕竟会了不少东西。再次表示感谢!
还有个问题就是,用数组数据映射的路径是插值的,曲线可能不光滑。但modeling时做line,那meshing时划分这line吗?把路径做成line,那是个怎样的路径操作啊?版主能不能说一下简单步骤。我看过的几本教程没有讲这个的。

perch88 发表于 2007-5-16 21:56:54

mesh当然划分线了
比如原来一个矩形,现在做两个矩形,线是两矩形的分界线

linlin2001450 发表于 2007-5-22 21:07:51

回复 #6 perch88 的帖子

perch88你好。我弄了好几天了,这个问题还是解决不了。首先,我要纠正问题中的一个错误。那就是, *vget,re(1),elem,nummin,hgen( 提取所选单元的“hgen”,赋给数组“re”)这个命令,"hgen"是命令不识别的标签。我改成在每次计算磁场时先把jheat(焦耳热)存入单元表aa中,然后用 *vget,re(1),elem,nummin,ETAB,aa命令再把jheat从表中存入数组,然后储存数组文件。

但耦合循环结束后,我还是不会解决。直接PLOT数组的命令我也没找到。其实把所有单元的值存入数组只是个中间步骤,我主要想知道某路径上的jheat变化情况。怎样才能得到某路径上jheat值的变化曲线呢。路径定义了之后,映射MAP的时候,Restore数组,但能被映射的量里都是热分析的结果啊,怎么也映射不了数组中的存有的磁分析的值啊。
还有个问题:磁场分析的涡流,或涡流生成的焦耳热,都是element results,所以映射路径时只能映射单元表,我试了好几次,也没能把数组里的值导入单元表中。
这只是我不完整的思路,显的比较麻烦,还有没有别的办法达到目的呢?思考这问题半个月了,是在是不会,恳请版主悉心赐教!

linlin2001450 发表于 2007-5-22 21:26:29

我做的是三维的,被加热体是个带开口的金属管,关心的路径如图所示。

北极熊甲 发表于 2007-5-23 09:03:52

*vplot绘制表或数组,但是数组只能是一道一道的水平的线,一般庸vput把他转换成variable,绘制变量。

表可以自动插枝。

linlin2001450 发表于 2007-5-23 16:26:37

回复 #9 北极熊甲 的帖子

首先,谢谢版主的回答。
我看了看绘制数组的命令,*vplot命令只能绘制柱状图,而不是象一般的路径曲线图那样,而且它绘制的是数组中的所有量。(因为我存到数组中的是整个被加热体的单元jheat值),而我最终关心的是路径那部分。是不是用数组提取结果时只需提取路径所通过的单元的结果值,而非全部。那么,怎样知道所定义的路径通过哪些单元呢?
vput命令转换成变量,再绘制,是不是在/post26中??

孤狼嗥天 发表于 2014-3-4 21:59:57

linlin2001450 发表于 2007-5-22 21:26
我做的是三维的,被加热体是个带开口的金属管,关心的路径如图所示。

请问您这个问题是如何解决的?

突然自我 发表于 2014-3-22 09:57:41

请问一下,怎么能将数组施加到模型上
页: [1]
查看完整版本: 电磁与热耦合分析中的结果提取问题,请教版主和各位朋友。