UMATHT子程序 您所在的位置:网站首页 abaqus热电 UMATHT子程序

UMATHT子程序

2023-11-08 17:17| 来源: 网络整理| 查看: 265

UMATHT子程序 前言使用带有耦合温度-位移和耦合热-电-结构元件的子程序用户子程序接口要定义的变量可更新的变量为信息传入的变量示例:使用多个用户定义的热材料模型示例:非耦合传热

前言

用户子程序 UMATHT: 可用于定义材料的热本构行为以及传热过程中的内部生热; 将在材料定义包括用户定义的热材料行为的元素的所有材料计算点处调用; 可与关于传热分析程序中讨论的程序一起使用 ; 可以使用依赖于解决方案的状态变量; 必须定义每单位质量的内能及其相对于温度和温度空间梯度的变化; 必须定义热通量矢量及其相对于温度和温度梯度的变化; 必须在增量结束时将依赖于解决方案的状态变量更新为它们的值; 可以与用户子程序USDFLD结合使用,在 传入之前重新定义任何字段变量;和在用户定义的热材料行为中进一步描述 。

目录 前言使用带有耦合温度-位移和耦合热-电-结构元件的子程序用户子程序接口要定义的变量可更新的变量为信息传入的变量示例:使用多个用户定义的热材料模型示例:非耦合传热

使用带有耦合温度-位移和耦合热-电-结构元件的子程序

使用带有耦合温度-位移和耦合热-电-结构元件的子程序UMATHT 如果机械和热场不是通过塑性耗散耦合,则用户子程序 UMATHT应仅用于减少积分或修改的耦合温度位移和耦合热电结构元件。完全集成的温度-位移耦合和热-电-结构耦合元件不存在此类限制。

用户子程序接口 User subroutine interface SUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG, 1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED, 2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT, 3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD), 1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD), 2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3) user coding to define U,DUDT,DUDG,FLUX,DFDT,DFDG, and possibly update STATEV, PNEWDT RETURN END 要定义的变量

U -增量结束时每单位质量的内部热能U。此变量作为增量开始时的值传入,并且必须在增量结束时更新为其值。

DUDT -每单位质量内热能随温度的变化, ∂⁡U/∂⁡θ, 在增量结束时计算。

DUDG(NTGRD) -每单位质量的内部热能随温度空间梯度的变化, ∂⁡U/∂⁡(∂⁡θ/∂⁡X), 在增量结束时。该数组的大小取决于如下定义的NTGRD值 。该项在经典传热分析中通常为零。

FLUX(NTGRD) -热通量矢量,f, 在增量结束时。此变量与增量开始时的值一起传入,并且必须更新为增量结束时的值。

DFDT(NTGRD) -热通量矢量相对于温度的变化, ∂⁡F/∂⁡θ, 在增量结束时计算。

DFDG(NTGRD,NTGRD) -热通量矢量相对于温度空间梯度的变化, ∂⁡F/∂⁡(∂⁡θ/∂⁡X), 在增量结束时。该数组的大小取决于如下定义的NTGRD值 。

可更新的变量

STATEV(NSTATV) 包含依赖于解决方案的状态变量的数组。 在非耦合传热分析中,STATEV在增量开始时与这些变量的值一起传递到 UMATHT。但是,在用户子程序USDFLD中对STATEV所做的 任何更改都将包含在传递给UMATHT的值中 ,因为 USDFLD在UMATHT之前被调用 。此外,如果 UMATHT用于完全耦合的温度-位移或耦合的热-电-结构分析和用户子程序 CREEP、用户子程序 UEXPAN、用户子程序 UMAT或用户子程序 UTRS用于定义材料的机械行为,这些程序在此程序之前调用;因此,任何更新 STATEV在完成 蠕变, UEXPAN, UMAT,或 非编码区将被包括在传递到值 UMATHT。 在所有情况下,STATEV都应该作为当前增量结束时状态变量的值从UMATHT传回 。

PNEWDT 建议的新时间增量与正在使用的时间增量的比率(DTIME,见下文)。此变量允许您为Abaqus/Standard 中的自动时间增量算法提供输入 (如果选择了自动时间增量)。 在每次调用UMATHT之前,PNEWDT被设置为一个较大的值 。 如果PNEWDT被重新定义为小于 1.0,则 Abaqus/Standard 必须放弃时间增量并以较小的时间增量再次尝试。提供给自动时间积分算法的建议新时间增量是PNEWDT × DTIME,其中使用的 PNEWDT是所有调用用户子程序的最小值,允许为该迭代重新定义 PNEWDT。 如果对于本次迭代对用户子程序的所有调用,PNEWDT被赋予一个大于 1.0 的值,并且增量在本次迭代中收敛,则Abaqus/Standard 可能会增加时间增量。提供给自动时间积分算法的建议新时间增量是 PNEWDT × DTIME,其中使用的PNEWDT是此迭代对用户子程序的所有调用的最小值。 如果分析过程中没有选择自动时间增量,值PNEWDT是大于1.0将被忽略和的值PNEWDT是小于1.0会导致作业终止。

