小木虫 --- 600万学术达人喜爱的学术科研平台

首页 >> 仿真模拟 >>查看话题

怎么才能吧ansys中每个节点的温度提取提取出来导入matlab处理

我做了个仿真,然后想把每个节点的温度提取出来导入matlab分析,节点是我自定义的,然后编了以下程序,请求大神帮看看错在哪
/post1
!set,list
set,last
/efacet,1
plnsol,temp
/auto,1
file,alijiajia,rst
*dim,Tem_Node,array,151,26
*dim,nodes,array,151,26
*do,i,1,151,1
*do,j,1,26
nodes(i,j)=100000+26*(i-1)+j
*enddo
*enddo
*do,i,1,151,1
*do,j,1,26
*get,Tem_Node(i,j),NODE,nodes(i,j),NTEMP
*enddo
*enddo
*cfopen,alijiajia,txt
*do,i,1,151,1
*vwrite,(Tem_Node(i,1)…Tem_Node(i,26))
(26f8.5)
*enddo
*cfclose
麻烦各位大神了

相关话题

用户评论

*vwrite命令
1.只能用在batch模式,不支持GUI;
2.*vwrite命令可将多个列一次写出,楼主用在循环里不太合适,建议仔细查看帮助关于*vwrite命令的说明;

不过,想要得到更加专业的回答,我建议还是下载小木虫APP。不要怕麻烦,APP里面有很多非常专业的资料,还有很多各专业的大牛免费解答各种问题,现在安装,下载资源还免费呢,赶快下载【小木虫APP】试试吧!

2楼: Originally posted by liyaobo0509 at 2017-03-20 09:19:51
*vwrite命令
1.只能用在batch模式,不支持GUI;
2.*vwrite命令可将多个列一次写出,楼主用在循环里不太合适,建议仔细查看帮助关于*vwrite命令的说明;
谢谢你,不过我运行这个程序出错是在*get,Tem_Node(i,j),node,nodea(i,j),NTEMP
错误如下图,说是没有定义节点

看你定义了一个节点数组 nodes(i,j)=100000+26*(i-1)+j
1.在GUI中打开nodes数组,看里面的节点数据是不是按你想法定义的;
2.模型中真的存在这些节点吗?(表示怀疑)

你的这些节点中是不是有中间节点,你用的单元是什么单元?ansys中应该是不输出中间结点的温度

5楼: Originally posted by 东方鸣镝 at 2017-03-20 10:10:33
你的这些节点中是不是有中间节点,你用的单元是什么单元?ansys中应该是不输出中间结点的温度
节点是我自定义的,单元是自己构造的,在list results 中可以显示啊如下图,但是我需要的是151x26的数组输出

4楼: Originally posted by liyaobo0509 at 2017-03-20 10:10:01
看你定义了一个节点数组 nodes(i,j)=100000+26*(i-1)+j
1.在GUI中打开nodes数组,看里面的节点数据是不是按你想法定义的;
2.模型中真的存在这些节点吗?(表示怀疑)
确实存在,在list results 具有如下图结果

可能是节点没有被选择,在进入后处理器前,先全选节点试试看,如下。
/post1
allsel, all

8楼: Originally posted by liyaobo0509 at 2017-03-20 10:39:30
可能是节点没有被选择,在进入后处理器前,先全选节点试试看,如下。
/post1
allsel, all
试了,还是不行,谢谢了!!!

看看你的node()数组中的值是不是你想要的值

10楼: Originally posted by 东方鸣镝 at 2017-03-20 11:49:58
看看你的node()数组中的值是不是你想要的值
对是的,就是100001到1000026作为第一行,然后以此类推,分别得到所有的节点,然后列出来

提示显示节点100872-100876没定义,核对一下吧

12楼: Originally posted by mygt_hit at 2017-03-20 13:56:03
提示显示节点100872-100876没定义,核对一下吧
其他点你可以显示?!出错是每个节点的温度都不能提取

