24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1866  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

beyondwyk

铁虫 (初入文坛)

[求助] 求助焊接温度应力场计算的问题已有1人参与

萌新求助!关于焊接应力ANSYS仿真的,我先算了一个名为welding2的焊接温度场计算,APDL如下:
/cle
/FILNAME,welding2
/prep7
/units,si
et,1,solid70 !设定单元类型SOLID70
block,0,0.08,0,0.090,0,0.006 !建立压紧部分的实体,以米为单位建立模型
block,0.08,0.17,0,0.090,0,0.006 !建立压紧部分到焊缝区域实体
block,0.17,0.19,0,0.090,0,0.006 !建立焊接部分实体
block,0.19,0.3,0,0.090,0,0.006 !建立焊接区域到自由端的实体
vglue,all !将各区域通过布尔操作GLUE粘起来

mptemp,1,20,100,300,400,500,700
mptemp,7,900,1470,1500,1600,2000,5000!定义温度
mpdata,kxx,1,1,52,51,44,43,37,32.5 !定义随温度变化的热导率kxx
mpdata,kxx,1,7,26.2,120,120,120,120,120
mpdata,c,1,1,420,487,513,530,547,619 !定义随温度变化的比热容C
mpdata,c,1,7,694,694,694,695,698,698
MPTEMP,1,0  
MPDATA,DENS,1,,7860
/PNUM,LINE,1
lesize,53,,,20,,,,,1 !对编号为53的线段设置划分单元数为20个
lesize,57,,,20,3,,,,1
lesize,60,,,20,3,,,,1
lesize,58,,,20,3,,,,1
lesize,59,,,20,3,,,,1
lesize,52,,,20,0.3,,,,1
lesize,49,,,20,0.3,,,,1
lesize,50,,,20,0.3,,,,1
lesize,51,,,20,0.3,,,,1
lesize,2,,,5,,,,,1
lesize,42,,,30,,,,,1
LSEL,S,,,11,12,
LESIZE,ALL,,,4,,,,,1
ALLSEL,ALL
TYPE,1
MAT,1
MSHAPE,0,3D
MSHKEY,1
VMESH,ALL


*dim,CONV1,table,16,1,0,temp,,  !对流系数设置
*set,CONV1(1,0,1),20
*set,CONV1(1,1,1),2.5
*set,CONV1(2,0,1),100
*set,CONV1(2,1,1),5.4
*set,CONV1(3,0,1),300
*set,CONV1(3,1,1),7
*set,CONV1(4,0,1),500
*set,CONV1(4,1,1),7.7
*set,CONV1(5,0,1),750
*set,CONV1(5,1,1),8.2
*set,CONV1(6,0,1),1000
*set,CONV1(6,1,1),8.5
*set,CONV1(7,0,1),1590
*set,CONV1(7,1,1),9.1
*set,CONV1(8,0,1),5000
*set,CONV1(8,1,1),10.0
NSEL,S,EXT
SF,ALL,CONV,%CONV1%,20
ALLSEl,ALL
!定义计算参数
RR=3.25e-3 !电弧作用半径
U=22 !电压
II=220 !电流
q0=3*U*II*0.7/(3.14*RR**2) !计算焊缝中心的热流密度
j=0 !定义累积时间变量
/SOLU
TUNIF,20,
*DO,i,0,0.090,0.003 !热源沿x方向移动,热源中心从x=0位置移动到90mm,每次移动3mm
        j=j+0.25 !热源加载和计算时间
        LOCAL,11,1,0.18,i, !定义局部柱坐标系,其原点在直角坐标系x=180mm和y=i位置,这样局部柱坐标系就随循环变量i移动
        NSEL,S,LOC,X,0,0.00325 !在局部柱坐标系中选择半径为3.25mm的圆柱范围的节点
        NSEL,R,LOC,Z,0.006 !在所选节点中选择z坐标为6mm的节点,即上表面节点
        CSYS,0 !转换到直角坐标系
        ESLN,S,0 !选择包含所选中节点的单元
        *GET,nMAX,ELEM,,NUM,MAX !获得所选中单元的最大编号
        *GET,nMIN,ELEM,,NUM,MIN !获得所选中单元的最小编号
        *DO,ei,nMIN,nMAX
                *IF,ESEL(ei),EQ,1,THEN !如果单元ei被选中
                        *get,elx,elem,ei,CENT,x !获得单元中心直角坐标系下的x坐标值
                        *get,ely,elem,ei,CENT,y !获得单元中心直角坐标系下的y坐标值
                        q1=1*exp((-3)*(elx-0.18)**2/((3.25e-3)**2))*exp((-3)*(abs(ely-i))**2/((3.25e-3)**2)) !计算热流密度值
                        qm=q0*q1
                        SFE,ei,6,HFLUX,,qm,,,
                        *ENDIF
        *ENDDO
        ANTYPE,4
        TIME,j
        DELTIM,0.01
        AUTOTS,on
        outres,all,all
        ALLSEL,ALL
        SOLVE
        SFDELE,ALL,HFLUX !删除表面热流载荷密度
        SFDELE,ALL,CONV !删除表面对流载荷