为信息传入的变量

TEMP -增量开始时的温度。

DTEMP -温度增量

DTEMDX(NTGRD) -温度空间梯度的当前值∂θ/∂x

TIME(1) -当前增量开始时的步时间值。

TIME(2) -当前增量开始时的总时间值。

DTIME -时间增量

PREDEF -增量开始时的预定义字段变量的内插值数组,基于在节点处读入的值。

DPRED -预定义字段变量的增量数组。

CMNAME -用户定义的材料名称,左对齐。

NTGRD -温度空间梯度的数量

NSTATV -与此材料类型相关的解相关状态变量的数量(如分配空间中所述定义 )。

PROPS(NPROPS) -用户指定的与此用户材料关联的材料常数数组。

NPROPS -与此用户材料关联的用户定义的材料常数数量。

COORDS -包含该点坐标的数组。如果在步骤中考虑了几何非线性,这些是完全耦合的温度-位移或耦合的热-电-结构分析中的当前坐标(请参阅 定义分析);否则,该数组包含该点的原始坐标。

NOEL -元素编号。

NPT -积分点编号。

LAYER -层数(对于复合壳和分层实体)。

KSPT -当前层内的截面点编号。

KSTEP -步数。

KINC -递增数。

示例:使用多个用户定义的热材料模型

要使用一个以上的用户定义的热材料模型,可变 CMNAME可以为用户子程序内的不同材料的名称进行测试 UMATHT,如下图所示:

IF (CMNAME(1:4) .EQ. 'MAT1') THEN CALL UMATHT_MAT1(argument_list) ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THEN CALL UMATHT_MAT2(argument_list) END IF

UMATHT_MAT1 和 UMATHT_MAT2 是包含每种材料的本构材料模型的实际用户材料子程序 MAT1 和 MAT2, 分别。子程序 UMATHT在这里只是作为一个目录。参数列表可以与子程序UMATHT中使用的相同 。

示例:非耦合传热

作为用户子程序UMATHT编码的一个简单示例 ,考虑材料中的非耦合传热分析。这里开发了这种情况的方程,并给出了相应的 UMATHT。这个问题也可以通过直接指定热导率、比热、密度和内部生热来解决。

首先,概述了非耦合传热分析的方程。 基本的能量平衡是 在这里插入图片描述 其中V是表面积为S的固体材料的体积,ρ 是材料的密度, 你˙ 是内部热能的物质时间率, q是物体单位面积流入物体的热通量,r是单位体积外部供给物体的热量。

热通量矢量 F 被定义为 在这里插入图片描述 n 是表面S向外法线的单位。将上述关系引入能量平衡方程,利用散度定理,得到如下关系: 在这里插入图片描述 相应的弱形式由下式给出 在这里插入图片描述 这里, 在这里插入图片描述 是温度梯度和 δ⁢θ 是满足基本边界条件的任意变分场。 引入后向差分积分算法: 在这里插入图片描述 能量平衡方程的弱形式变为 在这里插入图片描述 该非线性系统使用牛顿法求解。 在上述方程中,材料的热本构行为由下式给出在这里插入图片描述在这里插入图片描述 这里,si是状态变量。 牛顿法的雅可比矩阵由下式给出(去掉下标后 t+Δt 在U ) 在这里插入图片描述 现在定义了此示例的热本构行为。我们假设材料的比热恒定。假定材料中的热传导受傅立叶定律支配。 每单位质量的内部热能定义为 在这里插入图片描述在这里插入图片描述 其中c是材料的比热, 在这里插入图片描述 热传导的傅立叶定律给出为 在这里插入图片描述 k 是热导率矩阵和 X 是位置,所以 在这里插入图片描述 以及 在这里插入图片描述 没有任何温度依赖性的电导率假设意味着 在这里插入图片描述 这种材料不需要状态变量,因此不需要为它们分配空间。

热用户材料定义可用于读取我们简单情况下的两个常数,即比热c和导热系数k,以便

PROPS(1)=k, PROPS(2)=c. SUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG, 1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED, 2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT, 3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD), 1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD), 2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3) C COND = PROPS(1) SPECHT = PROPS(2) C DUDT = SPECHT DU = DUDT*DTEMP U = U+DU C DO I=1, NTGRD FLUX(I) = −COND*DTEMDX(I) DFDG(I,I) = −COND END DO C RETURN END


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有