⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conver.for

📁 有限元计算程序
💻 FOR
字号:
C$DEBUG
C$LARGE
	SUBROUTINE CONVER(ELOAD,IITER,LNODS,MELEM,MEVAB,MTOTV,NCHEK,
     .                  NDOFN,NELEM,NEVAB,NNODE,NTOTV,PVALU,STFOR,
     .                  TLOAD,TOFOR,TOLER)                 !(Page 213)
C**********************************************************************
C
C*** THIS SUBROUTINE CHECKS FOR CONVERGENCE OF THE ITERATION PROCESS
C
C**********************************************************************
	DIMENSION ELOAD(MELEM,MEVAB),LNODS(MELEM,9),STFOR(MTOTV),
     .          TOFOR(MTOTV),TLOAD(MELEM,MEVAB)
	NCHEK=0
	RESID=0.0
	RETOT=0.0
	REMAX=0.0
	DO 5 ITOTV=1,NTOTV
	STFOR(ITOTV)=0.0
	TOFOR(ITOTV)=0.0
  5   CONTINUE
	DO 40 IELEM=1,NELEM
	KEVAB=0
	DO 40 INODE=1,NNODE
	LOCNO=IABS(LNODS(IELEM,INODE))
	DO 40 IDOFN=1,NDOFN
	KEVAB=KEVAB+1
	NPOSI=(LOCNO-1)*NDOFN+IDOFN
	STFOR(NPOSI)=STFOR(NPOSI)+ELOAD(IELEM,KEVAB)
 40   TOFOR(NPOSI)=TOFOR(NPOSI)+TLOAD(IELEM,KEVAB)
	DO 50 ITOTV=1,NTOTV
	REFOR=TOFOR(ITOTV)-STFOR(ITOTV)
	RESID=RESID+REFOR*REFOR
	RETOT=RETOT+TOFOR(ITOTV)*TOFOR(ITOTV)
	AGASH=ABS(REFOR)
  50  IF(AGASH.GT.REMAX) REMAX=AGASH
	DO 10 IELEM=1,NELEM
	DO 10 IEVAB=1,NEVAB
  10  ELOAD(IELEM,IEVAB)=TLOAD(IELEM,IEVAB)-ELOAD(IELEM,IEVAB)
	RESID=SQRT(RESID)
	RETOT=SQRT(RETOT)
	RATIO=100.0*RESID/RETOT
	IF(RATIO.GT.TOLER) NCHEK=1
	IF(IITER.EQ.1) GO TO 20
	IF(RATIO.GT.PVALU) NCHEK=999
  20  PVALU=RATIO
	WRITE(6,30) NCHEK, RATIO,REMAX
	WRITE(*,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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -