本帖最后由 livshich 于 2018-7-11 08:57 编辑
finish
/clear
/filnam,thermal-eletric !文件名
*create,dpknd,mac !创建固定端位移宏文件
cm,n_sel,node
*get,ecount,node,,count
*dim,enum,array,ecount
*get,enum(1),node,,num,min
*do,i,2,ecount
enum(i)=ndnext(enum(i-1))
*enddo
*do,i,1,ecount
D,enum(i), ,0, , , ,UX,UY,UZ, , ,
*enddo
cmdele,n_sel
ecount=
enum(1)=
*end
*create,tpknd,mac !创建固定端温度宏文件
cm,n_sel,node
*get,ecount,node,,count
*dim,enum,array,ecount
*get,enum(1),node,,num,min
*do,i,2,ecount
enum(i)=ndnext(enum(i-1))
*enddo
*do,i,1,ecount
D,enum(i), ,300, , , ,temp, , , , ,
*enddo
cmdele,n_sel
ecount=
enum(1)=
*end
*create,vpknd1,mac !创建宏文件,给节点集1赋予电压自由度
cm,n_sel,node !由于CP只能给集合不能给单个节点赋电压自由度
*get,ecount,node,,count !所以拿前两点建立集合,并赋其电压自由度
*dim,enum,array,ecount !把剩下节点逐一添加到该集合中
*get,enum(1),node,,num,min
*do,i,2,ecount
enum(i)=ndnext(enum(i-1))
*enddo
CP,1,VOLT,enum(1),enum(2)
*do,i,3,ecount
CP,high,VOLT,enum(i)
*enddo
cmdele,n_sel
ecount=
enum(1)=
*end
*create,vpknd2,mac !创建宏文件,给节点集2赋予电压自由度
cm,n_sel,node
*get,ecount,node,,count
*dim,enum,array,ecount
*get,enum(1),node,,num,min
*do,i,2,ecount
enum(i)=ndnext(enum(i-1))
*enddo
CP,2,VOLT,enum(1),enum(2)
*do,i,3,ecount
CP,high,VOLT,enum(i)
*enddo
cmdele,n_sel
ecount=
enum(1)=
*end
*SET,H1 , 60e-6 !定义参数
*SET,H2 , 75e-6
*SET,H3 , 200e-6
*SET,L , 360e-6
*SET,L1 , 360e-6
*SET,L2 , 3240e-6
*SET,L3 , 90e-6
*SET,b , 30e-6
*SET,v , 12
/PREP7 !前处理
!*
ET,1,SOLID227,11 !单元类型
ET,2,SOLID87 !定义热单元
!*
KEYOPT,1,1,111
KEYOPT,1,2,0
KEYOPT,1,4,0
KEYOPT,1,9,0
KEYOPT,1,10,0
!*
!*
MPTEMP,,,,,,,, !密度
MPTEMP,1,0
MPDATA,DENS,1,,2330
MPTEMP,,,,,,,, !弹性模量 泊松比 电阻率
MPTEMP,1,0
MPDATA,EX,1,,1.69e11
MPDATA,PRXY,1,,0.28
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,RSVX,1,,5e-5
MPTEMP,,,,,,,, !热膨胀系数
MPTEMP,1,300
MPTEMP,2,400
MPTEMP,3,500
MPTEMP,4,600
MPTEMP,5,700
MPTEMP,6,800
UIMP,1,REFT,,,
MPDATA,ALPX,1,,2.56e-6
MPDATA,ALPX,1,,3.2e-6
MPDATA,ALPX,1,,3.59e-6
MPDATA,ALPX,1,,3.82e-6
MPDATA,ALPX,1,,3.98e-6
MPDATA,ALPX,1,,4.1e-6
MPTEMP,,,,,,,, ! 比热
MPTEMP,1,0
MPDATA,C,1,,787
MPTEMP,,,,,,,, !热传导率
MPTEMP,1,300
MPTEMP,2,600
MPTEMP,3,900
MPDATA,KXX,1,,150
MPDATA,KXX,1,,100
MPDATA,KXX,1,,60
MPTEMP,,,,,,,, !定义材料对流参数
MPTEMP,1,300
MPTEMP,2,400
MPTEMP,3,500
MPTEMP,4,600
MPTEMP,5,700
MPTEMP,6,800
MPTEMP,7,900
MPDATA,HF,1,,17.8
MPDATA,HF,1,,60
MPDATA,HF,1,,65.6
MPDATA,HF,1,,68.9
MPDATA,HF,1,,71.1
MPDATA,HF,1,,72.6
MPDATA,HF,1,,73.2
K,1,0,0,0, !定义节点
K,2,0,l,0,
K,3,l,l,0,
K,4,l,h1,0,
K,5,l+l1+l2,h1,0,
K,6,l+l1+l2-l3,0,0,
K,7,l+l1+l2-l3,-h2,0,
K,8,l+l1+l2,-h2-h3,0,
K,9,l+l1,-h2-h3,0,
K,10,l+l1,-h2-h1,0,
K,11,l,-h2-h1,0,
K,12,l,-h2-l,0,
K,13,0,-h2-l,0,
K,14,0,-h2,0,
LSTR, 1, 2 !定义线
LSTR, 2, 3
LSTR, 3, 4
LSTR, 4, 5
LSTR, 1, 6
LSTR, 6, 7
LSTR, 7, 14
LSTR, 5, 8
LSTR, 8, 9
LSTR, 9, 10
LSTR, 10, 11
LSTR, 11, 12
LSTR, 12, 13
LSTR, 13, 14
FLST,2,14,4 !定义面
FITEM,2,1
FITEM,2,2
FITEM,2,3
FITEM,2,4
FITEM,2,5
FITEM,2,6
FITEM,2,7
FITEM,2,8
FITEM,2,9
FITEM,2,10
FITEM,2,11
FITEM,2,12
FITEM,2,13
FITEM,2,14
AL,P51X
VOFFST,1,-b, , !拉伸面
TYPE, 1
MAT, 1
REAL,
ESYS, 0
SECNUM,
!*
FLST,5,42,4,ORDE,2
FITEM,5,1
FITEM,5,-42
CM,_Y,LINE
LSEL, , , ,P51X
CM,_Y1,LINE
CMSEL,,_Y
!*
LESIZE,_Y1,b, , , , , , ,0
!*
LSEL,S,LOC,Z,0
LSEL,R,LOC,X,0,l
LESIZE,all, , ,3, ,1, , ,0
ALLSEL,ALL
LSEL,S,LOC,X,0,l
LSEL,R,LOC,Z,b
LESIZE,all, , ,3, ,1, , ,0
ALLSEL,ALL
MSHAPE,1,3D
MSHKEY,0
!*
CM,_Y,VOLU
VSEL, , , , 1
CM,_Y1,VOLU
CHKMSH,'VOLU'
CMSEL,S,_Y
!*
VMESH,_Y1
!*
CMDELE,_Y
CMDELE,_Y1
CMDELE,_Y2
!*
TREF,300, !定义参考温度
sf,all,rdsf,0.7,1 !定义热辐射
spctemp,1,300
stef,5.6704e-8
NSEL,S,LOC,X,0,l
NSEL,R,LOC,Z,0
dpknd !调用宏限制位移
tpknd !调用宏施加固定温度
ALLSEL,ALL
NSEL,S,LOC,X,0,l !给节点赋电压自由度并给其中两点电压值
NSEL,R,LOC,Y,0,l
vpknd1
*SET,n_gr,ndnext(0)
D,n_gr,VOLT,0
ALLSEL,ALL
NSEL,S,LOC,X,0,l
NSEL,R,LOC,Y,-h2,-h2-l
vpknd2
*SET,n_vlt,ndnext(0)
D,n_vlt,VOLT,v
ALLSEL,ALL
ASEL,U,LOC,Z,0 !选择部分节点并给其定义热对流
NSLA,R,1
SF,all,CONV,-1,300
ALLSEL,ALL
NSEL,S,LOC,X,l,l+l1+l2 !选择部分节点并给其定义热对流
NSEL,R,LOC,Z,0
SF,all,CONV,-1,300
ALLSEL,ALL
a1=node(l+l1/2+l2/2,h1/2,b/2) !为后处理定义节点信息
a2=node(l+l1+l2,-h2-h3,b/2)
/SOL !求解设置
!*
CNVTOL,F,1,5e-3,2, ,
!*
CNVTOL,heat,1,5e-3,2, ,
!*
!*
TIME,2e-2
AUTOTS,-1
DELTIM,1e-3, , ,1
KBC,0
!*
OUTRES,all,1,
NEQIT,50,
!*
TSRES,ERASE
!*
NLGEOM,1
NROPT,AUTO, ,
STAOPT,DEFA
LUMPM,0
EQSLV, , ,0, ,DELE
MSAVE,0
PCGOPT,0, ,AUTO, , ,AUTO
PIVCHECK,0
PSTRESS,0
TOFFST,0,
!*
/STATUS,SOLU
SOLVE
/post1 !后处理
set,near,,,,0.015
umax=uy(a2)
umax=abs(umax)
ua1=uz(a1)
*get,tmax,node,a1,temp
nsort,s,eqv,0,0,all
*get,smax,sort,0,max
|