鄧肯模型-帶誤差控制的改進(jìn)Euler積分算法_第1頁
鄧肯模型-帶誤差控制的改進(jìn)Euler積分算法_第2頁
鄧肯模型-帶誤差控制的改進(jìn)Euler積分算法_第3頁
鄧肯模型-帶誤差控制的改進(jìn)Euler積分算法_第4頁
鄧肯模型-帶誤差控制的改進(jìn)Euler積分算法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN, 2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS, 3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT, 4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)C INCLUDE 'ABA_PARAM.INC'C CHARACTER*80 MATE

2、RL 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), 4 DFGRD0(3,3),DFGRD1(3,3)CDIMENSION PS(3),DSTRESS(NTENS),DSTRESS1(NTENS),DSTRESS2(NTENS)DIMENSION STRESS1(NTENS)

3、,STRESS2(NTENS),ESTRESS(NTENS)DIMENSION DSTRAN1(NTENS),DSTRAN2(NTENS)PARAMETER (ONE=1.0D0,TWO=2.0D0,THREE=3.0D0,SIX=6.0D0) DATA TOLER/1.D-3/ EK=PROPS(1)EN=PROPS(2)RF=PROPS(3)C=PROPS(4)FAI=PROPS(5)/180.0*3.1415926UG=PROPS(6)UD=PROPS(7)UF=PROPS(8)EKUR=PROPS(9)PA=PROPS(10)DFAI=PROPS(11)/180.0*3.1415926

4、S1S3O=STATEV(1)S3O=STATEV(2)SSS=STATEV(3)FBETA=1.0SBETA=0.0DO 682 I1=1,NTENS DSTRAN2(I1)=DSTRAN(I1)682CONTINUE 1000CALL GETPS(STRESS,PS,NTENS)FAI=FAI-DFAI*LOG10(S3O/PA)CALL GETEMOD(PS,EK,EN,RF,C,FAI,ENU,PA,EKUR,EMOD,S,S3O,UG,UD,UF 1,SSS,S1S3O)EBULK3=EMOD/(ONE-TWO*ENU) EG2=EMOD/(ONE+ENU) EG=EG2/TWO E