13楼: Originally posted by 晓嘉嘉 at 2017-03-20 14:16:04
其他点你可以显示?!出错是每个节点的温度都不能提取
...
我手里又没有你完整的ANSYS命令流,怎么知道其他节点能否显示?
这信息是从你给的截图推断的,如果想解决问题,请给出完整全面信息。

14楼: Originally posted by mygt_hit at 2017-03-20 14:44:00
我手里又没有你完整的ANSYS命令流,怎么知道其他节点能否显示?
这信息是从你给的截图推断的,如果想解决问题,请给出完整全面信息。...
用的手机登录的,电脑上都没有登录按钮,程序太长,没法展示,我认为再者说前面的计算应该对后面的后处理影响不大吧!!

14楼: Originally posted by mygt_hit at 2017-03-20 14:44:00
我手里又没有你完整的ANSYS命令流,怎么知道其他节点能否显示?
这信息是从你给的截图推断的,如果想解决问题,请给出完整全面信息。...
其他节点都能显示,而且在list results 中都有结果,就是再这提取的时候出现上读那种错误

楼主,我想学matlab  纯小白,该怎么学

17楼: Originally posted by 西工院小子 at 2017-03-20 15:11:37
楼主,我想学matlab  纯小白,该怎么学
看书,我也是刚起步,推荐你一本matlab编程的书 matlab 《programming for engineers》stephen j.Chapman 著 邢树军 郑碧波 叶维民译

好的  谢谢

16楼: Originally posted by 晓嘉嘉 at 2017-03-20 14:57:32
其他节点都能显示,而且在list results 中都有结果,就是再这提取的时候出现上读那种错误
...
1. 试试*get,Tem_Node(i,j),NODE,nodes(i,j),TEMP
2. 试试nsol命令
3. 采用PRNSOL列出结果,拷到TXT,导入MATLAB变形为151*26矩阵

