victor_ye 发表于 2006-6-22 22:50:09

请高手看看我用umat做蠕变子程序有什么问题

请参看下面的.for文件,给出的雅克比矩阵是E,u,G独立的非各向同性矩阵。
为了方便验证,用的蠕变方程就是普通的时间硬化模型,即参数为A,m,n的那一种。
最后求解的时候出错了,给出的错误为
ABAQUS Error: The executable e:\ABAQUS\6.5-1\exec\standard.exe
aborted with system error code 29539.
Please check the .dat, .msg, and .sta files for error messages if the files
exist.If there are no error messages and you cannot resolve the problem,
please run the command "abaqus job=support information=support" to report and
save your system information.Use the same command to run ABAQUS that you
used when the problem occurred.Please contact your local ABAQUS support
office and send them the input file, the file support.log which you just
created, the executable name, and the error code.
本人刚开始学Umat,请哪位大虾指点迷津!

.for文件如下
      SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,
   1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,
   2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,
   3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
      CHARACTER*8 CMNAME
C
      DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
   1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),
   2 PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),
   3 DFGRD0(3,3),DFGRD1(3,3),TIME(2),DCRSTRAN(NTENS)
C 矩阵的尺寸声明
C
      PARAMETER(ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0,SIX=6.D0,
   1          ENUMAX=.4999D0,NEWTON=10,TOLER=1.0D-6)
C ----------------------------------------------------------------
C    PROPS(1) - E
C    PROPS(2) - NU
C    PROPS(3) - G
C    PROPS(4) - TTA
C    PROPS(5) - TTN
C    PROPS(6) - TTM
C ----------------------------------------------------------------
C
C    ELASTIC PROPERTIES
C
C      获取杨氏模量,泊松比,剪切模量,A,m,n作为已知量由PROPS向量传入
      EMOD=PROPS(1)
      ENU=PROPS(2)
c        IF(ENU.GT.0.4999.AND.ENU.LT.0.5001) ENU=0.499   
      EG=PROPS(3)
        TTA=PROPS(4)
        TTN=PROPS(5)
        TTM=PROPS(6)
      EBULK3=EMOD/(ONE-TWO*ENU)
      EG2=EMOD/(ONE+ENU)   
      EG3=THREE*EG2/TWO
      ELAM=(EBULK3-EG2)/THREE
C
C ELASTIC STIFFNESS
C弹性部分,Jacobian矩阵很容易计算
C注意,在ABAQUS中,剪切应变采用工程剪切应变的定义 ,所以剪切部分模量是G而不是2G!
        IF (KSTEP.EQ.1) THEN
        DO K1=1,NTENS
      DO K2=1,NTENS
         DDSDDE(K1,K2)=ZERO
      END DO
      END DO
      DO K1=1,NDI
      DO K2=1,NDI
          DDSDDE(K2,K1)=ELAM
      END DO
      DDSDDE(K1,K1)=EG2+ELAM
      END DO
      DO K1=NDI+1,NTENS
      DDSDDE(K1,K1)=EG
      END DO
C
C CALCULATE STRESS FROM ELASTIC STRAINS
C
        DO K1=1,NTENS
      DO K2=1,NTENS
          STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1)
      END DO
      END DO
C
        END IF
C
C
C
C
C
C      CALCULATE CREEP STRAIN
C      TIME DEPENDENT
C      RSTRAN为蠕变率
C   DCRSTRAN为蠕变
C
C
C
C
C
      IF (KSTEP.EQ.2) THEN
        RSTRAN1=TTA*STRESS(1)**TTN*TIME(1)**TTM
        RSTRAN2=TTA*STRESS(2)**TTN*TIME(1)**TTM
        RSTRAN3=TTA*STRESS(3)**TTN*TIME(1)**TTM
        RSTRAN4=TTA*STRESS(4)**TTN*TIME(1)**TTM
        RSTRAN5=TTA*STRESS(5)**TTN*TIME(1)**TTM
        RSTRAN6=TTA*STRESS(6)**TTN*TIME(1)**TTM
C
        DCRSTRAN(1)=RSTRAN1*DTIME
        DCRSTRAN(2)=RSTRAN2*DTIME
        DCRSTRAN(3)=RSTRAN3*DTIME
        DCRSTRAN(4)=RSTRAN4*DTIME
        DCRSTRAN(5)=RSTRAN5*DTIME
        DCRSTRAN(6)=RSTRAN6*DTIME
c
C CALCUALTE UPDATED STRESS
C
        DO K1=1,NTENS
      DO K2=1,NTENS
          STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*(DSTRAN(K1)-DCRSTRAN(K1))
      END DO
      END DO
