UMAT以及depvar整理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UMAT以及depvar整理

by warmwormdk

最近一直在论坛查资料,对自己感兴趣的一些问题专门进行了整理,希望对大家有所帮助,也希望能获得小小的奖励啊,哈哈

1 UMAT的状态变量问题

Q:用DEPVAR定义的状态变量个数假设为10个。是不是说一个积分点的状态变量是10个,单元的积分点是4的话,那么单元的状态变量就是40个。也就是自己要存储单元变量的话,就得按40个状态变量来。是不是呢?

A:有人说跟我说,DEPVAR定义的状态变量个数指每个积分点的状态变量个数。abaqus 会自动为每个单元的每个积分点开辟这样大小的状态变量数组,abaqus调用umat时能够自动根据单元好和积分点向umat提供状态变量,在此基础上umat修改状态变量。

2 umat里的STATEV变量怎么输出到odb文件中

Q:比如我想知道statev(10)的odb文件,怎么输出?又怎么打开.

statev(10)是我自己定义的damage变量,

请各位赐教

A 在element关键词中添加SDV,就像下面这样。

*Element Output, directions=YES

ALPHA, LE, PE, PEEQ, PEMAG, PS, S, STH,SE, SF, VE, VEEQ, VS, SDV

3

Q statev(?)请问这个状态变量()内的数字代表什么含义?对应的变量是不是固定的?各自对应着哪些变量?

A:括号中的数代表这个变量矩阵的维数,这个值等于depvar的值。

4 umat中DEPVAR有几种定义方式?

Q;UMAT中状态变量的定义方式,一般有两种形式,一是在inp文件中采用*initial conditions定义,二是特殊情况下可以采用SDVINI来定义; 目前的疑问是,是否还有其他定义状态变量的方式? 请专家针对上传的附件给于指点多谢! 附件中的例子来自ABAQUS HELP中的例子! 请问例子中INP文件中是如何定义状态变量的THANKS

A:

初值可以采用SDVINI来定义

程序运行中用以下代码更新

DO 310 K1=1,NTENS

STATEV(K1)=EELAS(K1)

STATEV(K1+NTENS)=EPLAS(K1)

310 CONTINUE

STATEV(1+2*NTENS)=EQPLAS

C

RETURN

END

5 umat子程序定义问题?

Q: 在umat中定义的参数在材料中需不需再定义了?比如我umat中已经给了密度了。在材料中还要再定义一下密度吗?值是一样的。

还有就是材料中Depvar这个是什么参数啊?求教!

a: 如果你已经在umat中定义了具体的密度值比如density=7800;那应该不会再需要在input文件中定义density的值了,但是一般不会这么做,density的值在input文件中定义更方便。Depvar是你在umat中用到了多少结果相关的状态变量,比如如果在umat 中用到了5个,就定义

×Depvar

5,

{这一行是写在input文件中的

A: density在哪个地方定义并不重要, 重要的是你在什么地方要用到, 如果你在UMAT 中定义了, 但是你想加重力荷载怎么办呢, 所以要看需要定义

depvar是让ABAQUS主程序知道要分配多少内存给每个积分点来存储

状态变量, 以实现增量步之间的数据传递, 比如自编的弹塑性模型中的塑性应变, 必须从一个增量步传到下一个, 以实现累加.

6 怪异的ABAQUS错误

Q: 做UMAT的时候,总是在第一个单元所有积分点调用完UMAT后,ABAUQS显示RUNNING,但实际上没有运行,查看Log文件,显示下面的错误:

ABAQUS Error: The executable C:\ABAQUS\6.5-1\exec\standard.exe,

aborted with system error "拒绝访问。error code 5)

为什么log文件显示错误,而Job Moniter却没有提示?

另外我在UMAT中加入了一句输出,我可以发现总是第一个单元可以成功调用UMAT,此后就出问题了??

希望高手能解决,若需要的话,我可以上传UMAT和INPUT文件

A:

f当时我以为是硬件或者软件本身的毛病。

我从装过系统,abaqus,fortran。visual studio。结果是一样的。

最后我开始在子程序本身寻找问题。我发现我在用umat中如果使用mewton迭代进行一个数值的求解,当循环次数设置过高的话就会出现这一问题(我当时让他循环1000次)。但是如果循环次数较小又满足不了要求。所以面对这一问题时就只好牺牲精度,换取计算继续下去。

当然最好的方法就是在两者之间选择平衡了。

其实您还可以在进行umat计算时,用debug检查一下每个变量的输出,或者使用write (*,*)命令在for文件中,来监控整个程序。

A:

问题已解决,主要是INP文件的问题。。。。。!!!所以inp文件也会引起error code 5

我这里主要是由于depvar的值设置的有些问题。。。。。

A:

那是有可能的,因为所有在umat中出现的问题,本身的原因就是inp文件,变量数组设置的不够也可能是原因,这个我也遇到过,其实之所以error code 5出错,就是inp 文件中材料参数设置的不合理造成的。

A:

肯定是UMAT中发生了一些比如说divide by zero的illegal operation. 这种情况是code abort.

A:

error code 5一般不是内部的bug 主要是参数设置的不合理或子程序的问题

A:

做了很长时间后我发现, 无论是多么奇怪的错误, 99.999%是自已在什么地方没有做对,而不是硬件软件的问题

A:

有时候是两个物体的网格划分的比例相差很大造成的!

7

Q:

最近在用umat编写abaqus的材料模型,其中碰到一些问题,总是无法通过编译,自己总结了一下,特向高手们请教……

1、应变梯度dfgrd在变量声明中以及存在,那么在编程中是否可以用应变梯度dfgrd以及dfgrd0和dfgrd1来代替strain来进行本构模型的表示?具体用法是什么?

2、ddsdde也就是雅克比矩阵可以用梯度增量来代替应变增量dstran吗?

3、状态变量statev个数有没有限制?其作用是不是对当前计算步的结果进行保存,以便下一个计算步使用?那

相关文档
最新文档