20楼: Originally posted by mygt_hit at 2017-03-20 16:41:15
1. 试试*get,Tem_Node(i,j),NODE,nodes(i,j),TEMP
2. 试试nsol命令
3. 采用PRNSOL列出结果,拷到TXT,导入MATLAB变形为151*26矩阵...
FINI
/clea
/filname,thermal_net_condANDconv
/title,wafer and water
!!!!!!!!!前处理!!!!!!!!!!
/prep7
et,1,link33
r,1,1e-12
MPTEMP,1,300,577,854,1131,1408,1685,
MPTEMP,7,1687, 1688,1919 ,2150, 2381,2612,
MPDATA,DENS,1,1,2.3475E3,2.3402E3,2.3329E3,2.3256E3,2.3183E3,2.3111E3,
MPDATA,DENS,1,7,2.3110E3,2.5798E3,2.5317E3,2.4663E3,2.3838E3,2.2841E3,
MPDATA,KXX,1,1,148.7562, 62.5523,39.6026,28.9729,22.8419,18.8525,
MPDATA,KXX,1,7,18.8287,18.8169,16.4286,14.5783,13.1025,11.898,
MPDATA,C,1,1,0.7007e3,0.7702e3,0.8402e3,0.9106e3,0.9814e3,1.0527e3,
MPDATA,C,1,7,1.0532e3,0.9427e3,0.9606e3,0.9861e3,1.0202e3,1.0648e3,
MPTEMP,1,300,577,854,1131,1408,1685
MPTEMP,7, 1688,1919 ,2150, 2381,2612,2843,
MPDATA,ENTH,1,1,0,4.775e8,9.986e8,1.5634e9,2.1718e9,2.8239e9,
MPDATA,ENTH,1,7,3.3774e9,3.9392e9,4.501e9,5.063e9,5.6246e9,6.1864e9,
et,2,link34
r,2,1e-12
MPTEMP,1,300,577,854,1131,1408,1685
MPDATA,hf,2,1,120,1000,8000,15000,18000,20000
et,3,link31
r,3,1e-12,1,1,5.67e-8
mp,emis,3,0.66
et,4,link34
r,4,1e-12
MPTEMP,1,300,577,854,1131,1408,1685
MPDATA,hf,4,1,120,1000,8000,15000,18000,20000
*DO,I,1,11
*DO,J,1,6,1
N,100000+6*(I-1)+J,2.00000e-06*J,2.00000e-06*(I-1)
*ENDDO
*ENDDO
mat,1
type,1
real,1
*DO,I,1,11
*DO,J,1,5,1
E,100000+6*(I-1)+J,100001+6*(I-1)+J
*ENDDO
*ENDDO
*DO,I,1,6
*DO,J,1,10,1
E,100000+I+6*(J-1),100000+I+6*J
*ENDDO
*ENDDO
nsel,all
save
physics,write,thermal,,,
/solu
physics,read,thermal,,,
antype,trans
ic,all,temp,300
nsel,s,loc,x,6*2e-06
d,all,temp,300
nsel,s,loc,y,10*2e-06
d,all,temp,300
allsel
eplot
timint,off
nropt,full
solcontrol,on
pred,on,,on
NCNV,0
autots,on
outres,basic,LAST
toffst,273
tintp,,,,1,
time,1e-11
solve
*DO,I,1,2,1
*do,jj,1,5,1
*do,ii,1,11,1
nsel,s,node,,100000+(ii-1)*6+jj,100001+(ii-1)*6+jj
esln,s,1
esel,r,type,,1
ex=2e-6*jj
ey=2e-6*(ii-1)
bfe,all,hgen,1,5.4126e+016*(1-0.380)*exp(-4*(ex-0)**2/(20e-6)**2)*exp(-2792.79*ey)
*enddo
*enddo
*do,jj,1,6,1
*do,ii,1,9,1
nsel,s,node,,100000+(ii-1)*6+jj,100000+ii*6+jj,6
esln,s,1
esel,r,type,,1
ex=2e-6*(jj-1)
ey=2e-6*ii
bfe,all,hgen,1,5.4126e+016*(1-0.380)*exp(-4*(ex-0)**2/(20e-6)**2)*exp(-2792.79*ey)
*enddo
*enddo
timint,on
lnsrch,auto
time,I*.05e-9
allsel
solve
esel,all
bfedele,all,hgen
*ENDDO
/post1
allsel,all
!set,list
SET,LAST
/EFACET,1
PLNSOL,TEMP
/auto,1
file,alijiajia,rst
*DIM,Tem_Node,ARRAY,11,6
*DIM,nodes,ARRAY,11,6
*do,I,1,11,1
*do,J,1,6,1
nodes(I,J)=100000+6*(I-1)+J
*GET,Tem_Node(I,J),NODE,nodes(I,J),TEMP
*enddo
*enddo
*CFOPEN,alijiajia,txt
*DO,I,1,11,1
*Vwrite,(Tem_Node(I,1)),(Tem_Node(I,2)),(Tem_Node(I,3)),(Tem_Node(I,4)),(Tem_Node(I,5))(Tem_Node(I,6))
(26f8.5)
*ENDDO
*CFCLOSE
形式如上程序
麻烦老师帮我看看
*get,Tem_Node(i,j),NODE,nodes(i,j),TEMP这个提示出错

节点有它自己的节点号,好像不能重新定义,

你说的不能重新定义是什么意思,是提取的时候还是在计算的过程?在list results中是存在结果的,前面的图片可以说明 mygt_hit

22楼: Originally posted by 黑太阳 at 2017-03-20 20:44:18
节点有它自己的节点号,好像不能重新定义,
你说的不能重新定义是什么意思,是提取的时候还是在计算的过程?在list results中是存在结果的,前面的图片可以说明