5、G3=THREE*EG ELAM=(EBULK3-EG2)/THREECALL GETDDSDDE(DDSDDE,NTENS,NDI,ELAM,EG2,EG)DSTRESS1=0.0DO 681 I1=1,NTENSDSTRAN1(I1)=DSTRAN2(I1)*FBETA681CONTINUECALL GETSTRESS(DDSDDE,DSTRESS1,DSTRAN1,NTENS)DO 701 I1=1,NTENSSTRESS1(I1)=STRESS(I1)+DSTRESS1(I1)701CONTINUECALL GETPS(STRESS1,PS,NTENS)CALL GETEMOD(PS,

6、EK,EN,RF,C,FAI,ENU,PA,EKUR,EMOD,S,S3O,UG,UD,UF, 1SSS,S1S3O)EBULK3=EMOD/(ONE-TWO*ENU) EG2=EMOD/(ONE+ENU) EG=EG2/TWO EG3=THREE*EG ELAM=(EBULK3-EG2)/THREECALL GETDDSDDE(DDSDDE,NTENS,NDI,ELAM,EG2,EG)DSTRESS2=0.0CALL GETSTRESS(DDSDDE,DSTRESS2,DSTRAN1,NTENS)DO 702 I1=1,NTENSDSTRESS(I1)=0.5*(DSTRESS1(I1)+D

7、STRESS2(I1)ESTRESS(I1)=0.5*(DSTRESS2(I1)-DSTRESS1(I1)STRESS2(I1)=STRESS(I1)+DSTRESS(I1)702CONTINUE CALL GETFEI(ESTRESS,SMISES1,NTENS,NDI)CALL GETFEI(STRESS2,SMISES2,NTENS,NDI)IF(SMISES2.NE.0)THENRHS=SMISES1/SMISES2ELSERHS=0.0END IFIF(RHS.LT.TOLER)THENDO 703 I1=1,NTENS STRESS(I1)=STRESS2(I1)703CONTIN

8、UE SBETA=SBETA+FBETA*(1-SBETA)ELSEFBETA=FBETA*(0.8*SQRT(TOLER/RHS)GOTO 1000END IF IF(-SBETA+1.0).GE.1E-6)THENDO 683 I1=1,NTENS DSTRAN2(I1)=DSTRAN(I1)*(1-SBETA)683CONTINUEFBETA=1.0GOTO 1000END IFCALL GETPS(STRESS,PS,NTENS)CALL GETEMOD(PS,EK,EN,RF,C,FAI,ENU,PA,EKUR,EMOD,S,S3O,UG,UD,UF, 1SSS,S1S3O)EBUL

9、K3=EMOD/(ONE-TWO*ENU) EG2=EMOD/(ONE+ENU) EG=EG2/TWO EG3=THREE*EG ELAM=(EBULK3-EG2)/THREECALL GETDDSDDE(DDSDDE,NTENS,NDI,ELAM,EG2,EG) IF(PS(3).GT.S3O)S3O=PS(3) IF(PS(1)-PS(3).GT.S1S3O)S1S3O=PS(1)-PS(3)IF(S.GT.SSS)SSS=SSTATEV(1)=S1S3OSTATEV(2)=S3OSTATEV(3)=SSSENDSUBROUTINE GETPS(STRESS,PS,NTENS)INCLUD

10、E 'ABA_PARAM.INC'DIMENSION PS(3),STRESS(NTENS)CALL SPRINC(STRESS,PS,1,3,3)DO 310 I=1,2DO 320 J=I+1,3IF(PS(I).GT.PS(J)THENPPS=PS(I)PS(I)=PS(J)PS(J)=PPSEND IF320CONTINUE310CONTINUEDO 330 K1=1,3PS(K1)=-PS(K1)330CONTINUERETURNEND SUBROUTINE GETEMOD(PS,EK,EN,RF,C,FAI,ENU,PA,EKUR,EMOD,S,S3O 1,UG,U

11、D,UF,SSS,S1S3O)INCLUDE 'ABA_PARAM.INC'DIMENSION PS(3)S=(1-SIN(FAI)*(PS(1)-PS(3)IF(PS(3).LT.0) THENPSFEI=0.1ELSEPSFEI=PS(3)END IFS=S/(2*C*COS(FAI)+2*PSFEI*SIN(FAI)IF(S.GE.0.99) THENS=0.99END IFAA=UD*(PS(1)-PS(3)AA=AA/(EK*PA*(S3O/PA)*EN)AA=AA/(1-RF*S)ENU=UG-UF*LOG10(S3O/PA)ENU=ENU/(1-AA)/(1-AA

12、)IF(ENU.GT.0.49)ENU=0.49EMOD=EK*PA*(S3O/PA)*EN)*(1-RF*S)*2)IF(S.LT.SSS.AND.(PS(1)-PS(3).LT.S1S3O)THENEMOD=EKUR*PA*(S3O/PA)*EN)END IFEND SUBROUTINE GETFEI(STRESS,SMISES,NTENS,NDI)INCLUDE 'ABA_PARAM.INC'DIMENSION STRESS(NTENS) SMISES=STRESS(1)*2+STRESS(2)*2+STRESS(3)*2+1STRESS(4)*2+STRESS(5)*2

13、+STRESS(6)*2 SMISES=SQRT(SMISES)RETURNEND SUBROUTINE GETDDSDDE(DDSDDE,NTENS,NDI,ELAM,EG2,EG)INCLUDE 'ABA_PARAM.INC'DIMENSION DDSDDE(NTENS,NTENS)CC ELASTIC STIFFNESSCDO 20 K1=1,NTENS DO 10 K2=1,NTENS DDSDDE(K2,K1)=0.0 10 CONTINUE 20 CONTINUE DO 40 K1=1,NDI DO 30 K2=1,NDI DDSDDE(K2,K1)=ELAM 30 CONTINUE DDSDDE(K1,K1)=EG2+ELAM 40 CONTINUE DO 50 K1=NDI+1,NTENS DDSDDE(K1,K1)=EG 50 CONTINUERETURNENDSUBROUTINE GETSTRESS(DDSDDE,STRESS,DSTRAN,NTENS)INCLUDE 'ABA_PARAM.INC&#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論