[Fortran] 纯文本查看 复制代码
SUBROUTINE UMATHT_MAT2(U,DUDT,DUDG,FLUX,DFDT,DFDG,
1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED,
2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,
3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),
1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),
2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)
C
REAL rho_v, rho_f, phi_v, phi_f, A, E, n, R, m_g,
1 rho, M, delta_rho, f, Cv, Cf, Cp, Cpg, phi, delta_mg,
2 delta_U, V, kv, kf, rho_g, rho_pro, kv1, kf1,
3 miu,delta_rhog,L,K,S,NN,D3,i2
REAL GAMA(3),SJ(10325,93)
中间程序无问题 不进行展示 将数据存储到二维数组有问题
C 根据节点标号写出坐标
IF((TIME(1)).EQ.0)THEN
DO i=7745,15488,1
IF(i==NOEL)THEN
DO j=1,8,1
IF(j==NPT)THEN
SJ((i-7745)*8+j,1) = COORDS(1)
SJ((i-7745)*8+j,2) = COORDS(2)
SJ((i-7745)*8+j,3) = COORDS(3)
END IF
END DO
END IF
ENDDO
ENDIF
C 记录TEMP
DO j=4,93,1
IF (((j-3)*10)==TIME(1))THEN
DO i=1,10125,1
SJ(i,j)=STATEV(10)
enddo
ENDIF
ENDDO
C 写出二维数组
do i=1,7745,1
WRITE(*,*) SJ(i,1),SJ(i,2),SJ(i,3),SJ(i,4)end do