猪冰龙

导航

abaqus UMAT二次开发能用fortran90吗?

 1       SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,
 2      # DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,
 3      # CMNAME,NDI,NSHR,NTENS,NSTATEV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
 4      # CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
 5       INCLUDE 'ABA_PARAM.INC'
 6       CHARACTER(16) CMNAME
 7       REAL(8) STRESS(NTENS),STATEV(NSTATEV),DDSDDE(NTENS,NTENS),
 8      # DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),TIME(2),
 9      # PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),
10      # DFGRD0(3,3),DFGRD1(3,3)
11       REAL(8) rE !杨氏模量
12       REAL(8) rMu !泊松比
13       REAL(8) rG !剪切模量
14       REAL(8) rLambda !拉梅常数
15       rE= -0.4 * ( 0.5*COORDS(1)**2+3.0*COORDS(2)**2 ) +500
16       rMu= 0.25
17       rG=rE/(2.0*(1.0+rMu))
18       rLambda=(2.0*rMu*rG)/(1.0-2.0*rMu)
19       DO i=1,NTENS,1
20         DO j=1,NTENS,1
21             DDSDDE(i,j)=0.0
22         END DO
23       END DO
24       DO i=1,NDI,1
25         DO j=1,NDI,1
26             DDSDDE(i,j)=rLambda
27         END DO
28             DDSDDE(i,i)=rLambda+2.0*rG 
29       END DO
30       DO i=NDI+1,NTENS,1
31         DDSDDE(i,i)=rG
32       END DO
33       DO i=1,NTENS,1
34         DO j=1,NTENS,1
35             STRESS(i)=STRESS(i)+DDSDDE(i,j)*DSTRAN(j)
36         END DO
37       END DO
38       DO i=1,NTENS,1
39         STRAN(i)=STRAN(i)+DSTRAN(i)        
40       END DO
41       SSE=0
42       DO i=1,NTENS,1
43         SSE=SSE+STRESS(i)*STRAN(i)
44       END DO
45       SSE=0.5*SSE
46       STATEV(1)=rE
47       RETURN
48       END SUBROUTINE UMAT

这个例题好奇怪,里面是f90的语法,文档名后缀却是.for。

 

posted on 2017-11-01 10:02  猪冰龙  阅读(2394)  评论(2编辑  收藏  举报