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

[后处理] *get命令的讨论和应用

[复制链接]
发表于 2012-8-24 15:11:29 | 显示全部楼层 |阅读模式 来自 上海闵行区
/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可以赋值,但如何将其值写入到一个文件当中保存呢?望高手指教。
发表于 2012-8-24 16:45:37 | 显示全部楼层 来自 清华大学
Simdroid开发平台
*get是用来提取数值,将提取的数值保存在先前定义好的数组中。
*get,nodetemp(i),node,nodes(i),b,x  
然后再利用写文件的命令将数组中的值输入到文本文件里。
*vwrite,xyz(i,1),xyz(i,2),xyz(i,3),nodetemp(i)
回复 不支持

使用道具 举报

 楼主| 发表于 2012-8-27 10:43:56 | 显示全部楼层 来自 上海闵行区
summerhl 发表于 2012-8-24 16:45
*get是用来提取数值,将提取的数值保存在先前定义好的数组中。
*get,nodetemp(i),node,nodes(i),b,x  
然后 ...

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

使用道具 举报

发表于 2012-8-27 15:19:34 | 显示全部楼层 来自 清华大学
写文件之前先要open一个文件,否则不知道写到哪里啊
如下:
*CFOPEN,'PathDataM','txt',' '
*VWRITE,Path1(1),Path2(1),Path3(1),Path4(1),Path5(1)
(5f12.8)
*CFCLOS
回复 不支持

使用道具 举报

 楼主| 发表于 2012-8-29 08:41:04 | 显示全部楼层 来自 上海闵行区
summerhl 发表于 2012-8-27 15:19
写文件之前先要open一个文件,否则不知道写到哪里啊
如下:
*CFOPEN,'PathDataM','txt',' '

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

使用道具 举报

发表于 2012-8-30 09:29:39 | 显示全部楼层 来自 清华大学
帮助里面的选项和help竟然不一样?这句话是什么意思?

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

回复 不支持

使用道具 举报

 楼主| 发表于 2012-8-30 14:08:37 | 显示全部楼层 来自 上海闵行区
summerhl 发表于 2012-8-30 09:29
帮助里面的选项和help竟然不一样?这句话是什么意思?

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

不一样是指帮助里的解释和实际的情况不同,我试了,但是不能得到帮助里面说的全部节点解。只是这样,也许我理解的不好吧!
还有这个问题解决了,谢谢你的热心回答。
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 00:37 , Processed in 0.030374 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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