*ENDDO
nsel,s,ext
sf,all,conv,%conv1%,20
allsel,all
time,20
deltim,0.05
outres,all,all
autots,on
solve

time,60
deltim,0.5
allsel,all
outres,all,all
solve
finish
然后应力场算了很久,结果总是不对,应力太小了,我怀疑是读取温度场的时候出了错误,但试了很多次不知道具体错在哪里,还请大神指教:
/cle
/FILNAME,HJB_STRESS
/prep7
/units,si
et,1,solid185 !设定单元类型SOLID185
block,0,0.08,0,0.090,0,0.006 !建立压紧部分的实体,以米为单位建立模型
block,0.08,0.17,0,0.090,0,0.006 !建立压紧部分到焊缝区域实体
block,0.17,0.19,0,0.090,0,0.006 !建立焊接部分实体
block,0.19,0.3,0,0.090,0,0.006 !建立焊接区域到自由端的实体
vglue,all !将各区域通过布尔操作GLUE粘起来
mptemp,1,20,100,200,300,400,500
mptemp,7,700,1000,1500,5000!定义温度
MPDATA,EX,1,1,212E9,209E9,201E9,193E9,184E9,175E9
MPDATA,EX,1,7,10E9,10E9,10E9,10E9
MPDATA,PRXY,1,1,0.288,0.291,0.294,0.288,0.283,0.289
MPDATA,PRXY,1,7,0.2892,0.289,0.289,0.289
MPDATA,ALPX,1,1,11.7E-6,12E-6,12.6E-6,13.3E-6,13.9E-6,14.2E-6
MPDATA,ALPX,1,7,14.8E-6,14.8E-6,14.8E-6,14.8E-6
MP,REFT,1,20
MPDATA,DENS,1,,7860

!屈服强度 mises屈服准则+双线性等向强化
tb,bkin,1,6
TBTEMP,20,1
TBDATA,1,235e6
TBTEMP,100,2
TBDATA,1,200e6
TBTEMP,400,3
TBDATA,1,150e6
TBTEMP,700,4
TBDATA,1,30e6
TBTEMP,1000,5
TBDATA,1,10e6
TBTEMP,5000,6
TBDATA,1,1e6
/PNUM,LINE,1
lesize,53,,,20,,,,,1 !对编号为53的线段设置划分单元数为20个
lesize,57,,,20,3,,,,1
lesize,60,,,20,3,,,,1
lesize,58,,,20,3,,,,1
lesize,59,,,20,3,,,,1
lesize,52,,,20,0.3,,,,1
lesize,49,,,20,0.3,,,,1
lesize,50,,,20,0.3,,,,1
lesize,51,,,20,0.3,,,,1
lesize,2,,,5,,,,,1
lesize,42,,,30,,,,,1
LSEL,S,,,11,12,
LESIZE,ALL,,,4,,,,,1
ALLSEL,ALL
TYPE,1
MAT,1
MSHAPE,0,3D
MSHKEY,1
VMESH,ALL

