datemoon 发表于 2012-8-24 15:11:29

*get命令的讨论和应用

/post1
plnsol,b,x
*get,nd,node,0,num,min      ! 得到模型的最小节点编号
*get,nodenum,node,0,count   ! 得到所有模型节点数
*dim,nodes,array,nodenum                   !定义一个存储节点的数组
*dim,xyz,array,nodenum,3                   !定义一个存储节点坐标的数组
*dim,nodetemp,array,nodenum                !定义一个存储节点的数组
*cfopen,dat000,dat
*do,i,1,nodenum,1
nodes(i)=nd                               !将节点编号存储在nodes数组中
xyz(i,1)=nx(nd)                           !在xyz(i,1)中存储节点的x坐标
xyz(i,2)=ny(nd)                           !在xyz(i,1)中存储节点的y坐标
xyz(i,3)=nz(nd)                            !在xyz(i,1)中存储节点的z坐标
*get,nodetemp(i),node,nodes(i),b,x    !得到节点的x方向磁场值
nd=ndnext(nd)                              !取得下一个节点编号
*vwrite,xyz(i,1),xyz(i,2),xyz(i,3),nodetemp(i)   !输出坐标和对应磁场值
(4f20.8)
*cfclos
*enddo
finish
是一段代码,为了得到节点坐标和节点的磁感应强度B的x分量,但是运行起来会报错
Requested data is not stored for node 72398.                           
   Line= *GET, s3_72398, NODE, 72398, S, 3                              
   The *GET command is ignored
第二行与运行上面命令不一样,但问题是一样的。
然后我去网上查了一些资料,
有人说*get只是赋值,不能读取,然后我用*get单独的执行了一下代码如下,
*get,a,node,100,b,x
然后再parameters菜单中看到了a被赋值了,也就是说*get可以赋值,但如何将其值写入到一个文件当中保存呢?望高手指教。

summerhl 发表于 2012-8-24 16:45:37

*get是用来提取数值,将提取的数值保存在先前定义好的数组中。
*get,nodetemp(i),node,nodes(i),b,x
然后再利用写文件的命令将数组中的值输入到文本文件里。
*vwrite,xyz(i,1),xyz(i,2),xyz(i,3),nodetemp(i)

datemoon 发表于 2012-8-27 10:43:56

summerhl 发表于 2012-8-24 16:45 static/image/common/back.gif
*get是用来提取数值,将提取的数值保存在先前定义好的数组中。
*get,nodetemp(i),node,nodes(i),b,x
然后 ...

呵呵,你说的我懂,但是有报错,看下面的报错,如果知道为什么会报错,就帮一下忙,谢谢。

summerhl 发表于 2012-8-27 15:19:34

写文件之前先要open一个文件,否则不知道写到哪里啊
如下:
*CFOPEN,'PathDataM','txt',' '
*VWRITE,Path1(1),Path2(1),Path3(1),Path4(1),Path5(1)
(5f12.8)
*CFCLOS

datemoon 发表于 2012-8-29 08:41:04

summerhl 发表于 2012-8-27 15:19 static/image/common/back.gif
写文件之前先要open一个文件,否则不知道写到哪里啊
如下:
*CFOPEN,'PathDataM','txt',' '


    谢谢,代码错误不是很大,我懂了,为什么会报错,是因为只有角节点才有解BY,其他节点没有值,所以才会报错,输出的结果中可以明显看出来,有些节点有值,赋值为0的全部都报错了。
但是为什么只有角节点有值,我看了plane53单元英文帮助,说只要keyopt5选2就可以全部节点都有值了,但是帮助里面的选项和help里面竟然不一样,我很诧异,因为是同一版本,怎么可能会有这样的错误呢?无耐啊……希望请教

summerhl 发表于 2012-8-30 09:29:39

帮助里面的选项和help竟然不一样?这句话是什么意思?

有时帮助里有的,在界面上做不出来,用宏命令的话,以帮助里的为准吧。

datemoon 发表于 2012-8-30 14:08:37

summerhl 发表于 2012-8-30 09:29 static/image/common/back.gif
帮助里面的选项和help竟然不一样?这句话是什么意思?

有时帮助里有的,在界面上做不出来,用宏命令的话, ...

不一样是指帮助里的解释和实际的情况不同,我试了,但是不能得到帮助里面说的全部节点解。只是这样,也许我理解的不好吧!
还有这个问题解决了,谢谢你的热心回答。
页: [1]
查看完整版本: *get命令的讨论和应用