24小时热门版块排行榜    

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

看雨流年

金虫 (小有名气)

luanshi09

[求助] ANSYS中采用生死单元计算的热应力,发现被杀死的单元参与了受力,求指教! 已有1人参与

各位ANSYS大神:
      小弟初次接触热分析,在将计算出来的温度场,施加到温度单元SOLID70转换成实体单元SOLID45后,发现杀死的单元也参与了受力,还有一个问题,是我采用LDREAD命令进行温度场的提取和施加,计算时每一个时间的温度场,都是从1开始然后到指定的时间步(小弟疑虑是该处的时间步导致了被杀死的单元参与了受力,不知道怀疑的对还是不对),由于网格划分的命令流太长,此处就不附加了,现将温度单元转化为实体单元后的命令流附上,请大神帮小弟解惑,小弟在此感激不尽,献上我的大半金币(500),谢谢!

PS:如果命令流中取消掉*IF.....*ELSE这一段命令流的话,第二层的单元就是被杀死的,没有参与受力,如果采用*IF.....*ELSE语句将第二层激活,第二层单元就会在被杀死的状态下参与受力。
转化单元后的命令流:

!!!!!求解应力场
/PREP7
ETCHG,TTS
HOUR=168

*DIM,HER,ARRAY,1
*CFOPEN,TAN_MO,txt
*DO,I,1,HOUR
TE00=1.02*(3.55E10)*(1-EXP(-(I/12)*0.09))
*VWRITE,TE00
(F30.5)
*ENDDO
*CFCLOS

*DO,I,1,HOUR
MP,ALPX,I,1E-5                  !热膨胀系数
*VREAD,HER(1),TAN_MO,txt,,,,,,I-1
(F30.5)
MP,EX,I,HER(1)
MP,PRXY,I,0.2
MP,DENS,I,2500
*ENDDO

!定义边界
NSEL,S,LOC,Y,-0.01,0.01
D,ALL,UY             !竖向约束
ALLSEL

WPLAN,,15.350,0,-0.225,19.250,1.300,-0.225,19.250,1.300,0.225         
NSEL,S,LOC,Z,-0.01,0.01
WPCSYS,-1,0
D,ALL,UY
ALLSEL

NSEL,S,LOC,Y,-0.01,0.01
NSEL,R,LOC,X,-0.01,0.01
D,ALL,ALL
ALLSEL

NSEL,S,LOC,X,-0.1,0.1   !对称约束
DSYM,SYMM,X              
!完成边界的定义

NROPT,FULL        !打开牛顿—拉夫

CMSEL,S,DIERCENG   !选择已经定义的第二层单元
ESLV,S
EKILL,ALL           !杀死已经定义的第二层单元         

ESEL,S,LIVE
NSLE,S,1
NSEL,INVE
D,ALL,ALL            !约束第二层单元节点的自由度

*DO,I,1,8        
TIME,I
TIMINT,ON

/PREP7
CMSEL,S,DIYICENG
ESLV,S
EMODI,ALL,MAT,I              !修改材料属性

BFEDELE,ALL,TEMP         
SFADELE,ALL,TEMP

*IF,I,GE,6,THEN          !如果时间大于等于6,就激活第二层单元
/PREP7
ESEL,S,LIVE
NSLE,S
NSEL,INVE
DDELE,ALL,ALL               ! 删除第二层单元节点的约束

CMSEL,S,DIERCENG
ESLV,S
EALIVE,ALL             !激活第二层单元
ALLSEL

CMSEL,S,DIYICENG
ESLV,S
EMODI,ALL,MAT,I
ALLSEL

CMSEL,S,DIERCENG
ESLV,S
EMODI,ALL,MAT,I-5
ALLSEL

BFEDELE,ALL,TEMP
SFADELE,ALL,TEMP  

LDREAD,TEMP,,,I,,RES1,RTH                        !提取时间步为I的温度场,并作为荷载施加在结构上
TREF,30   
ALLSEL

*ELSE

CMSEL,S,DIYICENG
ESLV,S
LDREAD,TEMP,,,I,,RES1,RTH
TREF,30                           !指定参考温度
ALLSEL

*ENDIF

/SOLU            
NLGEOM,ON

DELTIM,1,1,1
AUTOTS,ON
OUTRES,ALL,ALL
SOLVE
*ENDDO
allsel
   
SAVE
FINISH
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

坚持,是成功的保证之一!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

看雨流年

金虫 (小有名气)

luanshi09

引用回帖:
4楼: Originally posted by shgao20 at 2017-01-02 08:05:35
另一个办法:求解时不选择 (Unselected) 被杀死的单元和相关的节点,那么它们就不会参与求解了。求解后进行后处理时,也不要激活这些被杀死的单元。

我也想这样,苦逼的是,我后面最看重的就是被杀死单元在结构中的受力是什么情况,泪崩了。。。。。
坚持,是成功的保证之一!
5楼2017-01-02 12:35:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

shgao20

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
ANSYS 处理被杀死的单元,只是将这些单元的材料参数修改为很小的值,并不是真正的杀死,因此求解后这些单元还是会有一些应力,只是很小而已。
  或者,在转换为应力分析后,检查一下这些单元是否仍是被杀死的单元。
2楼2017-01-01 08:00:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

看雨流年

金虫 (小有名气)

luanshi09

引用回帖:
2楼: Originally posted by shgao20 at 2017-01-01 08:00:53
ANSYS 处理被杀死的单元,只是将这些单元的材料参数修改为很小的值,并不是真正的杀死,因此求解后这些单元还是会有一些应力,只是很小而已。
  或者,在转换为应力分析后,检查一下这些单元是否仍是被杀死的单元。

嗯嗯,我理解楼主的意思,我也这样想过,所以我把激活单元后的命令流删掉后,得到的结果就很完美(杀死的单元应力可以忽略),一旦杀死的单元激活以后,就会发现,被杀死的单元在“死亡阶段”也参与了受力,大小有0.3MPA,所以感觉这个结果是不对的。因为LREAD命令的读取温度分布并施加于单元(它施加第N步温度场的时候,从电脑的显示看,是从第一步一直到第N步的,我怀疑是不是这里的问题?)
坚持,是成功的保证之一!
3楼2017-01-01 11:19:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

【答案】应助回帖

另一个办法:求解时不选择 (Unselected) 被杀死的单元和相关的节点,那么它们就不会参与求解了。求解后进行后处理时,也不要激活这些被杀死的单元。
4楼2017-01-02 08:05:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见