home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e003 / 15.ddi / RN1.FOR < prev    next >
Encoding:
Text File  |  1987-04-11  |  9.4 KB  |  118 lines

  1.       SUBROUTINE ERROR(I)                                               MOD02462
  2.       COMMON /EXTRA/ MODEX                                              MOD02463
  3.       COMMON /PREP/ X(2),KSKIP                                          MOD02464
  4.       COMMON/UNIT/II11,II22                                             MOD02465
  5.       KSKIP=1                                                           MOD02466
  6.       MODEX=1                                                           MOD02467
  7.       WRITE(II22,100)I                                                  MOD02468
  8. 100   FORMAT (1H0//1X,30HALLOCATED STORAGE EXCEEDED BY   ,I7,6H WORDS)  MOD02469
  9.       WRITE(II22,110)                                                   MOD02470
  10. 110   FORMAT(/,1X, 29HNO EXECUTION WILL BE ALLOWED./)                   MOD02471
  11.       RETURN                                                            MOD02472
  12.       END                                                               MOD02473
  13.       SUBROUTINE RENUMC(NX,IES)                                         MOD05856
  14.       COMMON/ELPAR/NPAR(14),NUMNP,II(7),MTOT,I2(6),NUMEL,NUMEL2         MOD05857
  15.       COMMON /BAND/ NRNM(3)                                             MOD05858
  16.       COMMON/UNIT/II11,II22                                             MOD05859
  17.      $,ICRIT                                                            MOD05860
  18.       COMMON/OUTS/IIN,IOUT,INPLT,IOPLT,IBON                             MOD05861
  19.       COMMON/SIZE/NDMX,MXDF,NSMX,NTERM,NADND                            MOD05862
  20.       COMMON /TRASH/ X(30)                                              MOD05863
  21.       COMMON /SUPEL/ LDUM(4),NEADD                                      MOD05864
  22.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1                                 MOD05865
  23.       COMMON/FORCE/ NLC                                                 MOD05866
  24.       COMMON /A/ MAXGRD,MAXDEG                                          MOD05867
  25.       COMMON /BITS/ NBITIN                                              MOD05868
  26.       COMMON /ZERO/ KT                                                  MOD05869
  27.       COMMON  A(1)                                                      MOD05870
  28.       WRITE(II22,150)                                                   MOD05871
  29.       REWIND INPLT                                                      MOD05872
  30.       READ(INPLT,140)                                                   MOD05873
  31.       READ(INPLT,140)                                                   MOD05874
  32.       READ(INPLT,120)NUMNP                                              MOD05875
  33.       DO 20 I=1,NUMNP                                                   MOD05876
  34.       READ(INPLT,140)                                                   MOD05877
  35.       READ(INPLT,140)                                                   MOD05878
  36. 20    CONTINUE                                                          MOD05879
  37.       READ(INPLT,140)                                                   MOD05880
  38.       READ(INPLT,120)NUMEL                                              MOD05881
  39.       NTERM=NUMEL                                                       MOD05882
  40.       WRITE(II22,130)NUMNP,NUMEL                                        MOD05883
  41.       MULT=1                                                            MOD05884
  42.       CALL SECOND(T1)                                                   MOD05885
  43.       NC=IABS(NX)                                                       MOD05886
  44.       M2=2*NC                                                           MOD05887
  45.       MTEF= MTOT*MULT                                                   MOD05888
  46.       NBITIN=15                                                         MOD05889
  47.       NWORDS=M2+NUMNP*7+NC*MULT*(NUMNP+MULT)/4                          MOD05890
  48.       IF(NRNM(2).EQ.2) NWORDS=MTEF                                      MOD05891
  49.       N=NUMNP                                                           MOD05892
  50.       II1=NUMNP                                                         MOD05893
  51.       IF(N.LT.100) N=100                                                MOD05894
  52.       N=N+3                                                             MOD05895
  53.       N=N-MOD(N,4)                                                      MOD05896
  54.       MAXGRD=N                                                          MOD05897
  55.       IIR=N/MULT                                                        MOD05898
  56.       IF(MULT.EQ.1)IIR=NUMNP                                            MOD05899
  57.       MAXDEG=NC                                                         MOD05900
  58.       IF(NWORDS.GT.MTEF) WRITE(II22, 100)                               MOD05901
  59.       IF(NWORDS.GT.MTEF) KSKIP=1                                        MOD05902
  60.       IF(NWORDS.GT.MTEF) RETURN                                         MOD05903
  61. 100   FORMAT (/20X, 95HFOR THE GIVEN NO. OF NODES THERE IS NOT ENOUGH STMOD05904
  62.      $ORAGE ALLOCATED -- NO MINIMIZATION IS ALLOWED.//)                 MOD05905
  63.       N2=1+NUMEL*13                                                     MOD05906
  64.       NZ=NTERM                                                          MOD05907
  65.       IF(NZ.EQ.0) NZ=1                                                  MOD05908
  66.       CALL ELORD(A(1),NUMEL,NUMEL2,NZ,NADND,A(N2))                      MOD05909
  67.       ND=(NUMNP+MULT)/MULT                                              MOD05910
  68.       N1=1                                                              MOD05911
  69.       N2=N1+ND                                                          MOD05912
  70.       IF(NRNM(2).EQ.2) CALL RENRST(A(N1),NUMNP,KT)                      MOD05913
  71.       IF(NRNM(2).EQ.2)     GO TO 106                                    MOD05914
  72.       DO 105 I=1,MTOT                                                   MOD05915
  73. 105   A(I)=0.0                                                          MOD05916
  74.       CALL CONECT(A(N2),NUMNP,NUMEL,I1,KSKIP,NC,X(1),NZ,NADND,II1)      MOD05917
  75.       IF(KSKIP.EQ.1) RETURN                                             MOD05918
  76.       N3=N2+IIR*NC                                                      MOD05919
  77.       N4=N3+ND                                                          MOD05920
  78.       N5=N4+ND                                                          MOD05921
  79.       N6=N5+ND                                                          MOD05922
  80.       N7=N6+ND                                                          MOD05923
  81.       N8=N7+ND                                                          MOD05924
  82.       N9=N8+ND                                                          MOD05925
  83.       IF(NRNM(3).GE.0.AND.NRNM(3).LT.9000) GO TO 9105                   MOD05926
  84.       CALL SETNOD(A(N2),II1,A(N3),NUMNP,A(N1),KT,I1)                    MOD05927
  85.       GO TO 106                                                         MOD05928
  86. 9105  CONTINUE                                                          MOD05929
  87.       CALL SCHEME(A(N2),II1,NUMNP,0,A(N1),A(N3),A(N4),A(N5),A(N6),A(N7),MOD05930
  88.      $A(N8),A(N9),NX,M2,KT)                                             MOD05931
  89. 106   CONTINUE                                                          MOD05932
  90.       N3=N2+NUMNP*6                                                     MOD05933
  91.       CALL NODORD(A(N2),NUMNP,A(N1),KT,I1,A(N3))                        MOD05934
  92.       NUMEL=NUMEL-NEADD                                                 MOD05935
  93.       N3=N2+NUMEL*13                                                    MOD05936
  94.       N4=N3+NZ*NADND                                                    MOD05937
  95.       N5=N4+NADND                                                       MOD05938
  96.       IF(N5.GT.MTOT) CALL ERROR(N5-MTOT)                                MOD05939
  97.       CALL ELRORD(A(N2),NUMEL,NUMEL2,A(N1),NUMNP,I1,A(N3),A(N4),NZ,NADNDMOD05940
  98.      $)                                                                 MOD05941
  99.       IF(IES.NE.0)CALL FGNORD(NUMNP,A(N1),IES)                          MOD05942
  100.       N3=N2+NLC*6                                                       MOD05943
  101.       IF(NLC.GT.0) CALL LDRORD(A(N1),A(N2),A(N3),NUMNP,NLC)             MOD05944
  102.       CALL RORD(A(N1),A(N2),NUMNP)                                      MOD05945
  103.       NTERM=NTERM-NEADD                                                 MOD05946
  104.       CALL FLCOPY                                                       MOD05947
  105.       CALL SECOND(T2)                                                   MOD05948
  106.       T2=T2-T1                                                          MOD05949
  107.       WRITE(II22, 110)T2                                                MOD05950
  108. 110   FORMAT(///20X,F8.2, 53H SECONDS WERE REQUIRED TO REDUCE THE MODELSMOD05951
  109.      $BANDWIDTH//)                                                      MOD05952
  110.       RETURN                                                            MOD05953
  111. 120   FORMAT(5X,I5)                                                     MOD05954
  112. 130   FORMAT(5X,20HNUMBER OF NODES    =,I5,/,                           MOD05955
  113.      15X,20HNUMBER OF ELEMENTS =,I5)                                    MOD05956
  114. 140   FORMAT(A4)                                                        MOD05957
  115. 150   FORMAT(1H1,25X,45HCUTHILL-MCGEE METHOD OF RENUMBERING IS CHOSEN,/,MOD05958
  116.      125X,45(1H-))                                                      MOD05959
  117.       END                                                               MOD05960
  118.