Lxcad 发表于 2005-7-26 21:31:21

水化热进行温度计算APDL文件

!我用APDL编了一段计算温度的命令流,希望大家喜欢!

!计算温度模块
fini
/clea
!!!!!!!!!!!!!!
*set, day, 1             !计算天数,先调试1天
*set, hour, day*2      !计算小时数
*set, BEG_TEMP, 24       !初始温度
*set, air_max, 28      !最高气温
*set, air_min, 22      !最低气温
*set, l, 15            !浇注墙体长度的1/2
*set, h, 3.8             !浇注墙体的高度
*set, t, 0.5             !浇注墙体的厚度
*set, plank, 0.8         !底板厚
*set, board, 2         !底板宽计算长度
!!!!!!!!!!!!!!!!!!!!!
/prep7
et,1,solid70
mp,dens,1,2400
mp,kxx,1,8.595         !混凝土的导热系数
mp,c,1,0.948             !混凝土的比热容
!墙体、底板、模板建模
block,,l,0.4,h,,-t             !墙体X长L-0,Y高H-0.4,Z厚-T
block,,l,0.4,0,,-t             !高0.4墙体X长L-0,Y高-0.4, Z厚-T
block,,l,-plank,0,0,-t         !墙体下的底板X长L-0,Y高PLANK,Z厚-T
block,,l,-plank,0,-t,-board    !X长L-0,Y高PLANK,Z厚T-BOARD
!把已建立的体连接起来,同时创建模板
vglue, 1,2
vglue, 3,5
vglue, 3,4
block,,l,0.4,h,,0.02
vglue, 1,4
block,,l,0.4,h,-t,-t-0.02
vglue, 1,4
block,l,l+0.02,0.4,h,0,-t    !建立模板
vglue, 1,4
!墙体及底板分网,宽度方向分5份;长度方向分成35*3/2份;高度分16份
lsel,s,length,,t,t         !选择长度为t的线
lesize,all,,,5               !划分为5等分
lsel,s,length,,l,l         !选择长度为l的线
lesize,all,,,35*3/2          !划分为35*3/2等分
lsel,s,length,,h-0.4,h-0.4   !选择长度为h-0.4的线
lesize,all,,,16            !划分为16等分
lsel,s,length,,0.4,0.4       !选择长度为0.4的线
lesize,all,,,2               !划分为2等分
lsel,s,length,,plank,plank   !选择长度为plank的线
lesize,all,,,2               !划分为2等分
lsel,s,length,,board-t,board-t   !选择长度为board-t的线
lesize,all,,,5               !划分为5等分
vmesh,1
vmesh,2
vmesh,3
vmesh,5
!模板材料
mp,dens,2,2500
mp,kxx,2,0.837         !模板的导热系数
mp,c,2,1.8               !模板的比热容
mat, 2                  !调用材料号为2的材料
type,1      
!模板划分网格,大小与墙体对应
lsel,s,length,,l,l         !选择长度为l的线
lesize,all,,,35*3/2          !划分为35*3/2等分
lsel,s,length,,0.02,0.02   !选择长度为0.02的线
lesize,all,,,1               !划分为1等分
lsel,s,length,,h-0.4,h-0.4   !选择长度为h-0.4的线
lesize,all,,,16            !划分为16等分
vmesh,8
vmesh,6
vmesh,7
!选中模板表面,建立WOOD(木头)组合面
asel,s,,,20,21
asel,a,,,37
cm,wood,area    !选中的面组成1组,编号为wood
!选中混凝土表面,建立conc1,conc2组合面
allsel
asel,s,,,4
asel,a,,,8
asel,a,,,14
asel,a,,,11
asel,a,,,18
asel,a,,,25
asel,a,,,7
asel,a,,,9
asel,a,,,12
cm,conc1,area    !选中的面组成1组,编号为conc1
allsel
asel,s,,,1,2
asel,a,,,6
cm,conc2,area
!得到墙体的节点数
allsel
vsel,s,,,1,2!选中编号为1,2的两个体
nslv,s,1      !选中体上的节点
!建立对称面约束
allsel
asel,s,loc,x,0   !建立X坐标为0的面
da,all,symm
DTRAN
!生成GEN_HOT文件,保存每小时混凝土的生热量
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*dim, he, array,1
*cfopen,GEN_HOT,txt
HE00=330*536*(1-exp(-0.69/24))
*vwrite,HE00
(f15.5)
*do, i, 1, hour
HE00=330*536*(1-exp(-0.69*(i/24)**0.56))
HE01=330*536*(1-exp(-0.69*(((i+1)/24))**0.56))
*vwrite,HE01-HE00
(f15.5)
*enddo
*cfclos
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!求解
/SOLU
ANTYPE,TRANSIENT,NEW   !定义分析类型
nropt, full   
allsel, all      !
nsel,s,,,all   !选所有节点
ic,all,temp,25   !初始温度25
*do, i, 1, hour
time,i
timint, on
*vread, he(1),GEN_HOT,txt,,,,,,i-1
(f25.15)
vsel,s,,,1
eslv,s
BFe,ALL,HGEN,,he(1)    !加水化热

