下面这段UMAT是再论坛上下载的邓肯张模型UMAT,
其中的语句S1S3O=STATEV(1)
S3O=STATEV(2)
SSO=STATEV(3)
C 程序中给出的注释为
S1S3O为历时上最大主应力差,S3O为前期固结应力,SSO为历史上最大应力水平
楼上的兄弟请问怎么知道STATEV(1) , STATEV(2)和STATEV(3)分别代表的是S1S3O,S3O,SSO呢。 谢谢了
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,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),
2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),
3 DFGRD0(3,3),DFGRD1(3,3)
C-----------------------------------------------------------------------------------
C 求解平面应变问题,存储4个应力,σ11、σ22、σ33、σ12;
C 4个应变,ε11、ε22、ε33、γ12;
C 求解过程中在*.inp文件中使用*INITIAL CONDITIONS,TYPE=SOLUTION定义状态变量初值
C 或采用子程序SDVINI来定义
C-----------------------------------------------------------------------------------
C AK即k,AN即n,RF破坏比,c即凝聚力,FA即内摩擦角,PA大气压力,VKB即Kb,VNB即nb,AUR为卸荷Kur/k
DIMENSION PS(NDI)
AK=PROPS(1)
AN=PROPS(2)
RF=PROPS(3)
C=PROPS(4)
FA=PROPS(5)/180*3.1415926
PA=PROPS(6)
VKB=PROPS(7)
VNB=PROPS(8)
AUR=PROPS(9)
C S1S3O为历时上最大主应力差,S3O为前期固结应力,SSO为历史上最大应力水平
S1S3O=STATEV(1)
S3O=STATEV(2)
SSO=STATEV(3)
write(110,*)'S1S30=',S1S30
CALL SPRINC(STRESS,PS,1,NDI,NSHR)
write(*,*)"PS(1)=",PS(1) |