用户登录

你在这里

abaqus如何通过使用UMAT非等温情况下获得DSTRAN

嗨,,

我最近遇到了一个关于温度依赖的UMAT案例的大问题。

我使用UMAT计算非等温弹性,如下所示。这里没有显示DDSDDE的计算部分。

您可以看到,我在代码开头输出ETHERM(K1),EELAS(K1),STRAN(K1),DSTRAN(K1)。

该UMAT还将以太坊和EELAS保存到状态变量数组中。

作业设置为不加载并使用静态通用步骤。但本质上是自由膨胀,热膨胀系数为6e-6,温度为0 ~ 80,仅在UMAT中反映。Abaqus完成工作后,这些结果都是正确的,SDV(1-6)=EELAS=0, SDV(7-9)=ETHERM=4.8e-4。DSTRAN也是4.8e-4。

我的问题是,abaqus是如何知道DSTRAN的,因为我没有施加任何机械载荷,也没有告诉abaqus,这是一个热膨胀分析。我认为DSTRAN应该是由比位移或热膨胀给出的。


有人能帮我一下吗?我已经为此挣扎了一段时间。

子程序umat (stress, statev, ddsde, sse, spd, scd, rpl,
1 . dsddt, dpldt, drpldt, stran, dstran, time, dtime, temp, dtemp,
predef, dpred, cmname, ndi, nshr, ntens, nstatv, props, nprops,
3、drot、pnewdt、celent、dfgrd0、dfgrd1、noel、npt、layer、
4 . kspt, kstep, king)
C
包括“ABA_PARAM。公司的
C
字符* 8 CMNAME
C
尺寸应力(ntens),状态(nstatv), ddsdde (ntens, ntens),
1 ddsdt (ntens), drplde (ntens), stran (ntens), dstran (ntens),
2 predef (1), dpred (1), props (nprops), coordinates (3), drot (3,3),
3 dfgrd0 (3,3), dfgrd1 (3,3)

尺寸eelas (6), ether (6), dtherm (6), deldse (6,6)
C
参数(0 = 0。D0, = 1。D0, 2 = 2。D0, 3 = 3。D0, 6 = 6. D0)
C ----------------------------------------------------------------
各向同性热弹性的C值呈线性变化
C模量-不能用于平面应力
C ----------------------------------------------------------------
C道具(1)- e (10)
C props (2) - nu (0)
C道具(3)- 0
C道具(4)- e (t1)
C道具(5)- nu (t1)
C道具(6)- t1
C道具(7)- α
C props (8) - t_initial
C增量开始时的弹性特性
C

写(*)“进入UMAT”

k1 =1吗
写(*)ETHERM (K1) EELAS (K1) STRAN (K1) DSTRAN (K1)
最后做

C
C计算热膨胀
C

NDI, K1 = 1吗
ETHERM (K1) =道具(7)* (TEMP-PROPS (8))
DTHERM (K1) =道具(7)* DTEMP

最后做
nten, K1 = NDI + 1吗
ETHERM (K1) = 0
DTHERM (K1) = 0
最后做
C
C计算应力、弹性应变和热应变
C
k1 =1吗
k2 =1吗
压力(K2) =压力(K2) + DDSDDE (K1, K2) * (DSTRAN (K1) -DTHERM (K1)) + DELDSE (K1, K2) * (STRAN (K1) -ETHERM (K1))
最后做
ETHERM (K1) = ETHERM (K1) + DTHERM (K1)
EELAS (K1) = STRAN (K1) + DSTRAN (K1) -ETHERM (K1)
最后做

C
C在状态变量数组中存储弹性应变和热应变
C
k1 =1吗
STATEV (K1) = EELAS (K1)
STATEV (K1 + nten) = ETHERM (K1)
最后做
返回
结束

谢谢你的帮助。

电子邮件:chen1164@purdue.edu

免费的标签:

另一个问题是,由于我没有在abaqus中指定热膨胀,abaqus是如何计算应变的?

弗兰克·里希特的照片

获取文件
http://万博manbetx平台m.limpotrade.com/files/Writing用户子程序与ABAQUS.pdf
它可能会显示为
http://万博manbetx平台m.limpotrade.com/files/Writing%20User%20Subroutines%20with%20ABAQUS.pdf

------------------------------------------
-鲁尔大学
波鸿
德国

你好,谢谢你的回复。我手里有那份文件。我只是不知道如何abaqus与UMAT得到应变更新。因为我没有在abaqus中指定任何加载和热膨胀属性。

弗兰克·里希特的照片

应变增量由Abaqus提供。参见通用子程序手册中关于UMAT的章节

------------------------------------------
-鲁尔大学
波鸿
德国

STRAN和DSTRAN已经是弹性应变,这意味着ABAQUS从总应变中扣除热应变,然后将其作为输入提供给UMAT。底线是你不能再从UMAT内部的STARN+DSTRAN中扣除热应变来计算弹性应变。我希望这对你有帮助。

另一方面,我有个问题也许你能回答。是否有可能在UMAT或任何其他子程序中更新应变而不是应力?我知道我可以使用UEXPAN更新应变,但该子例程不能满足我的计算目的。

谢谢,

你好,Mandar,谢谢你的回复。

但我的问题在于abaqus一开始是如何知道DTRAN的。因为我没有任何加载应用在这里。

基本上,DSTRAN或STRAN是由位移场计算,并传入UMAT,由UMAT更新应力。

嗨,陈,

是的,就连我自己也有同样的问题。对此我不确定。

我现在有点明白了。但只有在这种情况下…

你能解释一下吗?理解它会很有趣。

谢谢,

弗兰克·里希特的照片

用户手册

15.1.1用户子程序:概述

用户子程序必须在不覆盖Abaqus的其他部分的情况下执行其预期的功能。特别地,您应该只将本章中标识为“待定义的变量”的那些变量重新定义。重新定义“传递信息的变量”将产生不可预测的影响。

------------------------------------------
-鲁尔大学
波鸿
德国

你好,弗兰克,

谢谢你的回复。这是另一个问题。

我刚刚完成了超弹性材料的UMAT编码,并进行了测试
单轴和简单剪切边界条件下的一个单元。它的工作原理
一个元素没问题。但是,如果我尝试运行一个超过
一个元素,ABAQUS退出并出现错误。消息说,错误
可以在消息文件中找到,如果文件存在,显然是。msg
文件不存在。你知道是哪里出了问题吗
我应该在哪里寻找我遇到的那种错误?

提前感谢。

请参阅。dat和。log文件。这些是abaqus引用的消息文件。

订阅评论“abaqus如何通过使用UMAT在非等温情况下获得DSTRAN”

最近的评论

更多的评论

辛迪加

认购辛迪加