NSEL,S,LOC,X,0,0.08
NSEL,R,LOC,Z,0
D,ALL,,,,,,UX,UY,UZ,,,
ALLSEL,ALL
NSEL,S,LOC,X,0.055,0.08
NSEL,R,LOC,Z,0.006
D,ALL,,,,,,UX,UY,UZ,,,
ALLSEL,ALL

/SOLU
*DO,I,0.01,0.1,0.01
OUTRES,ALL,LAST
allsel,all
LDREAD,TEMP,,,I,,\'welding2\',\'rth\',\'\'
TIME,I
DELTIM,0.005,0.0001,0.01,0
KBC,0
ANTYPE,4
AUTOTS,ON
ALLSEL,ALL
SOLVE
*ENDDO

*DO,I,7.8,20,0.05
OUTRES,ALL,LAST
allsel,all
LDREAD,TEMP,,,I,,\'welding2\',\'rth\',\'\'
TIME,I
DELTIM,0.025,0.005,0.05
KBC,0
ALLSEL,ALL
SOLVE
*ENDDO
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

beyondwyk

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by shgao20 at 2017-08-15 08:38:41
你完成热分析后,转换为结构分析的操作不对。因为你重新创建几何并划分网格,这样做不能保证新的结构网格与原来的热网格完全一致,因而读入温度结果时由于节点编号不同有可能出现问题,导致结构分析结果不对。
  正 ...

非常感谢你的回复,关于单元转换的问题,因为两次建模划分网格的过程都是一样的,应该不存在你所说的节点编号不同的问题吧。ANSYS给我反馈的错误信息是这样的
*** WARNING ***                         CP =       8.734   TIME= 08:09:18
Material property EX of material 1 is evaluated at a temperature of 0,  
which is below the supplied temperature range.  Temperature range      
checking terminates.                                                   
似乎是说温度为0?就是没有读取上?
最后那个循环是故意的因为算的时间太久了,先算0.1s看结果是不是合理的。
当然我会尝试你的意见进行修改,再次感谢!
3楼2017-08-15 09:48:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

shgao20

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
你完成热分析后,转换为结构分析的操作不对。因为你重新创建几何并划分网格,这样做不能保证新的结构网格与原来的热网格完全一致,因而读入温度结果时由于节点编号不同有可能出现问题,导致结构分析结果不对。
  正确的做法是:
  在热分析之后,线退出求解模块 (finish 命令),然后修改工作文件名 (/filname 命令),再进入前处理,使用 etchg 命令 (Main Menu>Preprocessor>Element Type>Switch Elem Type) 将热分析都有转换为对应的结构分析单元,将修改后的模型存盘。然后定义结构分析的材料属性、约束条件、设置不同的载荷步,分别读取不同时间的热分析结果,进行求解设置和求解。
  另外,你在结构分析部分的循环语句:
    /SOLU
    *DO,I,0.01,0.1,0.01
  最多执行一步 (I=0.01),不知是否你需要的。
2楼2017-08-15 08:38:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

【答案】应助回帖

由于你是采用自由划分网格,因此即使操作过程基本相同,也不能确保热网格和结构网格完全相同,当然也不是说一定不一样,这个问题还是小心一些为好。何况直接使用 ETCHG 命令可以节省大量的工作量。
  至于温度 0 时的警告信息,你需要查看一下温度分析结果,是否没有外推;特别是是否存在小于 20 度的温度结果。因为你的材料属性是随温度变化的,而且你定义材料属性的最小温度是 20 度,那么小于 20 的温度,其材料属性就只能是估计的 (实际是根据定义的 20 和 100 度时的材料属性外推的)。解决办法:一是修改所有的材料属性定义,将最小温度改为 0 度或更小一些;或者忽略这个警告信息。因为看你定义的材料属性随温度变化的数据,外推到 0 度,其数据与 20 度时不会有太大差别。
4楼2017-08-16 09:00:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见