Hetval子程序常用于定义内部热源,该子程序可以定义材料内部的生热量(如相变、高分子结晶生热),并且能够调用state variable 状态变量,可以与USDFLD子程序联合使用。
HETVAL子程序用于计算传热系数并在单元上定义,USDFLD子程序用于在每个时间布更新温度场。
一、HETVAL
官方文档介绍:HETVAL可用于定义由于材料内部热量而产生的热通量,如,“phase changes occurring during the solution;”
二、USDFLD
该子程序用于在每个时间步更新场变量的值。通过编写 USDFLD 子程序可以实现自定义的场变量行为,例如更新温度场、应力场、位移场等。
用户自定义场在property–>通用–>用户自定义场中设置,在设置其他属性如弹性时指定场变量的个数
- 某变量值(值域)为场变量(定义域)的函数,某变量值由场变量值线性内插获得
- 场变量值由子程序自定义函 数来赋予
简单工况:在5102的板上,弹性模量E沿y轴方向发生变化
子程序源程序:
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
Y = COORD(2)
FIELD(1) = abs(Y)
open (16, file='H:\practice_recode\USDFLD
&\test_usdfld.dat',status='unknown')
write(16,*),'Y_coordinate = ', Y
RETURN
END