C Copyright(C) 1999-2020 National Technology & Engineering Solutions C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with C NTESS, the U.S. Government retains certain rights in this software. C C See packages/seacas/LICENSE for details SUBROUTINE LIST (MP, ML, MS, MR, MSC, MCOM, ICOM, JCOM, CIN, RIN, & IIN, KIN, N, IPOINT, COOR, IPBOUN, ILINE, LTYPE, NINT, FACTOR, & LCON, ILBOUN, ISBOUN, ISIDE, NLPS, IFLINE, ILLIST, IBARST, & JMAT, JCENT, NLPB, JFLINE, JLLIST, IREGN, IMAT, NSPR, IFSIDE, & ISLIST, IRPB, IPBF, NPPF, IFPB, LISTPB, ILBF, NLPF, IFLB, & LISTLB, ISBF, NSPF, IFSB, LISTSB, LINKP, LINKL, LINKS, LINKB, & LINKR, LINKSC, LINKPB, LINKLB, LINKSB, IWTPBF, IWTLBF, IWTSBF, & RSIZE, IFHOLE, NHPR, IHLIST, IRGFLG, ISCHM, SCHEME, NUMBER, & DEFSCH, DEFSIZ, TITLE, OPTIM, THREE, EIGHT, NINE, VAXVMS, & WROTE, TIME1, VERSN, BATCH) C*********************************************************************** C SUBROUTINE LIST = LISTS POINTS, LINES, REGIONS, SCHEMES, AND BOUNDARY C DEFINITIONS C*********************************************************************** C SUBROUTINE CALLED BY: C FASTQ = A PROGRAM TO QUICKLY PREPARE QMESH INPUT C*********************************************************************** C SUBROUTINES CALLED: C CHECK = CHECKS 2 VALUES FOR BEING OUT OF PRESCRIBED BOUNDS C*********************************************************************** C VARIABLES USED: C IANS = LOGICAL RESPONSE FROM YES-NO QUESTION C*********************************************************************** DIMENSION IPOINT(MP), COOR(2, MP), IPBOUN(MP) DIMENSION ILINE(ML), LTYPE(ML), NINT(ML), FACTOR(ML), LCON(3, ML) DIMENSION ILBOUN(ML), ISBOUN(ML) DIMENSION ISIDE(MS), NLPS(MS), IFLINE(MS), ILLIST(MS*3) DIMENSION IBARST(MS), JMAT(MS), JCENT(MS), NLPB(MS), JFLINE(MS) DIMENSION JLLIST(MS*3) DIMENSION IREGN(MR), IMAT(MR), NSPR(MR), IFSIDE(MR), ISLIST(MR*4) DIMENSION IRPB(MR), ISCHM(MSC), SCHEME(MSC), RSIZE(MR) DIMENSION IPBF(MP), NPPF(MP), IFPB(MP), LISTPB(2, MP) DIMENSION ILBF(ML), NLPF(ML), IFLB(ML), LISTLB(2, ML) DIMENSION ISBF(ML), NSPF(ML), IFSB(ML), LISTSB(2, ML) DIMENSION IWTPBF(3, MP), IWTLBF(3, ML), IWTSBF(3, ML) DIMENSION LINKP(2, MP), LINKL(2, ML), LINKS(2, MS) DIMENSION LINKB(2, MS), LINKR(2, MR), LINKSC(2, MR) DIMENSION LINKPB(2, MP), LINKLB(2, ML), LINKSB(2, ML) DIMENSION IFHOLE(MR), NHPR(MR), IHLIST(MR*2), IRGFLG(MR) DIMENSION NUMBER(MSC), N(29) DIMENSION KIN(MCOM), CIN(MCOM), IIN(MCOM), RIN(MCOM) CHARACTER*72 SCHEME, DEFSCH, CIN, DUMMY*10, VERSN*9 CHARACTER*72 TITLE, NUMBER*80, CHOICE*7 LOGICAL IANS, OPTIM, ADDLNK, EIGHT, NINE, VAXVMS, WROTE, BATCH LOGICAL LGROUP, THREE IZ = 0 ADDLNK = .FALSE. BATCH = .FALSE. 100 CONTINUE IF (ICOM .GT. JCOM) THEN CALL MESSAGE(' ') CALL FREFLD (IZ, IZ, 'ENTER LIST OPTION: ', MCOM, IOSTAT, JCOM, & KIN, CIN, IIN, RIN) ICOM = 1 END IF C LIST OUT THE POINTS IF ((CIN(ICOM)(1:1) .EQ. 'P') .OR. (CIN(ICOM)(1:1) .EQ. 'p')) THEN ICOM = ICOM+1 IF (N(1) .GT. 0) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL POINTS', IANS, MCOM, ICOM, JCOM, CIN, & IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(18) ELSE CALL MESSAGE('LIST POINTS THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(18)) ELSE GO TO 120 END IF END IF WRITE(*, 10000) DO 110 I = I1, I2 CALL LTSORT (MP, LINKP, I, K, ADDLNK) IF (K .GT. 0) THEN WRITE(*, 10010)IPOINT(K), COOR(1, K), COOR(2, K), & IPBOUN(K) END IF 110 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*-----------------------------------*') CALL MESSAGE('* NO POINTS IN THE CURRENT DATABASE *') CALL MESSAGE('*-----------------------------------*') END IF 120 CONTINUE C LIST OUT THE LINES ELSE IF ((CIN(ICOM)(1:1) .EQ. 'L') .OR. & (CIN(ICOM)(1:1) .EQ. 'l')) THEN ICOM = ICOM+1 IF (N(2) .GT. 0) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL LINES', IANS, MCOM, ICOM, JCOM, CIN, & IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(19) ELSE CALL MESSAGE('LIST LINES THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(19)) ELSE GO TO 140 END IF END IF WRITE(*, 10020) DO 130 I = I1, I2 CALL LTSORT (ML, LINKL, I, K, ADDLNK) IF (K .GT. 0) THEN IF (LTYPE(K) .EQ. 1) THEN WRITE(*, 10040)ILINE(K), (LCON(L, K), L = 1, 2), & NINT(K), ILBOUN(K), ISBOUN(K), FACTOR(K) ELSE WRITE(*, 10030)ILINE(K), (LCON(L, K), L = 1, 3), & NINT(K), ILBOUN(K), ISBOUN(K), FACTOR(K) END IF END IF 130 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*----------------------------------*') CALL MESSAGE('* NO LINES IN THE CURRENT DATABASE *') CALL MESSAGE('*----------------------------------*') END IF 140 CONTINUE C LIST OUT THE SIDES ELSE IF ((CIN(ICOM)(1:2) .EQ. 'SI') .OR. & (CIN(ICOM)(1:2) .EQ. 'si')) THEN ICOM = ICOM+1 IF (N(3) .GT. 0) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL SIDES', IANS, MCOM, ICOM, JCOM, CIN, & IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(20) ELSE CALL MESSAGE('LIST SIDES THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(20)) ELSE GO TO 170 END IF END IF WRITE(*, 10090) DO 160 I = I1, I2 CALL LTSORT (MS, LINKS, I, K, ADDLNK) IF (K .GT. 0) THEN K1 = IFLINE(K) 150 CONTINUE K2 = MIN0(K1+10, IFLINE(K)+NLPS(K)-1) IF (K1 .EQ. IFLINE(K)) THEN WRITE(*, 10110)ISIDE(K), (ILLIST(L), L = K1, K2) ELSE WRITE(*, 10120) (ILLIST(L), L = K1, K2) END IF IF (K2 .LT. IFLINE(K)+NLPS(K)-1) THEN K1 = K2+1 GO TO 150 END IF END IF 160 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*----------------------------------*') CALL MESSAGE('* NO SIDES IN THE CURRENT DATABASE *') CALL MESSAGE('*----------------------------------*') END IF 170 CONTINUE C SPAWN A PROCESS ELSE IF ((CIN(ICOM)(1:2) .EQ. 'SP') .OR. & (CIN(ICOM)(1:2) .EQ. 'sp')) THEN ICOM = ICOM+1 CALL SPAWN(VAXVMS) C LIST OUT SCHEMES ELSE IF ((CIN(ICOM)(1:1) .EQ. 'S') .OR. & (CIN(ICOM)(1:1) .EQ. 's')) THEN ICOM = ICOM+1 IF (N(10) .GT. 0) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL SCHEMES', IANS, MCOM, ICOM, JCOM, & CIN, IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(24) ELSE CALL MESSAGE('LIST SCHEMES THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(24)) ELSE GO TO 190 END IF END IF CALL MESSAGE(' ') WRITE(*, 10170) DO 180 I = I1, I2 CALL LTSORT (MR, LINKSC, I, K, ADDLNK) IF (K .GT. 0) THEN WRITE(*, 10190)ISCHM(K), SCHEME(K) END IF 180 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE & ('*---------------------------------------------*') CALL MESSAGE & ('* ONLY DEFAULT SCHEME IN THE CURRENT DATABASE *') CALL MESSAGE & ('*---------------------------------------------*') WRITE(*, 10180)DEFSCH CALL MESSAGE(' ') END IF 190 CONTINUE C LIST OUT THE BAR SETS ELSE IF ((CIN(ICOM)(1:2) .EQ. 'BA') .OR. & (CIN(ICOM)(1:2) .EQ. 'ba')) THEN ICOM = ICOM+1 IF (N(5) .GT. 0) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL BAR SETS', IANS, MCOM, ICOM, JCOM, & CIN, IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(21) ELSE CALL MESSAGE('LIST BAR SETS THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(21)) ELSE GO TO 220 END IF END IF CALL MESSAGE(' ') WRITE(*, 10130) DO 210 I = I1, I2 CALL LTSORT (MS, LINKB, I, K, ADDLNK) IF (K .GT. 0) THEN K1 = JFLINE(K) 200 CONTINUE K2 = MIN0(K1+10, JFLINE(K)+NLPB(K)-1) IF (K1 .EQ. JFLINE(K)) THEN WRITE(*, 10140)IBARST(K), JMAT(K), JCENT(K), & (JLLIST(L), L = K1, K2) ELSE WRITE(*, 10150) (JLLIST(L), L = K1, K2) END IF IF (K2 .LT. JFLINE(I)+NLPB(K)-1) THEN K1 = K2+1 GO TO 200 END IF END IF 210 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*-------------------------------------*') CALL MESSAGE('* NO BAR SETS IN THE CURRENT DATABASE *') CALL MESSAGE('*-------------------------------------*') END IF 220 CONTINUE C LIST OUT THE RENUMBERING CARDS ELSE IF ((CIN(ICOM)(1:3) .EQ. 'REN') .OR. & (CIN(ICOM)(1:3) .EQ. 'ren')) THEN ICOM = ICOM+1 IF (N(28) .GT. 0) THEN CALL MESSAGE(' ') I1 = 1 I2 = N(28) CALL MESSAGE(' ') WRITE(*, 10220) DO 230 I = I1, I2 WRITE(*, 10230)I, NUMBER(I)(1:72) IF (NUMBER(I) (73:80) .NE. ' ') THEN WRITE(*, 10240)NUMBER(I) (73:80) END IF 230 CONTINUE ELSE IF (OPTIM) THEN CALL MESSAGE(' ') CALL MESSAGE('*------------------------------------------*') CALL MESSAGE('* NO RENUMBER CARDS - OPTIMIZATION ENABLED *') CALL MESSAGE('*------------------------------------------*') CALL MESSAGE(' ') ELSE CALL MESSAGE(' ') CALL MESSAGE & ('*-------------------------------------------*') CALL MESSAGE & ('* NO RENUMBER CARDS - OPTIMIZATION DISABLED *') CALL MESSAGE & ('*-------------------------------------------*') CALL MESSAGE(' ') END IF C LIST OUT THE REGIONS ELSE IF ((CIN(ICOM)(1:1) .EQ. 'R') .OR. & (CIN(ICOM)(1:1) .EQ. 'r')) THEN ICOM = ICOM+1 LGROUP = .TRUE. DO 240 I = 1, N(7) IF (IRGFLG(I) .LE. -1) THEN LGROUP = .FALSE. GO TO 250 END IF 240 CONTINUE 250 CONTINUE IF (.NOT.LGROUP) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL REGIONS', IANS, MCOM, ICOM, JCOM, & CIN, IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(22) ELSE CALL MESSAGE('LIST REGIONS THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(22)) ELSE GO TO 280 END IF END IF CALL MESSAGE(' ') WRITE(*, 10050) DO 270 I = I1, I2 CALL LTSORT (MR, LINKR, I, K, ADDLNK) IF ((K .GT. 0) .AND. (IRGFLG(K) .LE. 0)) THEN IF (RSIZE(K) .GT. 0) THEN RRSIZE = RSIZE(K) ELSE RRSIZE = DEFSIZ END IF CALL LTSORT (MR, LINKSC, K, IPNTR, ADDLNK) IF ((N(24) .GE. I) .AND. (IPNTR .GT. 0)) THEN DUMMY = SCHEME(IPNTR)(1:10) ELSE DUMMY = DEFSCH(1:10) END IF K1 = IFSIDE(K) 260 CONTINUE K2 = MIN0(K1+4, IFSIDE(K)+NSPR(K)-1) IF (K1 .EQ. IFSIDE(K)) THEN WRITE(*, 10060)IREGN(K), IMAT(K), RRSIZE, DUMMY, & (ISLIST(L), L = K1, K2) ELSE WRITE(*, 10070) (ISLIST(L), L = K1, K2) END IF IF (K2 .LT. IFSIDE(K)+NSPR(K)-1) THEN K1 = K2+1 GO TO 260 END IF END IF 270 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*------------------------------------*') CALL MESSAGE('* NO REGIONS IN THE CURRENT DATABASE *') CALL MESSAGE('*------------------------------------*') END IF 280 CONTINUE C LIST OUT THE GROUPS ELSE IF ((CIN(ICOM)(1:1) .EQ. 'G') .OR. & (CIN(ICOM)(1:1) .EQ. 'g')) THEN ICOM = ICOM+1 LGROUP = .FALSE. DO 290 I = 1, N(7) IF (IRGFLG(I) .GE. 1) THEN LGROUP = .TRUE. GO TO 300 END IF 290 CONTINUE 300 CONTINUE IF (LGROUP) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL GROUPS', IANS, MCOM, ICOM, JCOM, & CIN, IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(22) ELSE CALL MESSAGE('LIST GROUPS THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(22)) ELSE GO TO 330 END IF END IF CALL MESSAGE(' ') WRITE(*, 10080) DO 320 I = I1, I2 CALL LTSORT (MR, LINKR, I, K, ADDLNK) IF ((K .GT. 0) .AND. (IRGFLG(K) .GE. 1)) THEN K1 = IFSIDE(K) 310 CONTINUE K2 = MIN0(K1+10, IFSIDE(K)+NSPR(K)-1) IF (K1 .EQ. IFSIDE(K)) THEN WRITE(*, 10110) IREGN(K), (ISLIST(L), L = K1, K2) ELSE WRITE(*, 10120) (ISLIST(L), L = K1, K2) END IF IF (K2 .LT. IFSIDE(K)+NSPR(K)-1) THEN K1 = K2+1 GO TO 310 END IF END IF 320 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*-----------------------------------*') CALL MESSAGE('* NO GROUPS IN THE CURRENT DATABASE *') CALL MESSAGE('*-----------------------------------*') END IF 330 CONTINUE C LIST OUT THE HOLES ELSE IF ((CIN(ICOM)(1:2) .EQ. 'HO') .OR. & (CIN(ICOM)(1:2) .EQ. 'ho')) THEN ICOM = ICOM+1 IF (N(29) .GT. 0) THEN CALL MESSAGE(' ') CALL INTRUP ('LIST ALL REGIONS WITH HOLES', IANS, MCOM, & ICOM, JCOM, CIN, IIN, RIN, KIN) IF (IANS) THEN I1 = 1 I2 = N(7) ELSE CALL MESSAGE('LIST HOLES IN REGIONS THROUGH :') IF (ICOM .GT. JCOM) THEN CALL FREFLD (IZ, IZ, '>', MCOM, IOSTAT, JCOM, KIN, & CIN, IIN, RIN) ICOM = 1 END IF CALL GETI12 (MCOM, ICOM, JCOM, CIN, IIN, KIN, I1, I2, & IFOUND) IF (IFOUND .GT. 0) THEN CALL CHECK(I1, I2, N(7)) ELSE GO TO 360 END IF END IF CALL MESSAGE(' ') WRITE(*, 10100) DO 350 I = I1, I2 CALL LTSORT (MR, LINKR, I, K, ADDLNK) IF (K .GT. 0) THEN K1 = IFHOLE(K) 340 CONTINUE K2 = MIN0(K1+10, IFHOLE(K)+NHPR(K)-1) IF (K2 .GE. K1) THEN IF (K1 .EQ. IFHOLE(K)) THEN WRITE(*, 10110)IREGN(K), (IHLIST(L), L = K1, K2) ELSE WRITE(*, 10120) (IHLIST(L), L = K1, K2) END IF IF (K2 .LT. IFHOLE(K)+NHPR(K)-1) THEN K1 = K2+1 GO TO 340 END IF END IF END IF 350 CONTINUE ELSE CALL MESSAGE(' ') CALL MESSAGE('*----------------------------------*') CALL MESSAGE('* NO HOLES IN THE CURRENT DATABASE *') CALL MESSAGE('*----------------------------------*') END IF 360 CONTINUE C LIST OUT THE REGIONS IN THE BODY ELSE IF ((CIN(ICOM)(1:3) .EQ. 'BOD') .OR. & (CIN(ICOM)(1:3) .EQ. 'bod')) THEN ICOM = ICOM+1 J1 = 1 WRITE(*, 10200) 370 CONTINUE IF ((N(9)-J1+1) .GT. 13) THEN J2 = J1+12 WRITE(*, 10210) (IRPB(J), J = J1, J2) J1 = J2+1 GO TO 370 END IF WRITE(*, 10210) (IRPB(J), J = J1, N(9)) ELSE IF (CIN(ICOM)(1:1) .EQ. ' ') THEN ICOM = ICOM+1 CALL MESSAGE(' ') RETURN C LIST OUT BOUNDARY CONDITIONS ELSE IF ((CIN(ICOM)(1:1) .EQ. 'B') .OR. & (CIN(ICOM)(1:1) .EQ. 'b')) THEN ICOM = ICOM+1 CALL MESSAGE(' ') CHOICE = 'POINT ' CALL LISTBF(MP, N(25), CHOICE, LINKPB, IPBF, NPPF, IFPB, & LISTPB, IWTPBF) CHOICE = 'NODE ' CALL LISTBF(ML, N(26), CHOICE, LINKLB, ILBF, NLPF, IFLB, & LISTLB, IWTLBF) CHOICE = 'ELEMENT' CALL LISTBF(ML, N(27), CHOICE, LINKSB, ISBF, NSPF, IFSB, & LISTSB, IWTSBF) C LIST OUT THE THREE NODE QUAD GENERATION FLAG ELSE IF ((CIN(ICOM)(1:1) .EQ. 'T') .OR. & (CIN(ICOM)(1:1) .EQ. 't')) THEN ICOM = ICOM+1 IF (THREE) THEN CALL MESSAGE(' ') CALL MESSAGE('*--------------------------------------*') CALL MESSAGE('* THREE NODE BAR GENERATION - ENABLED *') CALL MESSAGE('*--------------------------------------*') CALL MESSAGE(' ') ELSE CALL MESSAGE(' ') CALL MESSAGE('*---------------------------------------*') CALL MESSAGE('* THREE NODE BAR GENERATION - DISABLED *') CALL MESSAGE('*---------------------------------------*') CALL MESSAGE(' ') END IF C LIST OUT THE EIGHT NODE QUAD GENERATION FLAG ELSE IF ((CIN(ICOM)(1:2) .EQ. 'EI') .OR. & (CIN(ICOM)(1:2) .EQ. 'ei')) THEN ICOM = ICOM+1 IF (EIGHT) THEN CALL MESSAGE(' ') CALL MESSAGE('*--------------------------------------*') CALL MESSAGE('* EIGHT NODE QUAD GENERATION - ENABLED *') CALL MESSAGE('*--------------------------------------*') CALL MESSAGE(' ') ELSE CALL MESSAGE(' ') CALL MESSAGE('*---------------------------------------*') CALL MESSAGE('* EIGHT NODE QUAD GENERATION - DISABLED *') CALL MESSAGE('*---------------------------------------*') CALL MESSAGE(' ') END IF C LIST OUT THE NINE NODE QUAD GENERATION FLAG ELSE IF ((CIN(ICOM)(1:1) .EQ. 'N') .OR. & (CIN(ICOM)(1:1) .EQ. 'n')) THEN ICOM = ICOM+1 IF (NINE) THEN CALL MESSAGE(' ') CALL MESSAGE('*-------------------------------------*') CALL MESSAGE('* NINE NODE QUAD GENERATION - ENABLED *') CALL MESSAGE('*-------------------------------------*') CALL MESSAGE(' ') ELSE CALL MESSAGE(' ') CALL MESSAGE('*--------------------------------------*') CALL MESSAGE('* NINE NODE QUAD GENERATION - DISABLED *') CALL MESSAGE('*--------------------------------------*') CALL MESSAGE(' ') END IF C EXIT OPTION - EXITS FASTQ ELSE IF ((CIN(ICOM)(1:2) .EQ. 'EX') .OR. & (CIN(ICOM)(1:2) .EQ. 'ex')) THEN ICOM = ICOM+1 CALL STRLNG (CIN(ICOM), LEN) IF (((LEN .GT. 1) .AND. (CIN(ICOM)(2:2) .NE. 'X')) .OR. & ((LEN .GT. 1) .AND. (CIN(ICOM)(2:2) .NE. 'x'))) THEN CALL HELP_FQ(4) ELSE CALL FEXIT(WROTE, MCOM, ICOM, JCOM, CIN, IIN, RIN, KIN, & TIME1, BATCH, VERSN) ENDIF GO TO 100 C PRINT HELP MESSAGE ELSE ICOM = ICOM+1 CALL HELP_FQ(4) END IF GO TO 100 10000 FORMAT( & ' POINT X(R) Y(Z) BOUNDARY',/, & ' NO. COORDINATE COORDINATE FLAG',/, & ' ----- ------------ ------------- --------') 10010 FORMAT(1X, I5, 3X, F15.4, 4X, F15.4, 4X, I5) 10020 FORMAT(' LINE BEGINNING ENDING CENTER NO. OF NODE BC ', & 'ELEM BC',/, & ' NO. NODE NODE NODE INTERVALS FLAG ', & ' FLAG FACTOR',/, & ' ----- --------- ------ ------ --------- -------- ', & '-------- --------') 10030 FORMAT(1X, 7(I5, 4X), F10.5) 10040 FORMAT(1X, 3(I5, 4X), ' -----', 2X, 3(I5, 4X), F10.5) 10050 FORMAT(' REGION MAT. INTERVAL REGION',/, & ' NO. NO. SIZE SCHEME REGION SIDE/', & 'LINE LISTING',/, & ' ------ ---- ---------- ----------- ', & '------------------------------------') 10060 FORMAT(I5, 2X, I5, 2X, F10.5, 2X, A10, 2X, 7I6) 10070 FORMAT(38X, 9I6) 10080 FORMAT(' GROUP'/, & ' NO. REGION LISTING',/, & ' ------ ----------------------------------------------') 10090 FORMAT(' SIDE',/, & ' NO. SIDE/LINE LISTING', /, & ' ------ ----------------------------------------------') 10100 FORMAT(' REGION',/, & ' NO. HOLE REGION LISTING', /, & ' ------ ----------------------------------------------') 10110 FORMAT(I5, 5X, 11I6) 10120 FORMAT(10X, 11I6) 10130 FORMAT(' BAR SET MAT. REFR BAR SET LINE', /, & ' NO. NO. NODE LISTING',/, & ' -------- ------ ------ ', & '-----------------------------------') 10140 FORMAT(I6, 2X, I5, 2X, I5, 2X, 11I5) 10150 FORMAT(22X, 11I5) 10170 FORMAT(' FOR', /, ' REGION SCHEME', /, & ' ------ ----------------------------------------------') 10180 FORMAT(' DEFLT: ', A72) 10190 FORMAT(1X, I5, 2X, A72) 10200 FORMAT(' REGIONS IN THE BODY',/, & ' ----------------------------------------------------') 10210 FORMAT(1X, 13I6) 10220 FORMAT(' CARD RENUMBERING CARD', /, ' NO.', /, & ' ----- -------------------------------------------') 10230 FORMAT(1X, I5, 2X, A72) 10240 FORMAT(8X, A8) END