C
C CALCULATE UPDATED JACOBIAN
C
        DO K1=1,NTENS
      DO K2=1,NTENS
         DDSDDE(K1,K2)=ZERO
      END DO
      END DO
      DO K1=1,NDI
      DO K2=1,NDI
          DDSDDE(K2,K1)=ELAM
      END DO
      DDSDDE(K1,K1)=EG2+ELAM
      END DO
      DO K1=NDI+1,NTENS
      DDSDDE(K1,K1)=EG
      END DO
C
        END IF
C
        RETURN
        END

victor_ye 发表于 2006-6-23 12:49:54

发现错误啦
IF (KSTEP.EQ.2) THEN
      RSTRAN1=TTA*STRESS(1)**TTN*TIME(1)**TTM
      RSTRAN2=TTA*STRESS(2)**TTN*TIME(1)**TTM
      RSTRAN3=TTA*STRESS(3)**TTN*TIME(1)**TTM
      RSTRAN4=TTA*STRESS(4)**TTN*TIME(1)**TTM
      RSTRAN5=TTA*STRESS(5)**TTN*TIME(1)**TTM
      RSTRAN6=TTA*STRESS(6)**TTN*TIME(1)**TTM
对于初始时间步来说time(1)=0,0的n次方是没有意义的,以后做蠕变时间做底的本构大家要多小心。

Astroxper 发表于 2008-3-19 16:09:21

学习中ing。。。

aphra 发表于 2009-3-19 03:36:46

studying~~~~~~~~~~~~~~~~~~~~~~~~

aphra 发表于 2009-3-30 22:24:48

同问,有什么问题

cyl568563088206 发表于 2010-7-26 08:54:34

看了好多LZ的相关帖子,启发很大,LZ能够分享自己的经验,令人佩服,好人一生平安!!

anthonygxb 发表于 2010-7-26 09:10:53

:victory:厉害。

569696240 发表于 2012-4-8 10:06:27

请教一个关于蠕变的问题:):http://forum.simwe.com/data/attachment/forum/201204/05/1917285hkug867gdhem7e8.gif 诺顿本构方程中由于n(比如8.5)的存在,应力为负值时会出现数值错误,可以应力取正后计算,结果前面加负号,这样得到应变可以吗?因为一直纠结于压缩和拉伸蠕变曲线是否对称的问题,书本上也没有提到方程适用的拉压情况。    新手,还望多多指点。:handshake


cheaxii 发表于 2012-11-30 11:30:16

本帖最后由 cheaxii 于 2012-12-3 11:23 编辑

刚刚学子程序,需要编写一个蠕变本构。请问敦大侠,一个菜鸟级的问题,望不要嫌弃:
1、上面的umat子程序在计算出蠕应变RSTRAIN后,不需要更新应变 (STRAIN=弹性应变+蠕应变) 么?,看了下RSTRAIIN并不是umat的接口参数啊?,这样的话,返回到主程序,如何使主程序中的总应变包含本增量步中求的的蠕应变。
2、vumat可以实现蠕变本构么?,就是用于显式动态分析步下的材料子程序?
初学子程序,很多地方不懂,如有谬误,希望大侠们不要见笑。:)

a88wangwei 发表于 2012-12-2 17:08:43

cheaxii 发表于 2012-11-30 11:30 static/image/common/back.gif
刚刚学子程序,需要编写一个蠕变本构。请问敦大侠,一个菜鸟级的问题,望不要嫌弃:
1、上面的umat子程序在 ...

问的好!望知道的同志回答一下!

lnl921021 发表于 2015-10-13 10:10:57

学习ing

liuyu186521 发表于 2015-11-6 19:40:11

蠕变子程序不太好开发。

轩落子 发表于 2015-11-7 09:47:30

你好,我想请教一下:一般理论上给出的本构方程都是一维的关系,编程时需要做成三维,它们之间是怎么变换的?需要用什么知识,麻烦啦:)

轩落子 发表于 2016-3-18 21:54:28

轩落子 发表于 2015-11-7 09:47
你好,我想请教一下:一般理论上给出的本构方程都是一维的关系,编程时需要做成三维,它们之间是怎么变换的 ...

用等效应力和等效应变

pcstudying 发表于 2020-6-15 09:29:41

厉害,学习学习

dddsssa 发表于 2020-6-22 20:34:55

楼主有个问题,最后为什么要更新雅可比矩阵,看起来拉梅常数并没有改变,雅可比矩阵也并未改变

yuskiy 发表于 2021-7-14 16:47:27

victor_ye 发表于 2006-6-23 12:49
发现错误啦
IF (KSTEP.EQ.2) THEN
      RSTRAN1=TTA*STRESS(1)**TTN*TIME(1)**TTM


怎么改呢?再增加一个对时间的条件吗
页: [1]
查看完整版本: 请高手看看我用umat做蠕变子程序有什么问题