home *** CD-ROM | disk | FTP | other *** search
- SUBROUTINE RENUM1 MOD05787
- INTEGER AGET MOD05788
- LOGICAL IGET,RGET MOD05789
- COMMON/ELPAR/NPAR(14),NUMNP,II(7),MTOT,I2(6),NUMEL,NUMEL2 MOD05790
- COMMON /BAND/ NRNM(3) MOD05791
- $,ICRIT MOD05792
- COMMON/OUTS/IIN,IOUT,INPLT,IOPLT,IBON,II19,II57,II58 MOD05793
- COMMON/UNIT/I7,I6,I14,I21,I20,I5,I19,I30,I57,I58,I60 MOD05794
- 1,I22,I26,I27 MOD05795
- COMMON/SIZE/NDMX,MXDF,NSMX,NTERM,NADND MOD05796
- COMMON /TRASH/ X(30) MOD05797
- COMMON/STNOD/KCHNG,MT51 MOD05798
- COMMON/ECHO/NOECHO,IUP MOD05799
- COMMON /SUPEL/ LDUM(4),NEADD MOD05800
- COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1 MOD05801
- COMMON/FORCE/ NLC MOD05802
- COMMON /A/ MAXGRD,MAXDEG MOD05803
- COMMON /S/NN,MM MOD05804
- COMMON /BITS/ NBITIN MOD05805
- COMMON /ZERO/ KT MOD05806
- COMMON/NONLIN/INON,ITHIS,INONTO MOD05807
- COMMON A(25000) MOD05808
- DATA BBLL/1H / MOD05809
- II19=I19 MOD05810
- II57=I57 MOD05811
- MT51=51 MOD05812
- II58=I58 MOD05813
- KCHNG=0 MOD05814
- MTOT=25000 MOD05815
- IES=0 MOD05816
- IF(INON.NE.1)GO TO 8 MOD05817
- J1=26 MOD05818
- J2=0 MOD05819
- J3=-INONTO MOD05820
- J4=0 MOD05821
- GO TO 20 MOD05822
- 8 DO 10 JJBB=3,8 MOD05823
- DOMDOM=AGET(JJBB) MOD05824
- IF(DOMDOM.EQ.BBLL)GO TO 11 MOD05825
- 10 CONTINUE MOD05826
- 11 CONTINUE MOD05827
- IF(IGET(J1))CALL PRTERR(0) MOD05828
- IF(IGET(J2))CALL PRTERR(0) MOD05829
- IF(IGET(J3))CALL PRTERR(0) MOD05830
- IF(IGET(J4))CALL PRTERR(0) MOD05831
- IF(IGET(J5))CALL PRTERR(0) MOD05832
- IF(IGET(IUP))CALL PRTERR(0) MOD05833
- IF(IUP.LT.0)IUP=0 MOD05834
- IF(J1.LE.0)J1=26 MOD05835
- IF(J2.LE.0)J2=0 MOD05836
- IF(J3.LE.0)J3=0 MOD05837
- IF(J4.LE.0)J4=0 MOD05838
- 20 NADND=13 MOD05839
- NSELEM=0 MOD05840
- NRNM(1)=J1 MOD05841
- NRNM(2)=J2 MOD05842
- NRNM(3)=J3 MOD05843
- NW=NRNM(1) MOD05844
- IIN=I20 MOD05845
- IOUT=I21 MOD05846
- INPLT=I14 MOD05847
- IOPLT=I22 MOD05848
- IBON=15 MOD05849
- IGPS=J4 MOD05850
- NOECHO=J5 MOD05851
- IF(IGPS.NE.1) CALL RENUM(NW,IES) MOD05852
- IF(IGPS.EQ.1) CALL RENUMC(NW,IES) MOD05853
- RETURN MOD05854
- END MOD05855
- SUBROUTINE RSETUP(LVL,LVLS1,LVLS2,NHIGH,NLOW,NACUM,IDIM) MOD06221
- COMMON /A/ MAXGRD,MAXDEG,N,IDPTH,IDEG MOD06222
- COMMON /PREP/XDZ(2),KSKIP MOD06223
- COMMON/UNIT/II11,II22 MOD06224
- DIMENSION NHIGH(IDIM),NLOW(IDIM),NACUM(IDIM) MOD06225
- DIMENSION LVL(1),LVLS1(1),LVLS2(1) MOD06226
- IF(IDPTH.LE.IDIM) GO TO 20 MOD06227
- NDXL=4*IDIM MOD06228
- WRITE(II22,90)NDXL MOD06229
- 90 FORMAT(//20X,31HAN INTERNAL DEFAULT DIMENSION (,I4,12H) IS SMALLERMOD06230
- $/20X,50HTHAN YOUR PROBLEM REQUIRES. INCREASE IT BY PUTTING MOD06231
- $/20X,48HA LARGER NO. IN COL. 21-25 OF THE RENUMBER CARD. MOD06232
- $/20X,19HEXECUTION WILL END.//) MOD06233
- KSKIP=1 MOD06234
- RETURN MOD06235
- 20 CONTINUE MOD06236
- DO 30 I=1,IDPTH MOD06237
- NACUM(I)=0 MOD06238
- 30 CONTINUE MOD06239
- DO 140 I=1,N MOD06240
- LVL(I)=1 MOD06241
- LVLS2(I)=IDPTH+1-LVLS2(I) MOD06242
- ITEMP=LVLS2(I) MOD06243
- IF(ITEMP.GT.IDPTH) GO TO 140 MOD06244
- IF(ITEMP.NE.LVLS1(I)) GO TO 100 MOD06245
- NACUM(ITEMP)=NACUM(ITEMP)+1 MOD06246
- GO TO 140 MOD06247
- 100 LVL(I)=0 MOD06248
- 140 CONTINUE MOD06249
- RETURN MOD06250
- END MOD06251
- SUBROUTINE NODORD (ID,NUMNP,ISIR,KT,I1,XN) MOD04578
- REAL*8 RX(3) MOD04579
- INTEGER BLANK MOD04580
- COMMON/BAND/NRNM(3) MOD04581
- COMMON/UNIT/II11,II22 MOD04582
- COMMON/RIGID/IIA(20),NREX MOD04583
- COMMON/ELPAR/APAR(14),NPAR(15),NUMEL MOD04584
- COMMON/OUTS/IIN,IOUT,INPLT,IOPLT,IBON,NT19,NT57,NT58 MOD04585
- COMMON/STNOD/KCHNG,NT8 MOD04586
- COMMON/SAP6/ISAP6 MOD04587
- COMMON/ECHO/NOECHO MOD04588
- DIMENSION X(3),ID(NUMNP,6),ISIR(NUMNP),XN(NUMNP,3),IDO(6), MOD04589
- 1TITLE(20) MOD04590
- DATA BLANK/1H / MOD04591
- IZERO=0 MOD04592
- REWIND IBON MOD04593
- REWIND INPLT MOD04594
- REWIND IOUT MOD04595
- REWIND IIN MOD04596
- REWIND NT8 MOD04597
- IF(ISAP6.EQ.0) GO TO 80 MOD04598
- REWIND NT19 MOD04599
- READ(NT19,260) TITLE,NNUMNP,NNUMEL,NNDMX MOD04600
- 80 CONTINUE MOD04601
- DO 120 I=1,NUMNP MOD04602
- IF(ISAP6.EQ.1) GO TO 90 MOD04603
- READ(IIN,210)BLANK,N,BLANK,(IDO(K),K=1,6),(X(K),K=1,3) MOD04604
- IF(KCHNG.EQ.1)READ(NT8,210)BLANK,N,BLANK,(IDO(K),K=1,6), MOD04605
- $(X(K),K=1,3) MOD04606
- GO TO 100 MOD04607
- 90 READ(NT19,270)N,(IDO(K),K=1,6),(X(K),K=1,3) MOD04608
- IF(KCHNG.EQ.1)READ(NT8,270)N,(IDO(K),K=1,6),(X(K),K=1,3) MOD04609
- 100 CONTINUE MOD04610
- KN=0 MOD04611
- M=ISIR(N) MOD04612
- DO 110 J=1,3 MOD04613
- XN(M,J)=X(J) MOD04614
- ID(M,J)=IDO(J) MOD04615
- ID(M,J+3)=IDO(J+3) MOD04616
- 110 CONTINUE MOD04617
- 120 CONTINUE MOD04618
- READ(INPLT,240)TITLE MOD04619
- WRITE(IOPLT)TITLE MOD04620
- READ(INPLT,250)K MOD04621
- WRITE(IOPLT)K MOD04622
- WRITE(IOPLT)NUMNP MOD04623
- DO 130 I=1,NUMNP MOD04624
- DO 125 K=1,3 MOD04625
- 125 RX(K)=XN(I,K) MOD04626
- IF(ISAP6.EQ.0) MOD04627
- 1WRITE(IOUT)BLANK,I,BLANK,(ID(I,K),K=1,6),(RX(K),K=1,3),KN MOD04628
- IF(ISAP6.EQ.1) MOD04629
- 1WRITE(IOUT)I,(ID(I,K),K=1,6),(RX(K),K=1,3),KN MOD04630
- WRITE(IBON,280)I,(ID(I,K),K=1,6) MOD04631
- WRITE(IOPLT)I MOD04632
- WRITE(IOPLT)(XN(I,K),K=1,3) MOD04633
- 130 CONTINUE MOD04634
- WRITE(IOPLT)IZERO MOD04635
- IF(NOECHO.EQ.0) RETURN MOD04636
- WRITE(II22,220) MOD04637
- WRITE(II22,230)(I,ISIR(I),I=1,NUMNP) MOD04638
- RETURN MOD04639
- 210 FORMAT(A1,I4,A1,I4,5I5,3F10.4) MOD04640
- 220 FORMAT(1H1,21X,66HTHIS IS A TABLE RELATING THE OLD NODES TO THE NEMOD04641
- $W RENUMBERED NODES //20X,5(10H OLD NEW ,5X)/20X,5(10H NODE NODEMOD04642
- $,5X)/20X,5(10H NO. NO. ,5X)//) MOD04643
- 230 FORMAT (20X,2I5,5X,2I5,5X,2I5,5X,2I5,5X,2I5) MOD04644
- 240 FORMAT(20A4) MOD04645
- 250 FORMAT(5X,I5) MOD04646
- 260 FORMAT(20A4/3I5) MOD04647
- 270 FORMAT(7I5,3F10.4) MOD04648
- 280 FORMAT(7I5) MOD04649
- 300 FORMAT(3E12.5) MOD04650
- 310 FORMAT(1H ) MOD04651
- END MOD04652
- FUNCTION MINDEG(NC,IC,IDEG,NN) MOD04508
- DIMENSION IC(1),IDEG(1) MOD04509
- M=10000 MOD04510
- DO 130 I=1,NN MOD04511
- IF(NC)100,110,100 MOD04512
- 100 IF(IC(I)-NC) 130,110,130 MOD04513
- 110 IF(M-IDEG(I)) 130,130,120 MOD04514
- 120 M=IDEG(I) MOD04515
- 130 CONTINUE MOD04516
- MINDEG=M MOD04517
- RETURN MOD04518
- END MOD04519
- FUNCTION MAXBND(NC,IG,II1,IC,IDEG,NEW,ILD,NN,IH) MOD04140
- DIMENSION IG(II1,1),IC(1),IDEG(1),NEW(1),ILD(1) MOD04141
- IH=0 MOD04142
- M=0 MOD04143
- DO 140 I=1,NN MOD04144
- MX=0 MOD04145
- IA=NEW(I) MOD04146
- IF(NC)100,110,100 MOD04147
- 100 IF(IA.EQ.0)GO TO 140 MOD04148
- IF(NC-IC(IA)) 140,110,140 MOD04149
- 110 N=IDEG(IA) MOD04150
- IF(N)140,140,120 MOD04151
- 120 DO 130 J=1,N MOD04152
- II = IG(IA,J) MOD04153
- IB=MAX0(0,I-ILD(II)) MOD04154
- IF(IB.GT.MX) MX=IB MOD04155
- 130 CONTINUE MOD04156
- IF(MX.GT.M) M=MX MOD04157
- IH=IH+MX MOD04158
- 140 CONTINUE MOD04159
- MAXBND=M MOD04160
- RETURN MOD04161
- END MOD04162
- FUNCTION MAXDGR(NC,IC,IDEG,NN) MOD04163
- DIMENSION IC(1),IDEG(1) MOD04164
- M=0 MOD04165
- DO 130 I=1,NN MOD04166
- IF(NC)100,110,100 MOD04167
- 100 IF(IC(I)-NC) 130,110,130 MOD04168
- 110 IF(IDEG(I)-M) 130,130,120 MOD04169
- 120 M=IDEG(I) MOD04170
- 130 CONTINUE MOD04171
- MAXDGR=M MOD04172
- RETURN MOD04173
- END MOD04174
- FUNCTION IDIST(NS,ML,MAXLEV,IG,II1,IC,IDEG,IDIS,IW,ICC,NN) MOD03475
- DIMENSION IG(II1,1),IC(1),IDEG(1),IDIS(1),IW(1),ICC(1) MOD03476
- ICN=IC(NS) MOD03477
- NNC=ICC(ICN+1)-ICC(ICN) MOD03478
- DO 110 I=1,NN MOD03479
- IF(IC(I)-IC(NS)) 110,100,110 MOD03480
- 100 IDIS(I)=0 MOD03481
- 110 CONTINUE MOD03482
- LL=1 MOD03483
- L=0 MOD03484
- KI=0 MOD03485
- KO=1 MOD03486
- ML=0 MOD03487
- IW(1)=NS MOD03488
- IDIS(NS)=-1 MOD03489
- 120 KI=KI+1 MOD03490
- IF(KI-LL)150,130,150 MOD03491
- 130 L=L+1 MOD03492
- LL=KO+1 MOD03493
- K=KO-KI+1 MOD03494
- IF(K-ML) 150,150,140 MOD03495
- 140 ML=K MOD03496
- IF(ML-MAXLEV) 150,150,230 MOD03497
- 150 II=IW(KI) MOD03498
- N=IDEG(II) MOD03499
- IF(N)160,220,160 MOD03500
- 160 DO 180 I=1,N MOD03501
- IA = IG(II,I) MOD03502
- IF(IDIS(IA))180,170,180 MOD03503
- 170 IDIS(IA)=L MOD03504
- KO=KO+1 MOD03505
- IW(KO)=IA MOD03506
- 180 CONTINUE MOD03507
- IF(KO-NNC)120,190,190 MOD03508
- 190 IDIST=L MOD03509
- IDIS(NS)=0 MOD03510
- K=KO-LL+1 MOD03511
- IF(K-ML) 210,210,200 MOD03512
- 200 ML=K MOD03513
- 210 CONTINUE MOD03514
- RETURN MOD03515
- 220 L=0 MOD03516
- GO TO 190 MOD03517
- 230 IDIST=1 MOD03518
- RETURN MOD03519
- END MOD03520