在abaqus中多次引用同一子程序的方法

在ABAUQS中引用多个不同子程序的方法非常简单,这里不再赘述,但是如何多次引用同一子程序,却很少能找到有用的信息,在翻阅ABAQUS的帮助文档时,突然看到UMAT的帮助中提到可以同时调用不同材料模型,类似的,我们也可以用同样的方法去调用别的子程序。下图来自官方帮助文件:

帮助.png

在abaqus中多次引用同一子程序的方法的图2思路就是用cmname做判断使用哪个子程序,整个子程序中,UMAT主子程序只起到分流的作用,真正的子程序是UMAT_MAT1和UMAT_MAT2,简单举例:

      SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),
     1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
     2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
     3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
     4 JSTEP(4)      user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD      and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT
      
      IF (CMNAME(1:4) .EQ. 'MAT1') THEN
           CALL UMAT_MAT1(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
      ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THEN
           CALL UMAT_MAT2(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
      END IF
      
      ……

      RETURN
      END
      
       SUBROUTINE UMAT_MAT1(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),
     1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
     2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
     3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
     4 JSTEP(4)      user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD      and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT


      RETURN
      END

       SUBROUTINE UMAT_MAT2(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),
     1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
     2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
     3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
     4 JSTEP(4)      user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD      and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT


      RETURN
      END

如果是其他子程序,框架是一样的,只需要换一个判断语句就好了。

果然最好的老师还是帮助文件啊。

ABAQUSUMAT

在abaqus中多次引用同一子程序的方法的评论7条

在abaqus中多次引用同一子程序的方法的相关案例教程

各向同性硬化von Mises率无关弹塑性本构理论以及umat源代码 1 本构理论 1.1 率形式 对于各向同性线弹性材料,其本构方程为: 式中假设了应变张量可以分解为弹性应变和塑性应变两部分: 因此塑性本构的关键在于计算塑性应变的演化。对于率无关弹塑性的本构理论,需要确定以下三个部分: (1):屈服条件 (2):流动法则 (3):硬化法则 在此采用的是 von Mises 屈服条件: 式中后继屈
ABAQUS/Standard 用户材料子程序实例 -Johnson-Cook 金属本构模型卢剑锋 庄茁* 张帆 清华大学工程力学系 北京 100084 摘要:用户材料子程序是 ABAQUS 提供给用户定义自己的材料属性的 Fortran 程序接口,使用户能使用 ABAQUS 材料库中没有定义的材料模型。 ABAQUS 中自有的 Johnson-Cook 模型只能应用于显式 ABAQUS/Expl
C 瞬态温度场下修正Burgers模型UMAT子程序源代码 C C 给状态变量数组赋初值为零,调用ABAQUS子程序SDVINI C GIVE STATEV THE INITIAL VALUE OF ZERO C SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,LAYER,KSPT) C INCLUDE 'ABA_PARAM.INC' C
1 本构理论 1.1 率形式 本构方程为: 单轴拉伸的应力应变的硬化曲线如下: 根据单轴试验得到硬化部分的曲线: 当仅考虑随动硬化时,屈服面的中心在移动,而屈服面的大小不发生改变,即为常数。 屈服条件为: 增加了背应力来表示屈服面中心移动即随动硬化的效果。式中相对应力的表达式为: 流动法则为: 背应力的演化法则为: 式中: 上标k代表随动部分(kinematic),表示以下随动硬化曲线的梯度: 1
混合硬化von Mises率无关弹塑性本构理论以及umat源代码 1 本构理论 1.1 率形式 本构方程为: 当考虑混合硬化时,其应力应变曲线如下: 随动硬化导致屈服面的中心在移动,各向同性硬化导致屈服面在扩张。根据单轴试验得到两个硬化部分的曲线: 屈服条件为: 增加了背应力来表示屈服面中心移动即随动硬化的效果。式中相对应力的表达式为: 流动法则为: 屈服应力是等效塑性应变的函数: 背应力的演化法
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    8 18