撰写abaqus用户子程序umat

简单说明

ABAQUS/Standard允许用户自己定义材料的属性,也就是用户子程序umat。

ABAQUS inp文件中的umat接口

** MATERIALS
** 
*Material, name=ISOPLAS
*Density
 8.96e-09,
*Depvar
    151,
*User Material, constants=3
1.,        4,      0.5

这里设置一个名称为“ISOPLAS”的材料属性。
密度选择为“8.96e-09”。
Depvar设置的是151个状态变量(SDVs),在umat计算完成后会输出这些变量的数量。
“*User Material, constants=3”指的是umat可以直接调用的常量,用“props(序号)”。案例中:props(1)=1.,props(2)=4.,props(3)=0.5

umat 书写

起始

subroutine umat(stress,statev,ddsdde,
     &                sse,spd,scd,rpl,
     &                ddsddt,drplde,drpldt,
     &                stran,dstran,
     &                time,dtime,
     &                temp,dtemp,
     &                predef,dpred,
     &                cmname,
     &                ndi,nshr,ntens,nstatv,
     &                props,nprops,coords,drot,
     &                pnewdt,
     &                celent,
     &                dfgrd0,dfgrd1,
     &                noel,npt,layer,kspt,kstep,kinc)

这里给出每个物理量代表的含义:

character*80 :: cmname         !自定义材料的名称
       integer :: ndi                  !number of stress components
       integer :: nshr                 !number of engineering shear stress components
       integer :: ntens                !size of the stress array (ndi + nshr)
       integer :: nstatv               !number state variables
       integer :: nprops               !number of material constants
       integer :: layer                !layer number
       integer :: kspt                 !section point number within the current layer
       integer :: kstep                !step number
       integer :: noel                 !element number
       integer :: npt                  !integration point number
       integer :: kinc                 !increment number
       real(8) :: drpldt               !jacobian drpl_dt
       real(8) :: dtime                !time increment dt
       real(8) :: temp                 !temperature at t0
       real(8) :: dtemp                !increment of temperature.
       real(8) :: celent               !characteristic element length
       real(8) :: sse                  !specific elastic strain energy
       real(8) :: spd                  !specific plastic dissipation
       real(8) :: scd                  !specific creep dissipation
       real(8) :: rpl                  !volumetric heat generation per unit time
       real(8) :: pnewdt               !dt_next/dt_now
       real(8) :: ddsdde(ntens,ntens)  !jacobian ds_de
       real(8) :: statev(nstatv)       !state variables
       real(8) :: props (nprops)       !material constants 
       real(8) :: ddsddt(ntens)        !jacobian ds_dt
       real(8) :: drplde(ntens)        !jacobian drpl_de
       real(8) :: stress(ntens)        !stress tensor
       real(8) :: stran (ntens)        !strains at t0
       real(8) :: dstran(ntens)        !strain increments
       real(8) :: dfgrd0(3,3)          !deformation gradient at t0
       real(8) :: dfgrd1(3,3)          !deformation gradient at t0+dt
       real(8) :: drot(3,3)            !rotation increment matrix
       real(8) :: coords(3)            !coordinates of this point
       real(8) :: time  (2)            !1:step time; 2:total time, At t0
       real(8) :: predef(1)            !predefined field variables at t0
       real(8) :: dpred (1)            !incr of predefined field vrbs

这些物理量的初始值,会在umat计算开始通过abaqus传入。
umat计算完成后,这些物理量的数值重新返回到abaqus。

总结

具体的umat书写,包括各个定理的计算等,相对比较复杂,待后续更新。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值