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

[后处理] ANSYS如何将数组中的数据输入到单元表中?

[复制链接]
发表于 2013-4-30 16:57:48 | 显示全部楼层 |阅读模式 来自 湖北武汉
各位大侠,有人知道如何将数组中的数据输入到单元表中呢?
我找到了*vput命令流,但发现我之前定义的单元表的单元编号是不连续的,导致*vput输入到单元表的数据有错误,请问这种情况该怎么处理呢?
 楼主| 发表于 2013-5-1 18:30:05 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
还是没有人回复吗?
这几天一直在纠结数据输出和显示的问题,通过单元表数据的提取,使用*get,存入到数组当中,在对数组中的数据进行了一系列的运算操作之后,想返回至单元表中,覆盖原单元表的数据,使用了*vput命令流,但是提示的warning如下:
Data record dose not exist for *vput of some Elem entities requested. 而且显示单元表的数据也和之前的数组中的数据有出入,请问应该怎么处理呢?
急呀!
回复 不支持

使用道具 举报

发表于 2013-5-2 13:18:26 | 显示全部楼层 来自 美国
如下是一个实现Stress Ratio的宏,思路基本上和你一样,从节点中提取数据,做运算,然后放回节点,显示。
希望对你有帮助。
我想你的问题可能在于你不是显示所有的单元和节点,不知道利用*vmask命令是否有帮助。
最后能提供你出现问题的宏和算例,这样方便大家帮助你。
*DIM,YIELD_STRES,TABLE,5,1       
YIELD_STRESS(0,1)=1                        !DON'T NEED CHANGE
! Follow need to input
YIELD_STRESS(1,0)=   20,  200,  400,  600,   800,
YIELD_STRESS(1,1)= 444E6, 367E6, 311E6, 235E6, 60E6,
! Follow to get some basic information
NSLE,R,CORNER
*GET,NODE_NUM,NODE,0,COUNT
*GET,NODE_LOW,NODE,0,NUM,MIN
*DIM,V_SEQV,ARRAY,NODE_NUM
*DIM,V_T,ARRAY,NODE_NUM
*DIM,V_R,ARRAY,NODE_NUM
*DIM,V_YS,ARRAY,NODE_NUM

*VGET,V_SEQV,NODE,NODE_LOW,S,EQV
*VGET,V_T,NODE,NODE_LOW,BFE,TEMP
*VITRP,V_YS,YIELD_STRESS,V_T
*VOPER,V_R,V_SEQV,DIV,V_YS
*VPUT,V_R,NODE,NODE_LOW,S,EQV
PLNSOL,S,EQV
回复 不支持

使用道具 举报

 楼主| 发表于 2013-5-2 22:07:25 | 显示全部楼层 来自 湖北武汉
非常感谢有人能够解答。
我的输出的结果是单元表,命令流如下:
!*************table of temperature distribution******
etable,TSV_temp,temp
!*************备份一个单元表,以备此后的*vput使用*******
etable,TSV_co_1,temp
!*************table of temperature gradient distribution******
etable,TSV_tg,TG,SUM
!*************table of current density distribution*********
etable,TSV_js,JS,SUM
!******define some arrays**********
!******define the array of temperature********
*dim,temp_TSV,array,elenum
!******define the array dot of current density and temperature gradient******
*dim,js_tg_TSV,array,elenum
!******define the square of current density*******
*dim,js2_TSV,array,elenum
!******put the element table into the array defined******
*do,i,1,elenum,1
   
        *get,temp_TSV(i),elem,i,etab,TSV_temp
        *get,js_tg_TSV(i),elem,i,etab,TSV_jt
*enddo
!*******calculation of the div(Jm))**********
*voper,TSV_temp_daoshu,1,div,temp_TSV,
*voper,TSV_temp_1,TSV_temp_daoshu,mult,TSV_temp_daoshu
*voper,TSV_temp_2,TSV_temp_1,mult,Ea
。。。。。。

*voper,TSV_migration_electronic,TSV_temp_14,mult,TSV_temp_10
*VPUT,TSV_migration_thermal(1),ELEM,,ETAB,TSV_CO_1, , ,2
!******finish of the calculation of electromigration due to EWN*******
pletab,TSV_co_1,noav
我的命令流是选择了所有的单元的,建立的数组是一维的,以模型的单元数目作为维数,在数组中进行各种运算之后返回至单元表中,就会弹出我先前提到的对话框,数据也并不是完全对的,会不会有可能我建立的备份的单元表有问题呢?进行数据覆盖的时候就会产生数据不连续的情况。
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-24 05:25 , Processed in 0.030838 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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