不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

錯誤#6404:此名稱沒有類型,必須具有顯式類型。??? 100

瀏覽:2504

各位大佬請問遇到這種情況怎么解決,而且不論我怎么改,錯誤都是31個,不增不減。
錯誤        error #6404: This name does not have a type, and must have an explicit type.   [SSTOL]        C:\Users\Administrator\Documents\Visual Studio 2015\Projects\D-Paccord\D-Paccord\DP.for    27
往下都是一樣的錯誤,然后就是下面這樣的
錯誤        error #5082: Syntax error, found IDENTIFIER 'SQRT' when expecting one of: .EQV. .NEQV. .XOR. .OR. .AND. .LT. < .LE. <= .EQ. == .NE. /= .GT. > ...        C:\Users\Administrator\Documents\Visual Studio 2015\Projects\D-Paccord\D-Paccord\DP.for    110

附上源代碼

   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,JSTEP,KINC)
      IMPLICIT NONE
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),
     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),
     4 JSTEP(4)
      
      DIMENSION DE1(6,6),DE2(6,6),DE(6,6)
      DIMENSION DSTRESS1(6),DSTRESS2(6),STRESS1(6),STRESS2(6)
      DIMENSION FG1(6),FG2(6),FG(6)
      DIMENSION DEP1(6,6),DEP2(6,6)
      DIMENSION DDSTRAN(6),ESTRESS(6)
      DIMENSION FPSTRESS(6),FFC(6),FFC1(6),FFC2(6),FFCD(6),FFCDE(6),
     1FPSTRAN(6),FFCFFC(6,6),FFCFFC1(6,6),FFCFFC2(6,6)
      DIMENSION FXY(6),FPSTRESS1(6),FPSTRESS2(6)

C上述為各種數(shù)組的定義      
      SSTOL=1E-3
C誤差控制標(biāo)準(zhǔn)
      FE=PROPS(1)
      FMIU=PROPS(2)
      FARF=PROPS(3)
      FA=PROPS(4)
      FB=PROPS(5)
C上述為五組參數(shù),彈模,泊松比,α,A,B
      FG=FE/(2.0*(1.0+FMIU))
      FLMD=FMIU*FE/((1.0+FMIU)*(1.0-2.0*FMIU))
      FTIME=0.0
      FDTIME=1.0
      
666   CONTINUE
      FSDP=STATEV(1)
C等效塑性剪切應(yīng)變
       CALL SINV(STRESS,SINV1,SINV2,NDI,NSHR)
C獲取子步增量步起點應(yīng)力不變量
       FI1=SINV1
       FI2=SINV2
       IF(FI2.LE.1e-5)FI2=1e-5
       FSD1=SQRT(FI1**2+FI2**2)
