huangfuminkyjy 发表于 2012-4-18 14:19:45

高斯热源 & 生死单元技术模型-谢谢

我用高斯热源(边界热流)和生死技术建立了一个简单的模型,其APDL如下或者附件所示。大家能帮忙看一下有问题吗?谢谢了。

/prep7                                             !进入前处理
/unit,SI                                           !指定单位制
et,1,plane13                                       !单元类型选择

               %几何尺寸
length=0.01                                        !长度
width=0.01                                       !宽度
blc4,0,0,length,width,0                            !矩形框


             %材料参数
mat,1                                             
mp,dens,1,2520                                     !密度
mp,kxx,1,1.03                                    !热导率
mp,C,1,800                                       !热熔

             %网格划分
rb=0.0001                                          !单元尺寸值      
esize,rb,0                                       !单元尺寸设定
eshape,0,2D                                        !单元形状
mshkey,0                                           !自由划分
allsel                                             !选择所有实体
amesh,all                                          !划分网格


            %求解
/solu

                     %高斯光束=======开始======                              

            %激光参数
p=40                                              !激光能量(W)
r=0.0035                                          !光斑直径(m)
qmax=p/(3.14159*r**2)                           !峰值功率(W/m2)
A=0.03                                          !吸收率
            %光斑中心
xcenter=length                                    !中心点的x坐标
ycenter=width/2                                 !中心点的x坐标
            %表维数
max_x=length/rb+1                                 !x向最大维数
max_y=width/rb+1                                  !y向最大维数                     
*dim,flux2,table,max_x,max_y,,x,y               !定义表
            %表头
*do,i,1,max_x,1                                 !x表头
flux2(i,0)=(i-1)*rb
*enddo
*do,j,1,max_y,1                                 !y表头
*flux2(0,j)=(j-1)*rb
*enddo
            %表元素
*do,i,1,max_x,1
*do,j,1,max_y,1
distance=sqrt(((i-1)*rb-xcenter)**2+((j-1)*rb-ycenter)**2)   !各个单元距离中心的距离
*if,distance,le,r,then                                       !半径内
flux2(i,j)=A*qmax*exp(-distance**2/r**2)                     !r为光强为1/e时的半径
*else                                                      !半径外
flux2(i,j)=0
*endif
*enddo
*enddo
                        %高斯光束=======结束======

      %时间总时间及时间步长
tall=0.5                                          !总时间
nt=30                                             !载荷步数
tsize=tall/nt                                       !时间子步

       %输出及求解设置                           
antype,4                                          !瞬态分析
autos,on                                          !自动时间步长跟踪
outres,,all                                       !输出控制
nropt,full                                          !牛顿-拉夫逊
kbc,1                                             !阶跃加载(貌似没有用)
      %初始温度和边界条件加载
tunif,20                                          !初始温度
nsel,s,loc,y,width                                  !选择上边界
sf,all,hflux2,%flux2%                               !热流加载

                              %循环求解及单元杀死=====开始=====
*do k,1,nt,1
time,k*tsize                                       !每次循环的时间                                                
nsel,all
solve                                             !求解

                               %杀死单元==开始==
Tr=3535                                             !材料去除温度
          %后处理-数据读取及单元选择
/post1
set,last                                          !读取最后一子步的数据
etable,melty,temp                                 !读取其温度值,并存在表melty中
esel,s,etab,melty,Tr                              !选择了温度大于Tr的单元格
finish

      %返回求解
/solu
ekill,all                                           !单元杀死
                               %杀死单元==结束==

antypes,,rest                                        !重复之前的设置/前一次分析的重新启动                                                         
*enddo
                           %循环求解及单元杀死=====结束=====


txt文件模型如下:



wq1627 发表于 2012-4-23 13:29:52

LZ有没有发现在一个子步里,温度超过熔点的现象。由于生死单元是在一个子步计算结束才判断,这样在一个子步里最大温度可能会超过熔点。请问LZ是如何解决这个问题的?

schuhi 发表于 2012-4-24 10:09:24

wq1627 发表于 2012-4-23 13:29 static/image/common/back.gif
LZ有没有发现在一个子步里,温度超过熔点的现象。由于生死单元是在一个子步计算结束才判断,这样在一个子步 ...

我也遇到这个问题,计算结果远远超过熔点

wq1627 发表于 2012-4-24 11:35:01

schuhi 发表于 2012-4-24 10:09 static/image/common/back.gif
我也遇到这个问题,计算结果远远超过熔点

这个问题现在还没解决,以后可以交流一下

huangfuminkyjy 发表于 2012-4-30 10:16:29

schuhi 发表于 2012-4-24 10:09 static/image/common/back.gif
我也遇到这个问题,计算结果远远超过熔点

这个问题是普遍的,不知道是为什么,我试过在后处理中对单元的温度进行了可视化,温度会比设置的偏差一些。

huangfuminkyjy 发表于 2012-4-30 10:19:50

wq1627 发表于 2012-4-23 13:29 static/image/common/back.gif
LZ有没有发现在一个子步里,温度超过熔点的现象。由于生死单元是在一个子步计算结束才判断,这样在一个子步 ...

恩,是的,这个现象很普遍,曾经吉大的一个学生发的SCI文章中就出现了这样的问题,而且随着加载时间的增加,其偏差很大。理论上其单元杀死之后,其温度应该恒定在熔化温度(或者附近),但那个论文得到的最高温度为1W多,这貌似与常理存在矛盾。

wq1627 发表于 2012-5-5 10:22:47

huangfuminkyjy 发表于 2012-4-30 10:19 static/image/common/back.gif
恩,是的,这个现象很普遍,曾经吉大的一个学生发的SCI文章中就出现了这样的问题,而且随着加载时间的增 ...

那没有人解决或者讨论过这个问题吗?或者这是FEM计算的一个bug

鼻涕虫害 发表于 2012-5-16 09:24:18

谢谢楼主,果断抱走
页: [1]
查看完整版本: 高斯热源 & 生死单元技术模型-谢谢