美文网首页
ABAQUS 用户子程序`UMAT`使用线弹性问题进行模拟问题

ABAQUS 用户子程序`UMAT`使用线弹性问题进行模拟问题

作者: 不想当社畜 | 来源:发表于2022-10-29 14:01 被阅读0次

需要将abaqus与vs和fortran进行关联,使用的是abaqus2022版本,vs2019和intel ONEAPI 2022版本。参考关联链接保姆级Abaqus2022+VS2019+Fortran关联配置 - 知乎 (zhihu.com)

创建线弹性模型简单的几何模型

问题: 悬臂梁(长10,宽1,高1)一端四个点固定约束,另外一个端两个点载荷-1000。各项同性材料,E=1e9,v=0.3。


模型

使用UMAT进行分析

与abaqus常规模型分析步骤一样,下面不一样的分析。

  1. 定义材料 General->User Material 使用默认的参数添加弹性模量1e9和泊松比0.3.
定义材料
  1. 将单元默认的减缩积分C3D8R改成C3D8单元 (如果使用C3D8R进行计算的时候会出现报错。)
分配单元类型
分配单元类型
  1. 创建job,指定UMAT的fortran子程序
创建job
  1. 查看输出和结果
test_umat

对比常规输入的材料计算结果,与UMAT定义的材料一样。

常规计算结果

UMAT 子程序代码

*USER SUBROUTINES
      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,NSTATEV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
    INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*8 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATEV),
     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)
C
      PARAMETER (ONE=1.0D0, TWO=2.0D0)
      write(6,*) PROPS(1) , PROPS(2)
      E=PROPS(1)
      ANU=PROPS(2)
      ALAMDA=ANU*E/ (ONE+ANU)/(ONE-TWO*ANU)
      AMU=E/TWO/(ONE+ANU)
      DO I=1,NTENS
       DO J=1,NTENS
        DDSDDE(I,J)=0.0D0
       ENDDO
      ENDDO
      DDSDDE(1,1)=ALAMDA+TWO*AMU
      DDSDDE(2,2)=DDSDDE(1,1)
      DDSDDE(3,3)=DDSDDE(1,1)
      DDSDDE(4,4)=AMU
      DDSDDE(5,5)=AMU
      DDSDDE(6,6)=AMU
      DDSDDE(1,2)=ALAMDA
      DDSDDE(1,3)=ALAMDA
      DDSDDE(2,3)=ALAMDA      
      DDSDDE(2,1)=DDSDDE(1,2)
      DDSDDE(3,1)=DDSDDE(1,3)
      DDSDDE(3,2)=DDSDDE(2,3)
C      
      DO I=1,NTENS
        DO J=1,NTENS
        STRESS(I)=STRESS(I)+DDSDDE(I,J)*DSTRAN(J)
        ENDDO
      ENDDO
      RETURN
      END       

参考线性材料应力应变关系


线弹性应力应变关系

解释代码中的含义:

PROPS() 数组是User Material中定义的数据,因此第一个数据是PROPS(1)是弹性模量,PROPS(2)是泊松比。DDSDDE数组则是上述公式的[D]矩阵。

UMAT详细介绍参考abaqus 中UMAT接口 Abaqus User Subroutines Reference Guide (2016)

UMAT详细介绍参考abaqus 中UMAT接口 Abaqus User Subroutines Reference Guide (2016)

参考链接

  1. 保姆级Abaqus2022+VS2019+Fortran关联配置 - 知乎 (zhihu.com)
  2. Abaqus User Subroutines Reference Guide (2016)

相关文章

  • ABAQUS 用户子程序`UMAT`使用线弹性问题进行模拟问题

    需要将abaqus与vs和fortran进行关联,使用的是abaqus2022版本,vs2019和intel ON...

  • ABAQUS 二三事:用户子程序开发环境配置

    ABAQUS 6.14用户子程序(User subroutines)开发环境配置 一、概述 Abaqus二次开发主...

  • Abaqus GUI开发

    概述 Abaqus二次开发一般分为子程序开发和用户图形界面开发。前面的文章简单的讲述了如何用Fortran语言进行...

  • ABAQUS子程序 DFLUX

    Abaqus的热源程序的接口是DFLUX,可以定义非均匀的与位置、时间、温度、单元和积分点相关的热源方程。调用计算...

  • Abaqus子程序关联教程

    写在开头 本教程搜集于2018年,当时为了装abaqus子程序可谓是煞费苦心。故记录在此,以飨自己。 限制条件 目...

  • ABAQUS用户子程序一览表

    说明 本系列文章本人基本没有原创贡献,都是在学习过程中找到的相关书籍和教程相关内容的汇总和梳理编辑。为了尊重原创者...

  • 用户体验分析法

    一、提出问题? 问题一:用户是谁?状态怎么样?(目标用户 核心需求 使用场景) 问题二;要从哪些方面进行评估? ...

  • 山东做问答营销推广有什么优势

    问答推广平台用来回答用户的问题,解决用户的需求,或者以模拟用户问答的形式进行宣传,从而实现网站推广优化,提升品牌知...

  • 2021-03-24

    JMeter之模拟用户登录后进行接口压测 本文记录了使用JMeter来模拟用户登录,并从登录接口返回的JSON数据...

  • keras_regression

    问题:神经网络可以用来模拟回归问题 (regression),例如给下面一组数据,用一条线来对数据进行拟合,并可以...

网友评论

      本文标题:ABAQUS 用户子程序`UMAT`使用线弹性问题进行模拟问题

      本文链接:https://www.haomeiwen.com/subject/rkjhtdtx.html