[原创]Abaqus传热分析HETVAL和USDFLD子程序联合

HETVALUSDFLD子程序联合

                                                    ---- 公众号‘CAE仿真实验室’出品

1HETVAL简介

Abaqus传热分析中,Hetval子程序常用于定义内部热源,该子程序可以定义材料内部的生热量(如相变、高分子结晶生热),并且能够调用state variable 状态变量,可以与USDFLD子程序联合使用。其函数体如下:

      SUBROUTINE HETVAL(CMNAME,TEMP,TIME,DTIME,STATEV,FLUX,

     1 PREDEF,DPRED)

      INCLUDE 'ABA_PARAM.INC'

      CHARACTER*80 CMNAME

      DIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),

     1 DPRED(*)

      User coding to define FLUX and update statev  !此处定义你的Flux() 更新状态变量

      RETURN

      END


 

2、模型  1mx1mx0.5m的方块,进行热应力耦合分析,选用C3D8T单元

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图1



3Hetval USDFLD联合

USDFLDHETVAL写在一个for文件中,HETVAL中通过State(1)来定义热源,而state(1)是通过USDFLD更新,实现数据传递

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图2 


4、材料 

设置材料为钢,给定力、热属性。 同时general 选项中添加 User Defined Filed Depvar Depvar中的number of solution-dependent state variables 根据实际需求设置(本例中设为1))。在Thermal 选项下添加Heat Generation

 

  blob.png

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图4

5、边界和分析步

给定初始温度30 、通过hetval子程序添加热生成率 1e7W/m3,下端面全部约束。选择*Coupled Temperature-displacement 分析步,进行热力学分析

 

6、建立作业

此时已经定义了USDFlDHETVAL子程序,但是USDFLD子程序还没有激活,需要通过* *INITIAL CONDITIONS, TYPE=FIELD来激活,导出iob inp文件 ,在STEP前面加上如下命令*INITIAL CONDITIONS, TYPE=FIELD, VARIABLE=1,如截图所示

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图5

 最后通过cmd命令提交job

 


 

7、结果展示

初始温度30

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图6

 通过Hetval 加载热生成率1e7W/m3,计算完温度32.84

 

 

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图7

热应力

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图8

 

理论计算

根据比热容 [原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图9 即可得到

 

7800*0.5*452*[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图10=1e7*0.5*1

[原创]Abaqus传热分析HETVAL和USDFLD子程序联合的图11

可见和计算结果完全吻合,说明了热源加载的正确性

 

8、总结

1、两个子程序写在一个for文件中,保证程序的正确性

2、两个子程序都要在material模块设置,并且USDFLD要通过initial condition关键字激活,否则不起作用

3、Initial condition 不支持CAE操作 所以通过cmd 提交job

4、USDFLD中按实际需求更改STATE(1)的值

   

     欢迎小伙伴们扫码关注我的公众号‘CAE仿真实验室’哦,我们将定期给大家分享有限元仿真干货,谢谢~

https://mmbiz.qlogo.cn/mmbiz_jpg/ZKtYgmRdvjvCyNCM9Bib9iakX2vLpPqRNWLEV4jh9kyegl0hp4KRWIE0z3ZDXib8xzeKsh8NjQGV86sPSPUNVt5cQ/0?wx_fmt=jpeg




(7条)
默认 最新
usdfld可以和很多子程序搭配使用~用起来很方便
评论 2 点赞 1
回复
老师想问下调用USDFLD子程序,所需要的软件VF和IVF能免费下载到吗?
评论 点赞
回复
老师你好,我想联合调用USDFLD和UMATHT,但发现在USDFLD中定义的SDV无法更新,输出值全为0,而单独使用USDFLD确是好使的,不知道为什么呢?
评论 点赞
老师你好,abaqus软件中一直施加热载荷,温度一直上升,怎么理解?
评论 点赞

查看更多评论 >

点赞 20 评论 11 收藏 29
关注