📄 output.for
字号:
C$DEBUG
C$LARGE
SUBROUTINE OUTPUT(IITER,MTOTG,MTOTV,MVFIX,NELEM,NGAUS,NOFIX,
. NOUTP,NPOIN,NVFIX,STRSG,TDISP,TREAC,EPSTN,
. NTYPE,NCHEK) !(Page 258)
C*******************************************************************
C
C**** THIS SUBROUTINE OUTPUT DISPLACEMENTS.REACTION AND STRESSES
C
C*******************************************************************
DIMENSION NOFIX(MVFIX),NOUTP(2),STRSG(4,MTOTG),STRSP(3),
. TDISP(MTOTV),TREAC(MVFIX,2),EPSTN(MTOTG)
KOUTP=NOUTP(1)
IF(IITER.GT.1) KOUTP=NOUTP(2)
IF(IITER.EQ.1.AND.NCHEK.EQ.0) KOUTP=NOUTP(2)
C
C*** OUTPUT DISPLACEMENTS
C
IF(KOUTP.LT.1) GO TO 10
WRITE(6,900)
WRITE(*,900)
900 FORMAT(1H0,6X,13HDISPLACEMENTS)
IF(NTYPE.NE.3) WRITE(6,950)
IF(NTYPE.NE.3) WRITE(*,950)
950 FORMAT(1H0,6X,4HNODE,6X,7HX-DISP.,7X,7HY-DISP.)
IF(NTYPE.EQ.3) WRITE(6,955)
955 FORMAT(1H0,6X,4HNODE,6X,7HR-DISP.,7X,7HZ-DISP.)
DO 20 IPOIN=1,NPOIN
NGASH=IPOIN*2
NGISH=NGASH-2+1
WRITE(6,910) IPOIN,(TDISP(IGASH),IGASH=NGISH,NGASH)
20 WRITE(*,910) IPOIN,(TDISP(IGASH),IGASH=NGISH,NGASH)
910 FORMAT(I10,3E14.6)
10 CONTINUE
C
C*** OUTPUT REACTIONS
C
IF(KOUTP.LT.2) GO TO 30
WRITE(6,920)
WRITE(*,920)
920 FORMAT(1H0,5X,9HREACTIONS)
IF(NTYPE.NE.3) WRITE(6,960)
960 FORMAT(1H0,6X,4HNODE,6X,7HX-REAC.,7X,7HY-REAC.)
IF(NTYPE.EQ.3) WRITE(6,965)
965 FORMAT(1H0,6X,4HNODE,6X,7HR-REAC.,7X,7HZ-REAC.)
DO 40 IVFIX=1,NVFIX
40 WRITE(6,910) NOFIX(IVFIX),(TREAC(IVFIX,IDOFN),IDOFN=1,2)
30 CONTINUE
C
C*** OUTPUT
C
IF(KOUTP.LT.3) GO TO 50
IF(NTYPE.NE.3) WRITE(6,970)
IF(NTYPE.NE.3) WRITE(*,970)
970 FORMAT(1H0,1X,4HG.P.,6X,9HXX-STRESS,5X,9HYY-STRESS,5X,
. 9HXY-STRESS,5X,9HZZ-STRESS,6X,8HMAX P.S.,6X,8HMIN P.S.,3X,
. 5HANGLE,3X,6HE.P.S.)
IF(NTYPE.EQ.3) WRITE(6,975)
IF(NTYPE.EQ.3) WRITE(*,975)
975 FORMAT(1H0,1X,4HG.P.,6X,9HRR-STRESS,5X,9HZZ-STRESS,5X,
. 9HRZ-STRESS,5X,9HTT-STRESS,6X,8HMAX P.S.,6X,8HMIN P.S.,
. 3X,5HANGLE,3X,6HE.P.S.)
KGAUS=0
DO 60 IELEM=1,NELEM
KELGS=0
WRITE(6,930) IELEM
WRITE(*,930) IELEM
930 FORMAT(1H0,5X,13HELEMENT NO. =,I5)
DO 60 IGAUS=1,NGAUS
DO 60 JGAUS=1,NGAUS
KGAUS=KGAUS+1
KELGS=KELGS+1
XGASH=(STRSG(1,KGAUS)+STRSG(2,KGAUS))*0.5
XGISH=(STRSG(1,KGAUS)-STRSG(2,KGAUS))*0.5
XGESH=STRSG(3,KGAUS)
XGOSH=SQRT(XGISH*XGISH+XGESH*XGESH)
STRSP(1)=XGASH+XGOSH
STRSP(2)=XGASH-XGOSH
IF(XGISH.EQ.0.0) XGISH=0.1E-20
STRSP(3)=ATAN(XGESH/XGISH)*28.647889757
WRITE(6,940) KELGS,(STRSG(ISTR1,KGAUS),ISTR1=1,4),
. (STRSP(ISTRE),ISTRE=1,3),EPSTN(KGAUS)
60 WRITE(*,940) KELGS,(STRSG(ISTR1,KGAUS),ISTR1=1,4),
. (STRSP(ISTRE),ISTRE=1,3),EPSTN(KGAUS)
940 FORMAT(I5,2X,6E14.6,F8.3,E14.6)
50 CONTINUE
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -