📄 a02a.for
字号:
450 IF (NPB .EQ.0) GO TO 550
READ (IIN,1100) ((IPNODE(I,J),I=1,3),J=1,NPB)
IF (IPNODE(1,1).EQ.0) IPNODE(1,1)=1
IF (IPNODE(2,1).EQ.0) IPNODE(2,1)=NUMNP
IF (IPNODE(3,1).LE.0) IPNODE(3,1)=1
DO 500 I=1,NPB
IF (IPNODE(1,I).LT.0) GO TO 510
IF (IPNODE(1,I).GT.IPNODE(2,I)) GO TO 510
IF (IPNODE(3,I).LE.0) GO TO 510
500 CONTINUE
GO TO 550
510 write(66,2990)
STOP
550 IF (JNPORT.EQ.0 .OR. NODSVB.EQ.0) GO TO 650
READ (IIN,1100) ((INODB(I,J),I=1,3),J=1,NODSVB)
IF (NSTE.GT.0 .AND. INODB(1,1).EQ.0) INODB(1,1)=1
IF ( INODB(2,1) .EQ. 0) INODB(2,1) = NSTE
IF ( INODB(3,1) .EQ. 0) INODB(3,1) = 1
INDEX=4
IF (NODSVB.LE.1) GO TO 640
DO 630 I=2,NODSVB
J=I - 1
IF (INODB(1,J).GT.INODB(2,J)) GO TO 635
IF (INODB(1,I).GE.INODB(2,J)) GO TO 630
write(66,3000) BLKNAM(INDEX),I,J
STOP
630 CONTINUE
640 J=NODSVB
IF (INODB(1,J).LE.INODB(2,J)) GO TO 645
635 write(66,3004) BLKNAM(INDEX),J,J
STOP
645 IF (INODB(2,NODSVB).GE.NSTE) GO TO 650
write(66,3001) BLKNAM(INDEX),INODB(2,NODSVB),NSTE
STOP
650 IF (JNPORT.EQ.0 .OR. LEMSVB.EQ.0) GO TO 750
READ (IIN,1100) ((IELMB(I,J),I=1,3),J=1,LEMSVB)
IF (NSTE.GT.0 .AND. IELMB(1,1).EQ.0) IELMB(1,1)=1
IF ( IELMB(2,1) .EQ. 0) IELMB(2,1) = NSTE
IF ( IELMB(3,1) .EQ. 0) IELMB(3,1) = 1
INDEX=5
IF (LEMSVB.LE.1) GO TO 740
DO 730 I=2,LEMSVB
J=I - 1
IF (IELMB(1,J).GT.IELMB(2,J)) GO TO 735
IF (IELMB(1,I).GE.IELMB(2,J)) GO TO 730
write(66,3000) BLKNAM(INDEX),I,J
STOP
730 CONTINUE
740 J=LEMSVB
IF (IELMB(1,J).LE.IELMB(2,J)) GO TO 745
735 write(66,3004) BLKNAM(INDEX),J,J
STOP
745 IF (IELMB(2,LEMSVB).GE.NSTE) GO TO 750
write(66,3001) BLKNAM(INDEX),IELMB(2,LEMSVB),NSTE
STOP
750 CONTINUE
ISPEC=1
IF (NSUBST.GT.0 .AND. IMASS.GT.0) ISPEC=0
IF (NTGNL.EQ.0) ISPEC=0
IF ( NEGL.GT.0 .OR. NSUBST.GT.0) GO TO 53
IF (NEGNL.GT.0 .OR. NSGNL.GT.0) GO TO 53
write(66,3090)
STOP
53 NUMEG = NEGL + NTGNL
IDATWR=1
IF (IPDATA.GT.3) IDATWR=2
IF (IREFOR.EQ.0 .OR. IREFOR.EQ.1) GO TO 231
write(66,3145) IREFOR
STOP
231 IF (IREFOR.EQ.0) GO TO 232
IF (NSUBST.EQ.0) GO TO 234
write(66,3146)
STOP
234 IF (IOPE.NE.1) GO TO 232
write(66,3343)
STOP
232 CONTINUE
IF (IMASS.GT.0 .OR. IDAMP.EQ.0) GO TO 233
write(66,3018)
STOP
233 CONTINUE
ISTAT=1
IF (IMASS.EQ.0) ISTAT=0
IF (ISTAT.EQ.1 .AND. IOPE.EQ.0) IOPE=2
IF (IMODES.GT.0) IOPE=2
IF (IOPE.NE.3 .OR. IMASS.EQ.1) GO TO 20
write(66,3012)
STOP
20 DTA=DT
KLIN=1
IF (NTGNL.EQ.0) KLIN=0
IF (IEIG.GT.0 .AND. NFREQ.EQ.0) NFREQ=1
IF (IOPE.NE.3 .OR. IEIG.EQ.0) GO TO 21
write(66,3010)
STOP
21 CONTINUE
IF (IDAMP.GE.0 .AND. IDAMP.LE.2) GO TO 37
write(66,3019)
STOP
37 CONTINUE
IF (IOPE.NE.3 .OR. IDAMP.LT.2) GO TO 22
write(66,3008)
STOP
22 IF (NSUBST.EQ.0) GO TO 2
IF (IMASS.NE.2) GO TO 42
write(66,3007)
STOP
42 IF (IDAMP.LT.2) GO TO 14
write(66,3009)
STOP
14 IF (IMODES.EQ.0) GO TO 2
write(66,3006)
STOP
2 IF (IEIG.LE.2) GO TO 19
write(66,3003)
STOP
19 IF (IEIG.EQ.2) IESTYP=1
IF (IEIG.NE.2) GO TO 3
IF (ISTAT.EQ.0) GO TO 3
write(66,3005)
STOP
3 IF (NSUBST.EQ.0 .OR. IEIG.EQ.0) GO TO 4
write(66,3013) NSUBST,IEIG
STOP
4 IF (NSUBST.EQ.0 .OR. IINIMP.EQ.0) GO TO 5
write(66,3015)
STOP
5 IF (ITP96.EQ.2) GO TO 24
IF (NTEMP.EQ.0) GO TO 24
write(66,3014) ITP96,NTEMP
STOP
24 IF (IOPE.NE.3 .OR. NSUBST.EQ.0) GO TO 28
write(66,3030)
STOP
28 IF (IMASS.GT.0 .OR. IMODES.EQ.0) GO TO 31
write(66,3120)
STOP
31 IF (METHOD.NE.4) GO TO 34
IF (ITP96.EQ.0) GO TO 32
write(66,3011)
STOP
32 IF (IUSERL.EQ.0) GO TO 34
write(66,3140)
STOP
34 IF (METHOD.NE.3) GO TO 35
IF (IOPE.NE.3) GO TO 35
write(66,3141)
STOP
35 IF (NSGNL.EQ.0) GO TO 40
IF (IOPE.NE.3) GO TO 36
write(66,3143)
STOP
36 IF (IMODES.EQ.0) GO TO 161
write(66,3144)
STOP
161 IF (IEIG.EQ.0) GO TO 162
write(66,3150)
STOP
162 IF (IINIMP.EQ.0) GO TO 40
write(66,3152)
STOP
40 IF (ISVFK.EQ.0 .OR. IOPE.NE.3) GO TO 55
write(66,3156)
STOP
55 IF (IMODES.EQ.0) GO TO 58
IF (NPDIS.EQ.0) GO TO 56
write(66,3040)
STOP
56 IF (NMODES.GT.0) GO TO 57
write(66,3041)
STOP
57 IF (KLIN.EQ.0) GO TO 58
IF (METHOD.EQ.1 .AND. ILNSCH.EQ.0) GO TO 58
write(66,3050)
METHOD=1
ILNSCH=0
IMMM=METH(7)
IVVV=METH(1)
58 IF (KLIN.NE.0 .OR. IEIG.NE.2) GO TO 75
write(66,3153)
STOP
75 IF (IDGRAV.GE.0 .AND. IDGRAV.LE.2) GO TO 76
write(66,3026) IDGRAV
STOP
76 IF (IDCFGL.GE.0 .AND. IDCFGL.LE.2) GO TO 77
write(66,3027) IDCFGL
STOP
77 ISMASS = MAX0( IDGRAV,IDCFGL )
IF (ISMASS.EQ.0) GO TO 71
IF (IMASS.GT.0) ISMASS = IMASS
IF (IDGRAV.EQ.0) GO TO 72
IF (IDGRAV.EQ.ISMASS) GO TO 72
write(66,3023) ISMASS,IDGRAV
STOP
72 IF (IDCFGL.EQ.0) GO TO 73
IF (IDCFGL.EQ.ISMASS) GO TO 73
write(66,3024) ISMASS,IDCFGL
STOP
73 IF (NSUBST.EQ.0) GO TO 74
write(66,3021)
STOP
74 IF (ISMASS.LE.1) GO TO 71
IF (IOPE.NE.3) GO TO 71
write(66,3022) IDGRAV,IDCFGL
STOP
71 IF (NSGNL.EQ.0) GO TO 51
IF (METHOD.EQ.3 .AND. ILNSCH.EQ.0) GO TO 51
METHOD = 3
ILNSCH = 0
IMMM = METH(7)
IVVV = METH(3)
write(66,3060)
51 NDTEMP = NCES + NRLINK
IF (NDTEMP.GT.0 .AND. NIDM.LE.0) NIDM=1
NRLID = 6 - IDOF(1)-IDOF(2)-IDOF(3)-IDOF(4)-IDOF(5)-IDOF(6)
NRNLIN=0
IF (NRLINK.GE.0) GO TO 78
write(66,3148) NRLINK
STOP
78 IF (NRLINK.GT.0 .AND. NIDM.LT.NRLID) NIDM=NRLID
NDISCE = NCES + NRLID*NRLINK
NODE3=12
NC=NFREQ + 8
IF (NC.GT.2*NFREQ) NC=2*NFREQ
IF (IESTYP.EQ.0 .OR. NQ.GT.0) GO TO 79
NQ=16
IF (IINTER.EQ.0) NQ=NC
79 CONTINUE
IF (IEIG.EQ.2 .AND. NMODE.GT.NFREQ) NMODE=NFREQ
NEIGQ=NFREQ + 8
IF (IEIG.EQ.2 .AND. NQ.LT.NEIGQ) NQ=NEIGQ
NEWREF=0
IF (METHOD.NE.3) GO TO 41
NEWREF=1
METHOD=1
41 CONTINUE
NLSTPD=0
IF (ITEMAX.EQ.0) ITEMAX=15
IF (METHOD.NE.4 .AND. ETOL.EQ.0.0D+00) ETOL=1.0D-03
IF (METHOD.EQ.4 .AND. ETOL.EQ.0.0D+00) ETOL=1.0D-06
IF (RCTOL .EQ. 0.D0) RCTOL=0.5D-1
IF (RTOL .EQ. 0.D0) RTOL=0.1D-1
DTOL=RTOL
DNORM=RNORM
DMNORM=RMNORM
IF (STOL .EQ. 0.D0) STOL=0.5D0
IF (IRINT.EQ.0) IRINT=99999
IF(MODEX.NE.2 .AND. JNPORT.GT.0) NPUTSV=1
IF (LUPORT.EQ.0) LUPORT=IT60
IF (LFPORT.GT.0) IFPORT=LFPORT
IBPORT=LUPORT
IF (JNPORT.LE.0 .OR. JNPORT.GT.2) JNPORT=0
CALL FILEOP (MODEX,NSUBST,ITP96,IINIMP,NTEGRA,IEIG,IMODS,
1 JNPORT,IBPORT,IFPORT,INPORT)
IF (ITP96.EQ.0 .OR. ITP96.EQ.2) GO TO 43
REWIND IT56
IF (ITP96.NE.(-1) .OR. MODEX.EQ.0) GO TO 43
NPPTT1=N0
NPPTT2=NPPTT1 + NUMNP*ITWO
NPPTT3=NPPTT2 + NUMNP*ITWO
NLAST =NPPTT3 + NUMNP*ITWO - 1
IF (ISTPRT.GT.0) write(66,2801)
CALL SIZE (NLAST)
CALL PROCTT (A(NPPTT1),A(NPPTT2),A(NPPTT3),TSTART,DT,NSTE,NUMNP)
ITP96=1
43 CONTINUE
IF (JNPORT.EQ.0) GO TO 790
CALL PRINT9
790 write(66,2000) CHEAD
A0=0.D0
A1=0.D0
IF (ISTAT.EQ.0) GO TO 10
IF (NSTE.EQ.0) GO TO 10
CALL OPCOEF(OPVAR)
10 IF (IDATWR.GT.1) GO TO 890
write(66,2005)
NCARD=1
write(66,2010) NCARD
write(66,2015) NUMNP,(IDOF(I),I=1,6),IDPIPE
write(66,2020) NEGL,NEGNL,MODEX,NSTE,DT,TSTART
write(66,2021) IPDATA
write(66,2025) NSUBST,NSKEWS,NMIDSS,NSGNL
NCARD=NCARD + 1
write(66,2010) NCARD
write(66,2027) IRINT,ITP96
write(66,2028) INPORT,JNPORT
write(66,2029) IINIMP,ISVFK
write(66,2026) IADIN,MTOTK,LREC
NCARD=NCARD + 1
write(66,2010) NCARD
write(66,2030) NLOAD,NPR2,NPR3,NPBM,NP3DB,NPPL,NPSH,IDGRAV,
1 NPDIS,NTEMP,NCES,NIDM,NRLINK
write(66,2031) NTEGRA,IDCFGL
write(66,2032) IREFOR
IF (IREFOR.EQ.0) GO TO 48
write(66,2033)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -