| 查看: 1865 | 回复: 3 | ||||
[求助]
求助焊接温度应力场计算的问题已有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 |
» 猜你喜欢
导师想让我从独立一作变成了共一第一
已经有9人回复
博士读完未来一定会好吗
已经有23人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
申请2026年博士
已经有6人回复
shgao20
专家顾问 (职业作家)
-

专家经验: +809 - 仿真EPI: 1
- 应助: 1311 (讲师)
- 金币: 13381.4
- 红花: 267
- 帖子: 3531
- 在线: 473.4小时
- 虫号: 3644138
- 注册: 2015-01-14
- 专业: 动力学与控制
- 管辖: 仿真模拟
【答案】应助回帖
感谢参与,应助指数 +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
|
非常感谢你的回复,关于单元转换的问题,因为两次建模划分网格的过程都是一样的,应该不存在你所说的节点编号不同的问题吧。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
shgao20
专家顾问 (职业作家)
-

专家经验: +809 - 仿真EPI: 1
- 应助: 1311 (讲师)
- 金币: 13381.4
- 红花: 267
- 帖子: 3531
- 在线: 473.4小时
- 虫号: 3644138
- 注册: 2015-01-14
- 专业: 动力学与控制
- 管辖: 仿真模拟
【答案】应助回帖
|
由于你是采用自由划分网格,因此即使操作过程基本相同,也不能确保热网格和结构网格完全相同,当然也不是说一定不一样,这个问题还是小心一些为好。何况直接使用 ETCHG 命令可以节省大量的工作量。 至于温度 0 时的警告信息,你需要查看一下温度分析结果,是否没有外推;特别是是否存在小于 20 度的温度结果。因为你的材料属性是随温度变化的,而且你定义材料属性的最小温度是 20 度,那么小于 20 的温度,其材料属性就只能是估计的 (实际是根据定义的 20 和 100 度时的材料属性外推的)。解决办法:一是修改所有的材料属性定义,将最小温度改为 0 度或更小一些;或者忽略这个警告信息。因为看你定义的材料属性随温度变化的数据,外推到 0 度,其数据与 20 度时不会有太大差别。 |
4楼2017-08-16 09:00:15













回复此楼