后处理中获取单元节点磁通密度值的问题
各位前辈:小弟最近在做一个磁路的优化设计,在后处理中需要获取模型空间一些位置的磁通密度值作为优化设计的依据,期间参考了由 Jzhsh 的帖子”如何用命令把某一区域的磁场值保存为数组或表 ”里的程序。
我的后处理程序如下:
/POST1
g=0
SUM=0
*dim,A,,10*5,1,1 !定义数组,50*1*1,用来存放B
*dim,C,,10*5,1,1 !定义存放节点号码的数组
xx=T1+W1+T2/2 !定义x轴的坐标,T1、W1、T2等参数前面已定义过
*do,j,1,5,1
ZZ=T1+H1+H2/2+(j-1)*0.01375
*do,k,1,10,1
yy=Y4+(k-1)*0.0064
n1=node(xx,yy,ZZ) !提取距坐标(xx,yy,ZZ)最近的节点号
g=g+1
C(g)=n1
*get,A(g),node,n1,B,SUM !提取n1节点的B值
sum=sum+A(g) !求和
*enddo
*enddo
主要思想就是提取节点(xx,yy,ZZ) 处的磁通密度值,存入数组A(g)中。
程序运行后,出现如下错误:
"Requested data is not stored for node 161
The *GET command is ignored"
就是不明白怎么把程序调试好,请各位前辈指点! 我也遇到相同的报错,我是提取某个点上的B值,命令流如下,报错同楼主
/title,force_1
/filname,work_force_1
keyw,magnod,1
/prep7
et,1,plane53
keyopt,1,3,1
mp,murx,1,1
mp,murx,2,1
*SET,a,1
*SET,b,1
*SET,x,1
*SET,y,1
*SET,r,5
*SET,l,0.1
rectng,x,x+a,y,y+b
cyl4,0,0,r,90,,-90
aovlap,all
numcmp,area
/pnum,area,1
/replot
asel,s,area,,1
aatt,1,,1
asel,s,area,,2
aatt,2,,1
/pnum,mat,1
/replot
allsel,all
/replot
smrtsize,1
amesh,all
save
/solu
lsel,s,loc,x,0
dl,,,az,0
esel,s,mat,,1
/replot
bfe,all,js,1,,,1.4e6
allsel,all
/replot
solve
*SET,n1,node(x,y-l,0)
*GET,B,NODE,n1,B,X
跪求大神正解 另小弟还想请教下,如果*get命令成功的话,怎样将数据显示出来,例如我上面的情况,怎么看node(x,y-l,0) 的B值? 我觉得应该是在你定义的点上并没有网格节点,因此就没有结果数据,不知道理解是否正确,因为我将node(x,y-l,0)定义为硬点后就不报错了,但是我不知道怎么显示*GET得到的数据,请楼主指点 我的也显示
"Requested data is not stored for node 161
The *GET command is ignored"
不找到你怎么解决的啊。我的是这样写的:
/post1
plnsol,bx
*get,nmin,node,,num,min
*get,nmax,node,,num,max
n_num=nmin
*cfopen,output,txt
*do,i,nmin,nmax
*get,mag,node,n_num,b,x
*vwrite,i, nx(i),ny(i),nz(i),mag
(5f12.6)
n_num=ndnext(n_num)
*enddo
*cfclos
finish
我是想得到如下输出数据
节点号 x,y,z坐标 磁场x,y,z方向分量 及总磁场值
node x y z bx by bz bsum
1 0.01 0.02 0 0.86 0.75 0.23 0.53
2 0.02 0.12 0 0.46 0.77 0.73 0.83
...... ........ ......... ..... ......... ........ ........ ........
...... ........ ......... ..... ......... ........ ........ ........
就是不找到具体的改怎么写.....
页:
[1]