请教shell57,solid70的耦合
小弟最近在弄激光弯曲模型,计划用shell-solid耦合来模拟(扫描区域solid,其他区域用shell)具体见命令流,我的问题是,扫描结束后,温度正确(和全部用实体差2°),可是冷却100s后温度明显错误。求大侠指点迷津,思索几天实在不得要领才上来请教的。FINI
/CLEAR
/FILNAME,Analysis of Laser Bending
/UNITS,MPA !国际单位
/PREP7
length=0.08 !长宽高
width=0.08
hight=0.002
h=20 !对流系数
T0=25 !室温
A=0.55 !表面吸收系数
P=1000 !激光功率1000W
R=0.003 !光斑半径3mm
nclng=2
*dim,airclng,array,nclng
airclng(1)=50,100
!单元定义
ET,1,SOLID70 !3D热分析单元
ET,2,SHELL57 !面单元热分析单元
R,2,0.002
ET,3,SURF152 !表面效应单元
KEYOPT,3,3,0 !单元152属性设置
KEYOPT,3,4,1 !solid70 不带中间节点,所以为exclude 1
KEYOPT,3,5,0 !因为surf152施加对流,可以为1,或0,但要在surf152上同时施加辐射,必须为Include 1。若施加热流必须为exclude 0
KEYOPT,3,6,0 !又因为若surf152施加热流时K5必须为exclued 0 。本模型把热流施加在surf152上,对流和辐射在solid70
KEYOPT,3,7,0
KEYOPT,3,8,1 !表面效应单元上加载热流,忽略对流。
KEYOPT,3,9,0 !定义单元关键字(辐射用到),这里的surf152没有施加辐射!
!材料定义
MP,DENS,1,7850
MPTEMP,1,20,300,600,900
MPDATA,C,1,,438,570,720,580
MPDATA,KXX,1,,53,44.1,34.2,27
MP,DENS,2,7850
MPDATA,C,2,,438,570,720,580
MPDATA,KXX,2,,53,44.1,34.2,27
!建模划网
/VIEW,1,1,1,1
block,0,0.08,width/2-0.006,width/2+0.006,0,0.002!体
/PNUM,VOLU,ON
TYPE,1
ESIZE,0.0005
VMESH,all
wpoffs,0,0,0.001 !面
RECT,0,0.08,0,width/2-0.005
RECT,0,0.08,width/2+0.005,0.08
TYPE,2
REAL,2
ESIZE,0.0005
/PNUM,AREA,ON
AMESH,7,8,1
ALLS
R,4
type,3 !SURF152
REAL,4
asel,s,AREA,,2 !选中间的面2
AMESH,all !面单元SURF152网格划分,其上加热流,忽略对流
ALLS
nummrg,node !合并节点
***********************************************************************************************************
LSIZE=length/40 !单步长度
!以下部分为变速度修改
*DIM,totalt,array,51
!计算匀速的前个单元步长时间t1(1-5)
*DIM,t1,array,11
*DIM,velo1,array,12
*DO,I,0,11,1
velo1(I+1)=0.045
*ENDDO
*DO,n,1,11,1 !计算每小步时间
t1(n)=2*LSIZE/(velo1(n)+velo1(n+1))
*ENDDO
*DIM,t2,array,11
*DIM,velo2,array,12
*DO,I,0,11,1
velo2(I+1)=0.045
*ENDDO
*DO,n,1,11,1 !计算每小步时间
t2(n)=2*LSIZE/(velo2(n)+velo2(n+1))
*ENDDO
*DIM,t3,array,9
*DIM,velo3,array,10
*DO,I,0,9,1
velo3(I+1)=0.045
*ENDDO
*DO,n,1,9,1 !计算每小步时间
t3(n)=2*LSIZE/(velo3(n)+velo3(n+1))
*ENDDO
*DIM,t4,array,9
*DIM,velo4,array,10
*DO,I,0,9,1
velo4(I+1)=0.045
*ENDDO
*DO,n,1,9,1 !计算每小步时间
t4(n)=2*LSIZE/(velo4(n)+velo4(n+1))
*ENDDO
*DO,n,1,6,1
totalt(n)=n*t1(1) !光斑中心到达薄板前的三个时间点定为t1(1)
*ENDDO
*DO,n,1,11
totalt(n+6)=totalt(n+5)+t1(n)!存入总时间数组
*ENDDo
*Do,n,1,11
totalt(n+17)=totalt(n+16)+t2(n)!存入总时间数组
*ENDDo
*Do,n,1,9
totalt(n+28)=totalt(n+27)+t3(n)!存入总时间数组
*ENDDo
*DO,n,1,9
totalt(n+37)=totalt(n+36)+t4(n)!存入总时间数组
*ENDDo
*DO,n,1,5,1
totalt(n+46)=totalt(n+45)+t4(1)!光斑中心离开薄板前的三个时间点定为t1(1)
*ENDDO
!************************************************************************************************************
KK=1 !能量集中系数
MAX_TIME=41+10 !扫描起始和结束处各加五个时间点
MAX_X=41+10
MAX_Y=11
x1=0 !遍历单元时x的坐标
*DIM,FLUX2,TABLE,MAX_X,MAX_Y,MAX_TIME,X,Y,TIME
*DO,K,1,MAX_TIME,1
*DO,I,1,5,1 !进入扫描前的三个坐标
FLUX2(I,0,K)= -(6-I)*0.001
*ENDDO
*DO,I,6,MAX_X-5,1 !扫描期间的坐标
FLUX2(I,0,K)=(I-6)*LSIZE
*ENDDO
*DO,I,47,MAX_X,1 !扫描结束的坐标
FLUX2(I,0,K)=(I-46)*0.001+0.08
*ENDDO
*DO,J,1,MAX_Y,1
FLUX2(0,J,K)=(J-1)*0.001+0.035!y方向只存储10个坐标y∈(0.035,0.045),因为光斑直径是0.006,扫描线位置是0.04
*ENDDO
*IF,K,LE,5,THEN !光斑中心未到达薄板之前的三步
*DO,I,1,MAX_X,1
*DO,J,1,MAX_Y,1 !遍历所有单元
XCENTER=-(6-K)*0.001
YCENTER=width/2
*IF,I,LE,5,THEN
x1=-(6-I)*0.001
*ELSEIF,I,LE,46,THEN
x1=(I-6)*LSIZE
*ELSE
x1=(I-46)*0.001+0.08
*ENDIF
DISTANCE=SQRT((x1 -XCENTER)**2+((J-1)*0.001+0.035-YCENTER)**2)
*IF,DISTANCE,LE,R,THEN
FLUX2(I,J,K)=(2*P*A)/(3.14*R*R)/EXP(2*kk*DISTANCE**2/(R**2))
*ELSE
FLUX2(I,J,K)=0 !其他区域为0
*ENDIF
*ENDDO
*ENDDO
*ELSEIF,K,LE,46,THEN !光斑中心到达薄板
*DO,I,1,MAX_X,1
*DO,J,1,MAX_Y,1 !遍历所有单元
XCENTER=(K-6)*LSIZE
YCENTER=width/2
*IF,I,LE,5,THEN
x1=-(6-I)*0.001
*ELSEIF,I,LE,46,THEN
x1=(I-6)*LSIZE
*ELSE
x1=(I-46)*0.001+0.08
*ENDIF
DISTANCE=SQRT((x1 -XCENTER)**2+((J-1)*0.001+0.035-YCENTER)**2)
*IF,DISTANCE,LE,R,THEN
FLUX2(I,J,K)=(2*P*A)/(3.14*R*R)/EXP(2*kk*DISTANCE**2/(R**2))
*ELSE
FLUX2(I,J,K)=0 !其他区域为0
*ENDIF
*ENDDO
*ENDDO
*ELSE !光斑中心离开薄板之后的三步
*DO,I,1,MAX_X,1
*DO,J,1,MAX_Y,1 !遍历所有单元
XCENTER=(K-46)*0.001+0.08
YCENTER=width/2
*IF,I,LE,5,THEN
x1=-(6-I)*0.001
*ELSEIF,I,LE,46,THEN
x1=(I-6)*LSIZE
*ELSE
x1=(I-46)*0.001+0.08
*ENDIF
DISTANCE=SQRT((x1 -XCENTER)**2+((J-1)*0.001+0.035-YCENTER)**2)
*IF,DISTANCE,LE,R,THEN
FLUX2(I,J,K)=(2*P*A)/(3.14*R*R)/EXP(2*kk*DISTANCE**2/(R**2))
*ELSE
FLUX2(I,J,K)=0 !其他区域为0
*ENDIF
*ENDDO
*ENDDO
*ENDIF
FLUX2(0,0,K)=totalt(k) !换页(时间)
*ENDDO
SAVE
allsel,all
WPOFFS,0,0,-0.001
/SOLU
ANTYPE,TRANS
TUNIF,25 !初始温度25度 !uniform temperature =25
esel,s,type,,1 !确定对流边界条件 加于solid70和plane13上
esel,a,type,,2
sf,all,conv,h,T0
!开始计算
nsubst,2,5,1
TIMINT,ON
AUTOTS,OFF
*DO,i,1,51,1
/VIEW,1,1,1,1
/ANG,1
/REP,FAST
TIME,totalt(i)
AUTOTS,0
KBC,0
TSRES,ERASE
nsel,s,loc,x,(i-1)*LSIZE-R,(i-1)*LSIZE+R !选择要加载的单元
nsel,r,loc,y,width/2-R,width/2+R
nsel,r,loc,z,hight
ESLN
ESEL,R,TYPE,,3
sfe,all,,hflux,,%FLUX2%
allsel,all
SOLVE
OUTRES,ALL,ALL
/PSF,HFLUX,,3
/REPLOT
*ENDDO
!冷却100s******************************************
*do,nc,1,nclng,1
AUTOS,OFF
NSUBST,30,40,1
time,totalt(51)+airclng(nc)
ESEL,S,TYPE,,3
sfe,all,,hflux,,0
allsel,all
solve
*enddo
OUTRES,ALL,ALL
/contour,all,30,auto
/replot 抱歉,上面有些注释没有更新,辐射由于对弯曲角度影响不大,已去掉。考虑热流,对流。奇怪的是我用shell63,solid45进行结构分析误差也很小。耦合的方法用尝试了三种:1)MPC(用shsd命令自动接触);2)嵌入两层(本贴的方法);3)在实体接触面上esurf一个壳,再和shell单元tie,也存在冷却后温度场错误的问题。
忘大侠及时出手相助啊,在线等。 没人顶啊~大家共同进步嘛! 为什么没有人奥?我的那个也是啊。。。很愁人啊:'( 我找到原因了,对流加载的问题,实体加载在solid70外表面,壳体加载在中间位置,加对流后厚度方向导致温度不均匀了!壳体明显散热快!但是还没有解决,4楼,有空我们探讨下啊 问题已解决,这一板块,人气也忒不旺,不过通过这次经历,觉得很多问题别人是帮不了你的,最多能给你点启发,解决还得靠自己多动动脑子! 谢谢楼主的启发!收藏了! 自己动手丰衣足食呀~ 感谢楼主 又学习了
页:
[1]