*if,i,ge,48,then       !时间超过48小时要拆模
vsel,s,,,6,8
eslv,s
ekill,all
cmsel,s,conc1
cmsel,a,conc2
!在混凝土表面施加对流系数和空气温度
sfa,all,,CONV,53,air_max/2+air_min/2+(air_max/2-air_min/2)*cos(15*(i-7))
*else
cmsel,s,wood
!在模板表面施加对流系数和空气温度
sfa,all,,CONV,49.40,air_max/2+air_min/2+(air_max/2-air_min/2)*cos(15*(i-7))
cmsel,s,conc1
!在混凝土表面施加对流系数和空气温度
sfa,all,,CONV,53,air_max/2+air_min/2+(air_max/2-air_min/2)*cos(15*(i-7))
*endif
allsel
TRNOPT,FULL
deltim, 0.5,0.1,1!
AUTOTS,ON
KBC,0
outres,all,1
solve
*enddo
allsel

!后处理
/post1
allsel!全选
vsel,s,,,1,2
nslv,s,1      !选择所选体的节点
*get,n_num,node,,count   !得到的节点数
*cfopen,temp,txt,,append !创建文件
*do, i, 1, hour
set, I
*do, ii, 1, n_num
*get,te,node,ii,temp
*vwrite,te
(f15.10)
*enddo
*enddo
*cfclos    !文件关闭
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*dim, tt1, array,n_num
*cfopen,t_temp,txt,,append !
*vread,tt1(1),temp,txt
(f15.10)
*do,i,1,n_num
*set,s,tt1(i)
s=s-BEG_TEMP!得到温差
*vwrite,s
(f15.10)
*enddo
*cfclos
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*dim, tt2, array,n_num
*dim, tt3, array,n_num
*dim, tt4, array,n_num
*dim, tt5, array,n_num
*cfopen,t_temp,txt,,append !            !创建t_temp.txt文件
*do,i,1,hour-1
*vread,tt2(1),temp,txt,,,,,,n_num*(i-1) !读出数据
(f15.10)
*vread,tt3(1),temp,txt,,,,,,n_num*I   !读出数据
(f15.10)

*voper,tt4(1),tt3(1),sub,tt2(1)         !数组相减
*vwrite,tt4(1)
(f15.10)

*enddo
*cfclos
save
/post26                        !进入时间历程后处理
nsol,2,2286,temp,,nodetemp   !变量2286处的温度放入变量2中
plvar,2                        !显示变量的图形
/COLOR,PBAK,OFF
/replot
/ui,copy,save
fini

fem2000 发表于 2005-9-22 08:19:19

gus1977 发表于 2005-9-22 08:34:59

Re:水化热进行温度计算APDL文件

呵呵,是真的吗,楼主要自己辩护一下哦,最好把你的物理模型也贴上来,让大家比较容易理解。

liudapengsnd 发表于 2011-1-21 11:28:19

谢谢呀,太好了

hhgbhh 发表于 2011-5-11 15:59:24

不错,好资料

739898210 发表于 2015-1-30 10:49:13

谢谢楼主啦

willmutter 发表于 2015-11-11 10:14:58

谢谢楼主无私分享~
页: [1]
查看完整版本: 水化热进行温度计算APDL文件