前言
- 用于定义材料内热产生的热通量,例如发生相变时;
- 允许内热生成依赖于状态变量(例如材料转化比例),这些状态变量随解演变,并储存于解依赖的状态变量中;
- 在材料定义中包含体积热生成、温度-位移耦合、热-电耦合或热-电-力耦合的分析程序的所有物质计算点上调用;
- 如果有必要包含与潜热释放相关的相变动力学理论(例如在聚合物铸造过程中的结晶预测),是有用的;
- 如果有场变量在传入前需要预定义,可以与子程序USDFLD联合使用;
- 不可同子程序UMATHT一起使用。
用户接口
SUBROUTINE HETVAL(CMNAME,TEMP,TIME,DTIME,STATEV,FLUX,
1 PREDEF,DPRED)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
C
DIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),
1 DPRED(*)
user coding to define FLUX and update STATEV
RETURN
END
需要定义的变量
- FLUX(1)
在物质计算点上的热通量,r(单位时间单位体积上的热能,单位: J T − 1 L − 3 JT^{-1}L^{-3} JT−1L−3) - FLUX(2)
单位温度的热通量变化率, ∂ r / ∂ θ ∂r/∂θ ∂r/∂θ。只有当热通量依赖于温度时,该变量为非零变量。该变量需要定义一个正确的Jacobian矩阵。
更新的变量
- STATEV(*)
在当前点处包含用户定义的解依赖的状态变量数组。
在非耦合的热传导分析中,STATEV在增量开始时作为变量的值传入到子程序HETVAL中。然而,在子程序USDFLD中对STATEV的任何更新都将包含在传递给子程序HETVAL的值中,因为这个子程序在HETVAL之前被调用。此外,如果HETVAL被用于全耦合的温度-位移或热-电-力分析中,且材料的力学性质由子程序UEXPAN、CREEP、UMAT、UTRS所定义,那么这些子程序将在该进程前调用。因此,任何在子程序UEXPAN、CREEP、UMAT、UTRS中完成的STATEV更新都将包含在传递到这个子程序的值中。
在任何情况下,STATEV都应该从包含当前增量末尾的状态变量值的子程序HETVAL中返回。
传入信息的变量
- CMNAME
用户指定的材料名,左对齐。 - TEMP(1)
当前温度。 - TEMP(2)
温度增量。 - TIME(1)
增量末尾的步长。 - TIME(2)
增量末尾的总时长。 - DTIME
时间增量。 - PREDEF(*)
当前点处包含用户指定场变量的所有值的数组(分析开始时为初始值,分析过程中为当前值)。 - DPRED(*)
预定义场变量的增量数组。
——仅供学习使用,如有侵权请联系本人删除。