steady.for

来自「本程序是D.R.J.OWEN主编的FINITE ELEMENTS IN PLAS」· FOR 代码 · 共 38 行

FOR
38
字号
C$DEBUG
C$LARGE
	SUBROUTINE STEADY(NELEM,NGAUS,NCHEK,VIVEL,ISTEP,FIRST,TOLER,PVALU,
     .                  MTOTG,DTIME,NSTR1,TTIME) !(Page 298)
C**********************************************************************
C
C*** THIS SUBROUTINE CHECKS FOR ATTAINMENT OF STEADY STATE CONDITIONS
C
C**********************************************************************
	DIMENSION VIVEL(5,MTOTG),DESTN(4)
	NCHEK=1
	NTOTG=NELEM*NGAUS*NGAUS
	TOTAL=0.0
	DO 10 ITOTG=1,NTOTG
	DO 40 ISTR1=1,NSTR1
   40 DESTN(ISTR1)=VIVEL(ISTR1,ITOTG)*DTIME
   10 TOTAL=TOTAL+SQRT((2.0*(DESTN(1)*DESTN(1)+DESTN(2)*DESTN(2)+
     . DESTN(4)*DESTN(4))+DESTN(3)*DESTN(3))/3.0)
      IF(ISTEP.EQ.1) FIRST=TOTAL
	IF(FIRST.EQ.0.0) GO TO 15
	RATIO=100.0*TOTAL/FIRST
	GO TO 25
   15 RATIO=0.0
   25 CONTINUE
      IF(ISTEP.EQ.1) GO TO 20
	IF(RATIO.LE.TOLER) NCHEK=0
	IF(RATIO.GT.PVALU) NCHEK=999
   20 PVALU=RATIO
      WRITE(6,900) TTIME
  900 FORMAT(1H0,5X,12HTOTAL TIME =,E17.6)
      WRITE(6,30) NCHEK,RATIO,REMAX
   30 FORMAT(1H0,3X,18HCONVERGENCE CODE =,I4,3X,28HNORM OF RESIDUAL SUM
     .RATIO =,E14.6,3X,18HMAXIMUM RESIDUAL =,E14.6)
	RETURN
	END


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?