21楼: Originally posted by 晓嘉嘉 at 2017-03-20 20:15:46
FINI
/clea
/filname,thermal_net_condANDconv
/title,wafer and water
!!!!!!!!!前处理!!!!!!!!!!
/prep7
et,1,link33
r,1,1e-12
MPTEMP,1,300,577,854,1131,1408,1685,
MPTEMP,7,1687, 1688,1919 ,2150 ...
问题出在file,alijiajia,rst,计算结果中并没有这个.rst文件。注释掉即可。另外最后写入文件命令也有问题,给你调整过来了。
FINI
/clea
/filname,thermal_net_condANDconv
/title,wafer and water
!!!!!!!!!前处理!!!!!!!!!!
/prep7
et,1,link33
r,1,1e-12
MPTEMP,1,300,577,854,1131,1408,1685,
MPTEMP,7,1687, 1688,1919 ,2150, 2381,2612,
MPDATA,DENS,1,1,2.3475E3,2.3402E3,2.3329E3,2.3256E3,2.3183E3,2.3111E3,
MPDATA,DENS,1,7,2.3110E3,2.5798E3,2.5317E3,2.4663E3,2.3838E3,2.2841E3,
MPDATA,KXX,1,1,148.7562, 62.5523,39.6026,28.9729,22.8419,18.8525,
MPDATA,KXX,1,7,18.8287,18.8169,16.4286,14.5783,13.1025,11.898,
MPDATA,C,1,1,0.7007e3,0.7702e3,0.8402e3,0.9106e3,0.9814e3,1.0527e3,
MPDATA,C,1,7,1.0532e3,0.9427e3,0.9606e3,0.9861e3,1.0202e3,1.0648e3,
MPTEMP,1,300,577,854,1131,1408,1685
MPTEMP,7, 1688,1919 ,2150, 2381,2612,2843,
MPDATA,ENTH,1,1,0,4.775e8,9.986e8,1.5634e9,2.1718e9,2.8239e9,
MPDATA,ENTH,1,7,3.3774e9,3.9392e9,4.501e9,5.063e9,5.6246e9,6.1864e9,
et,2,link34
r,2,1e-12
MPTEMP,1,300,577,854,1131,1408,1685
MPDATA,hf,2,1,120,1000,8000,15000,18000,20000
et,3,link31
r,3,1e-12,1,1,5.67e-8
mp,emis,3,0.66
et,4,link34
r,4,1e-12
MPTEMP,1,300,577,854,1131,1408,1685
MPDATA,hf,4,1,120,1000,8000,15000,18000,20000
*DO,I,1,11
*DO,J,1,6,1
N,100000+6*(I-1)+J,2.00000e-06*J,2.00000e-06*(I-1)
*ENDDO
*ENDDO
mat,1
type,1
real,1
*DO,I,1,11
*DO,J,1,5,1
E,100000+6*(I-1)+J,100001+6*(I-1)+J
*ENDDO
*ENDDO
*DO,I,1,6
*DO,J,1,10,1
E,100000+I+6*(J-1),100000+I+6*J
*ENDDO
*ENDDO
nsel,all
save
physics,write,thermal,,,
/solu
physics,read,thermal,,,
antype,trans
ic,all,temp,300
nsel,s,loc,x,6*2e-06
d,all,temp,300
nsel,s,loc,y,10*2e-06
d,all,temp,300
allsel
eplot
timint,off
nropt,full
solcontrol,on
pred,on,,on
NCNV,0
autots,on
outres,basic,LAST
toffst,273
tintp,,,,1,
time,1e-11
solve
*DO,I,1,2,1
*do,jj,1,5,1
*do,ii,1,11,1
nsel,s,node,,100000+(ii-1)*6+jj,100001+(ii-1)*6+jj
esln,s,1
esel,r,type,,1
ex=2e-6*jj
ey=2e-6*(ii-1)
bfe,all,hgen,1,5.4126e+016*(1-0.380)*exp(-4*(ex-0)**2/(20e-6)**2)*exp(-2792.79*ey)
*enddo
*enddo
*do,jj,1,6,1
*do,ii,1,9,1
nsel,s,node,,100000+(ii-1)*6+jj,100000+ii*6+jj,6
esln,s,1
esel,r,type,,1
ex=2e-6*(jj-1)
ey=2e-6*ii
bfe,all,hgen,1,5.4126e+016*(1-0.380)*exp(-4*(ex-0)**2/(20e-6)**2)*exp(-2792.79*ey)
*enddo
*enddo
timint,on
lnsrch,auto
time,I*.05e-9
allsel
solve
esel,all
bfedele,all,hgen
*ENDDO
/post1
allsel,all
!set,list
SET,LAST
/EFACET,1
PLNSOL,TEMP
/auto,1
! file,alijiajia,rst
*DIM,Tem_Node,ARRAY,11,6
*DIM,nodes,ARRAY,11,6
*do,I,1,11,1
*do,J,1,6,1
nodes(I,J)=100000+6*(I-1)+J
*GET,Tem_Node(I,J),NODE,nodes(I,J),TEMP
*enddo
*enddo
*CFOPEN,alijiajia,txt
I=1
*vwrite,Tem_Node(I,1),Tem_Node(I,2),Tem_Node(I,3),Tem_Node(I,4),Tem_Node(I,5),Tem_Node(I,6)
(6F10.3)
*CFCLOSE

