24小时热门版块排行榜    

查看: 2117  |  回复: 32

晓嘉嘉

新虫 (小有名气)

[求助] 怎么才能吧ansys中每个节点的温度提取提取出来导入matlab处理 已有3人参与

我做了个仿真,然后想把每个节点的温度提取出来导入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
麻烦各位大神了

发自小木虫Android客户端
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

引用回帖:
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
知其然,知其所以然。
25楼2017-03-20 21:02:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
晓嘉嘉: 金币+5, ★★★★★最佳答案, 得到想要的结果 2017-03-20 21:55:58
引用回帖:
27楼: Originally posted by 晓嘉嘉 at 2017-03-20 21:25:18
你好老师,运行之后,在txt中并没有得到结果如图,提示警告如图


...

从菜单直接读入,不要拷到命令窗口运行。

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

知其然,知其所以然。
29楼2017-03-20 21:39:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

liyaobo0509

专家顾问 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
*vwrite命令
1.只能用在batch模式,不支持GUI;
2.*vwrite命令可将多个列一次写出,楼主用在循环里不太合适,建议仔细查看帮助关于*vwrite命令的说明;
2楼2017-03-20 09:19:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晓嘉嘉

新虫 (小有名气)

引用回帖:
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
错误如下图,说是没有定义节点
怎么才能吧ansys中每个节点的温度提取提取出来导入matlab处理



发自小木虫Android客户端
3楼2017-03-20 09:54:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liyaobo0509

专家顾问 (著名写手)

【答案】应助回帖

看你定义了一个节点数组 nodes(i,j)=100000+26*(i-1)+j
1.在GUI中打开nodes数组,看里面的节点数据是不是按你想法定义的;
2.模型中真的存在这些节点吗?(表示怀疑)
4楼2017-03-20 10:10:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东方鸣镝

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
你的这些节点中是不是有中间节点,你用的单元是什么单元?ansys中应该是不输出中间结点的温度
5楼2017-03-20 10:10:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晓嘉嘉

新虫 (小有名气)

引用回帖:
5楼: Originally posted by 东方鸣镝 at 2017-03-20 10:10:33
你的这些节点中是不是有中间节点,你用的单元是什么单元?ansys中应该是不输出中间结点的温度

节点是我自定义的,单元是自己构造的,在list results 中可以显示啊如下图,但是我需要的是151x26的数组输出
怎么才能吧ansys中每个节点的温度提取提取出来导入matlab处理-1



发自小木虫Android客户端
6楼2017-03-20 10:22:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晓嘉嘉

新虫 (小有名气)

引用回帖:
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 具有如下图结果
怎么才能吧ansys中每个节点的温度提取提取出来导入matlab处理-2



发自小木虫Android客户端
7楼2017-03-20 10:25:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liyaobo0509

专家顾问 (著名写手)

【答案】应助回帖

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

/post1
allsel, all
8楼2017-03-20 10:39:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晓嘉嘉

新虫 (小有名气)

引用回帖:
8楼: Originally posted by liyaobo0509 at 2017-03-20 10:39:30
可能是节点没有被选择,在进入后处理器前,先全选节点试试看,如下。

/post1
allsel, all

试了,还是不行,谢谢了!!!

发自小木虫Android客户端
9楼2017-03-20 11:05:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东方鸣镝

新虫 (初入文坛)

【答案】应助回帖

看看你的node()数组中的值是不是你想要的值
10楼2017-03-20 11:49:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 晓嘉嘉 的主题更新
信息提示
请填处理意见