C應(yīng)力狀態(tài)到原點的距離
       CALL GETDE((FG,FLMD,DE1)
       DO I=1,6
           DO J=1,6
               DE1(I,J)=DE(I,J)
           END DO
       END DO
       
 999     CONTINUE!子步循環(huán)
      DO I=1,6
          DDSTRAN(I)=DSTRAN(I)*FDTIME
      END DO
C子步增量應(yīng)變
      CALL GETFPSTRESS(STRESS,FPSTRESS,FI1)
      DO I=1,6
          FPSTRESS1(I)=FPSTRESS(I)
      END DO
      
      
C獲取偏應(yīng)力
      CALL GETJ2(STRESS,J2)
      FJ21=J2
      
C獲取應(yīng)力偏量的第二不變量
      CALL GETFFC(FPSTRESS1,FFC,FJ21,FARF)
      DO I=1,6
          FFC1(I)=FFC(I)
      END DO
      
      
C獲取屈服函數(shù)對應(yīng)力求導(dǎo)結(jié)果
      CALL GETFFCFFC(FFC,FFCFFC)
      DO I=1,6
          DO J=1,6
              FFCFFC1(I,J)=FFCFFC(I,J)
          END DO
      END DO
     
          
      !  DO I=1,6
      !    DO J=1,6
      !        FFCD(I,J)=FFC(J)*FDE(I,J)
      !    END DO
      !END DO
      !FFX(1)=FFCD(1,1)+FFCD(1,2)+FFCD(1,3)+FFCD(1,4)+FFCD(1,5)+FFCD(1,6)
      !FFX(2)=FFCD(2,1)+FFCD(2,2)+FFCD(2,3)+FFCD(2,4)+FFCD(2,5)+FFCD(2,6)
      !FFX(3)=FFCD(3,1)+FFCD(3,2)+FFCD(3,3)+FFCD(3,4)+FFCD(3,5)+FFCD(3,6)
      !FFX(4)=FFCD(4,1)+FFCD(4,2)+FFCD(4,3)+FFCD(4,4)+FFCD(4,5)+FFCD(4,6)
      !FFX(5)=FFCD(5,1)+FFCD(5,2)+FFCD(5,3)+FFCD(5,4)+FFCD(5,5)+FFCD(5,6)
      !FFX(6)=FFCD(6,1)+FFCD(6,2)+FFCD(6,3)+FFCD(6,4)+FFCD(6,5)+FFCD(6,6)
      
      DO I=1,6
          DO J=1,6
              DO K=1,6
              FFCD(K)=FFC1(K)*DE1(K,J)
              END DO
              FFCDE(J)=FFCD(1)+FFCD(2)+FFCD(3)+FFCD(4)+FFCD(5)+FFCD(6)
          END DO
          FCF1=0
          FCF1=FCF1+FFCDE(I)*FFC1(I)
      END DO
      FKF1=(0.0-FA/(FA+FB*FSDP)**2)SQRT(2FARF**2+1/3)
      
      FFFC=MATMUL(FFCFFC1,DE1)
      
      CALL GETFPSTRAN(FDLMD,FCF1,FKF1,FFFC,DDSTRAN)
      
      
      CALL GETDEP(FFCFFC,DE1,FDEP,FCF1,FKF1)
C 獲得彈塑性剛度矩陣
      CALL GETDSTRESS(DEP,DDSTRAN,DSTRESS)
      DO I=1,6
      DSTRESS1(I)=DSTRESS(I)
      END DO
C獲得應(yīng)力增量
      DO I=1,6
          STRESS1(I)=STRESS(I)+DSTRESS1(I)
      END DO
C終點應(yīng)力第一次試算值
       CALL SINV(STRESS,SINV1,SINV2,NDI,NSHR)
C獲取子步增量步終點應(yīng)力不變量
       FI1=SINV1
       FI2=SINV2
       CALL GETDE(FG1,FG2,FLMD,DE)
       DO I=1,6
           DO J=1,6
               DE2(I,J)=DE(I,J)
C獲取子步增量步起點彈性矩陣
        CALL GETFPSTRESS(STRESS,FPSTRESS,FI1)
        DO I=1,6
      FPSTRESS2(I)=FPSTRESS(I)
        END DO
        
      
C獲取偏應(yīng)力
      CALL GETJ2(STRESS,J2)
      J22=J2
      
C獲取應(yīng)力偏量的第二不變量
      CALL GETFFC(FPSTRESS1,FJ22,FFC)
      DO I=1,6
          
      FFC2(I)=FFC(I)
      END DO
      
      
C獲取屈服函數(shù)對應(yīng)力求導(dǎo)結(jié)果
      CALL GETFFCFFC(FFC,FFCFFC)
      DO I=1,6
          DO J=1,6
      FFCFFC2(I,J)=FFCFFC(I,J)
          END DO
      END DO
      
      
       DO I=1,6
          DO J=1,6
              DO K=1,6
              FFCD(K)=FFC2(K)*FDE(K,J)
              END DO
              FFCDE(J)=FFCD(1)+FFCD(2)+FFCD(3)+FFCD(4)+FFCD(5)+FFCD(6)
          END DO
          FCF2=0
          FCF2=FCF2+FFCDE(I)*FFC2(I)
      END DO
      FKF2=(0.0-FA/(FA+FB*FSDP)**2)SQRT(2FARF**2+1/3)
      
      FFFC=MATMUL(FFCFFC2,DE2)
      !DO I=1,6
      !    DO J=1,6
      !         FFFC(I,J)=FFCFFC2(I,J)*DE2(J,I)
      !    END DO
      !END DO錯的
      
        CALL GETFPSTRAN(FDLMD,FCF2,FKF2,FFFC,DDSTRAN)
      
      
      CALL GETDEP(FFCFFC,DE2,FDEP,FCF2,FKF2)
C 獲得彈塑性剛度矩陣
      CALL GETDSTRESS(DEP,DDSTRAN,DSTRESS)
      DO I=1,6
      DSTRESS2(I)=DSTRESS(I)
      END DO
C獲得應(yīng)力增量
      DO I=1,6
          STRESS2(I)=STRESS(I)+DSTRESS2(I)
      END DO
C應(yīng)力第二次試算值
       DO I=1,6
          ESTRESS(I)=0.5*(DSTRESS2(I)-DSTRESS1(I))
          STRESS2(I)=STRESS(I)+0.5*DSTRESS1(I)+0.5*DSTRESS2(I)
      END DO
      FEIE=0.0
      FEIS=0.0
      FERR=0.0
      DO I=1,6
          FEIE=FEIE+ESTRESS(I)*ESTRESS(I)
          FEIS=FEIS+STRRESS2(I)*STRESS2(I)
      END DO
      FERR=SQRT(FEIE/FEIS)
      IF (FERR .LE. 1E-8)FERR=1E-8!若誤差小于10負(fù)八次方就把它等于10的負(fù)八次方
      FBETA=0.8*SQRT(SSTOL/FERR)!β,Tnew=△T*β
      IF(FERR .GT. SSTOL)THEN
          IF(FBETA .LE. 0.1)FBETA=0.1!如果子步失敗
          FDTIME=FBETA*FDTIME!縮小步長
          GOTO 999
      ELSE
          FTIME=FTIME+FDTIME!T=T+△T
          IF(FBETA .GE. 2.0)FBETA=2.0
          FDTIME=FBETA*FDTIME!DTnew=β*DT
      END IF
      !根據(jù)誤差控制標(biāo)準(zhǔn)確定新的增量步長
      DO I=1,6
          STRESS(I)=STRESS(I)+0.5*DSTRESS1(I)+0.5*DSTRESS2(I)!σ=σ+△σ
      END DO
      
      STATEV(1)=FSDP!存疑
      
C誤差標(biāo)準(zhǔn)滿足后更新終點狀態(tài)
      IF(FTIME .LT. 1)THEN
          IF(FDTIME .GT. (1-FTIME))THEN
              FDTIME=1-FTIME
          END IF
C繼續(xù)下一個子步增量步計算
          GOTO 888
      END IF
      FI1=SINV1
      FI2=SINV2
       STATEV(1)=FSDP
       CALL GETDE(FG1,FG2,FLMD,DE)
       CALL GETJ2(STRESS,FJ2)
      
C獲取應(yīng)力偏量的第二不變量
      CALL GETFFC(FPSTRESS,FJ2,FFC)
      
C獲取屈服函數(shù)對應(yīng)力求導(dǎo)結(jié)果
      CALL GETFFCFFC(FFC,FFCFFC)
      
       DO I=1,6
          DO J=1,6
              DO K=1,6
              FFCD(K)=FFC(K)*FDE(K,J)
              END DO
              FFCDE(J)=FFCD(1)+FFCD(2)+FFCD(3)+FFCD(4)+FFCD(5)+FFCD(6)
          END DO
          FCF=0
          FCF=FCF+FFCDE(I)*FFC(I)
      END DO
      FKF=(0.0-FA/(FA+FB*FSDP)**2)SQRT(2FARF**2+1/3)
      
      FFFC=MATMUL(FFCFFC,FDE)
      
      
      CALL GETFPSTRAN(FPBL,FCF,FKF,FFFC,DDSTRAN)
      
      
      CALL GETDEP(FFFC,FDE,FCF,FKF,FDEP)
C 獲得彈塑性剛度矩陣
      DO I=1,6
          DO J=1,6
              DDSDDE(I,J)=FDEP(I,J)
          END DO
      END DO
C根據(jù)終點狀態(tài)計算彈塑性矩陣,并賦值DDSDDE
      RETURN
      END
       
      
      
      SUBROUTINE GETDSTRESS(FDEP,STRAN,DSTRESS)
       IMPLICIT NONE
      INCLUDE 'ABA_PARAM.INC'
      DIMENSION FDEP(6,6),STRAN(6),DSTRESS(6)
      DO I=1,6
          
              DSTRESS(I)=FDEP(I,1)*STRAN(1)+FDEP(I,2)*STRAN(2)+
     1FDEP(I,3)*STRAN(3)+FDEP(I,4)*STRAN(4)+FDEP(I,5)*STRAN(5)+
     1FDEP(I,6)*STRAN(6)
          
      END DO
      END SUBROUTINE GETDSTRESS
      
      
      
      
      SUBROUTINE GETDEP(FFCFFC,DE,FDEP,FCF,FCF)
       IMPLICIT NONE
       INCLUDE 'ABA_PARAM.INC'
      DIMENSION FFCFFC(6,6),FDE(6,6),FDEP(6,6)
      DO I=1,6
          DO J=1,6
              FDEP(I,J)=DE(I,J)-MATMUL(DE,FFCFFC))/(FCF-FKF)
          END DO
      END DO
      
      END SUBROUTINE GETDEP
      
      