24楼: Originally posted by 晓嘉嘉 at 2017-03-20 20:52:40
你说的不能重新定义是什么意思,是提取的时候还是在计算的过程?在list results中是存在结果的,前面的图片可以说明
...
提取的时候。ansys提示的是找不到对应的节点,说明你定义的节点号数组与实际存在的节点不对应。

25楼: Originally posted by mygt_hit at 2017-03-20 21:02:48
问题出在file,alijiajia,rst,计算结果中并没有这个.rst文件。注释掉即可。另外最后写入文件命令也有问题,给你调整过来了。
FINI
/clea
/filname,thermal_net_condANDconv
/title,wafer and water
!!!!! ...
你好老师,运行之后,在txt中并没有得到结果如图,提示警告如图

26楼: Originally posted by 黑太阳 at 2017-03-20 21:16:23
提取的时候。ansys提示的是找不到对应的节点,说明你定义的节点号数组与实际存在的节点不对应。
...
上面有我回复的程序,你可以帮忙看看么,我感觉没有不对应啊,节点号都是对的

27楼: Originally posted by 晓嘉嘉 at 2017-03-20 21:25:18
你好老师,运行之后,在txt中并没有得到结果如图,提示警告如图
...
从菜单直接读入,不要拷到命令窗口运行。

29楼: Originally posted by mygt_hit at 2017-03-20 21:39:57
从菜单直接读入,不要拷到命令窗口运行。
...
谢谢,麻烦老师了!!出来了,就是还想请教你一个问题,这两种输入方式为啥会有如此大的区别?!

30楼: Originally posted by 晓嘉嘉 at 2017-03-20 21:51:26
谢谢,麻烦老师了!!出来了,就是还想请教你一个问题,这两种输入方式为啥会有如此大的区别?!
...
*vwrite命令不支持GUI输入,ANSYS帮助文档应该有说明。27楼截图第一个warning也提示了。
2楼专家也指出了这个问题。

31楼: Originally posted by mygt_hit at 2017-03-20 21:56:33
*vwrite命令不支持GUI输入,ANSYS帮助文档应该有说明。27楼截图第一个warning也提示了。
2楼专家也指出了这个问题。...
受教了,谢谢老师了!

32楼: Originally posted by 晓嘉嘉 at 2017-03-20 22:02:39
受教了,谢谢老师了!
...
不客气


小木虫APP

学术科研必备,90%的学术科研者都在使用

关于怎么才能吧ansys中每个节点的温度提取提取出来导入matlab处理的相关话题在小木虫APP已经有515位虫友给出了详细回复。

下载小木虫APP, 立即查看学术达人回复

赶快下载小木虫APP查看回复吧!

学术必备
与600万学术达人在线互动!


扫描下载送金币