C     Fortran90庫存函數(shù)中,有提供的Matmul,這個函數(shù)來做矩陣乘法
C    C=matmul(A,B)!只需要一行就OK了
       SUBROUTINE GETDE(FG,FLMD,FDE)
        IMPLICIT NONE
      INCLUDE 'ABA_PARAM.INC'
      DIMENSION FDE(6,6)
      DO I=1,6
          DO J=1,6
              FDE(I,J)=0.0
          END DO
      END DO
 
      FDE(1,1)=FLMD+2.0*FG
      FDE(2,2)=FLMD+2.0*FG
      FDE(3,3)=FLMD+2.0*FG
      FDE(4,4)=FG
      FDE(5,5)=FG
      FDE(6,6)=FG
      FDE(1,2)=FLMD
      FDE(1,3)=FLMD
      FDE(2,1)=FLMD
      FDE(2,3)=FLMD
      FDE(3,1)=FLMD
      FDE(3,2)=FLMD
      END


      SUBROUTINE GETFPSTRESS(STRESS,FPSTRESS,FI1)
       IMPLICIT NONE
      INCLUDE 'ABA_PARAM.INC'
      DIMENSION STRESS(6),FPSTRESS(6)
      DO I=1,6
          FPSTRESS(I)=STRESS(I)
      END DO
      DO J=1,3
          FPSTRESS(J)=STRESS(J)-FI1/3.0
      END DO
      END
      
      SUBROUTINE GETJ2(STRESS,J2)
       IMPLICIT NONE
       INCLUDE 'ABA_PARAM.INC'
      DIMENSION STRESS(6)
      
      FJ2=1.0/6.0*((STRESS(1)-STRESS(2))**2.0+(STRESS(2)-STRESS(3))**2.0
     1+(STRESS(3)-STRESS(1))**2.0+6.0(STRESS(4)**2.0+STRESS(5)**2.0+
     2STRESS(6)**2.0))
      END
      
      SUBROUTINE GETFFC(FPSTRESS,FFC,FJ2,FARF)
       IMPLICIT NONE
        INCLUDE 'ABA_PARAM.INC'
      DIMENSION FPSTRESS(6),FFC(6)
      
      DO I=1,6
          FFC(I)=FPSTRESS(I)/(2.0*SQRT(FJ2))
      END DO
      DO J=1,3
          FFC(J)=FFC(J)+FARF
      END DO
      DO K=4,6
          FFC(K)=FFC(K)*2.0
      END DO
      END
      
       SUBROUTINE GETFFCFFC(FFC,FFCFFC)
        IMPLICIT NONE
      DIMENSION FFC(6),FFCFFC(6,6)
      DO I=1,6
          DO J=1,6
              FFCFFC(I,J)=FFC(I)*FFC(J)
          END DO
      END DO
      END
      
      SUBROUTINE GETFPSTRAN(FPBL,FCF,FKF,FFFC,DDSTRAN)
       IMPLICIT NONE
       INCLUDE 'ABA_PARAM.INC'
      DIMENSION FPBL(6.6),FFFC(6,6),DDSTRAN(6),FSPYS(6)
      DO I=1,6
          DO J=1,6
              FPBL(I,J)=(1.0/(FCF-FKF))*FFFC(I,J)
          END DO
      END DO
      DO I=1,6
          DO J=1,6
      FSPYS(I)=FPBL(I,J)*DDSTRAN(J)
          END DO
          FPSTRAN(I)=FSPYS(1)+FSPYS(2)+FSPYS(3)+FSPYS(4)+FSPYS(5)+
     1FSPYS(6)
      END DO
      END


邀請回答 我來回答

當(dāng)前暫無回答

回答可獲贈 200金幣

沒解決?試試專家一對一服務(wù)

換一批
    App下載
    技術(shù)鄰APP
    工程師必備
    • 項目客服
    • 培訓(xùn)客服
    • 平臺客服

    TOP