17 IMPLICIT NONE
18 INTEGER, intent(in) :: N, (500), NPROCS, SYM
19 INTEGER, intent(in) :: NBQD, AvgDens, MP
20 LOGICAL, intent(in) :: PROK
21 INTEGER, intent(inout) :: IORD
22 INTEGER MAXQD
23 parameter(maxqd=2)
24 INTEGER SMALLSYM, SMALLUNS
25 parameter(smalluns=5000, smallsym=10000)
26#if
27 IF ( iord .EQ. 5 ) THEN
28 IF (prok) WRITE(mp,*)
29 & 'WARNING: METIS not available. Ordering set to default.'
30 iord = 7
31 END IF
32#endif
33#if ! defined(pord)
34 IF ( iord .EQ. 4 ) THEN
35 IF (prok) WRITE(mp,*)
36 & 'WARNING: PORD not available. Ordering set to default.'
37 iord = 7
38 END IF
39#endif
40#if ! defined(scotch) && ! defined(ptscotch)
41 IF ( iord .EQ. 3 ) THEN
42 IF (prok) WRITE(mp,*)
43 & 'WARNING: SCOTCH not available. Ordering set to default.'
44 iord = 7
45 END IF
46#endif
47 IF (iord.EQ.7) THEN
48 IF (sym.NE.0) THEN
49 IF ( n.LE.smallsym ) THEN
50 IF (nbqd.GE.maxqd) THEN
51 iord = 6
52 ELSE
53 iord = 2
54 ENDIF
55 ELSE
56#if defined(metis) || defined(parmetis) || defined(metis4) || defined(parmetis3)
57 iord = 5
58#else
59# if defined(scotch) || defined(ptscotch)
60 iord = 3
61# else
62# if defined(pord)
63 iord = 4
64# else
65 iord = 6
66# endif
67# endif
68#endif
69 ENDIF
70 ELSE
71 IF ( n.LE.smalluns ) THEN
72 IF (nbqd.GE.maxqd) THEN
73 iord = 6
74 ELSE
75 iord = 2
76 ENDIF
77 ELSE
78#if defined(metis) || defined(parmetis) || defined(metis4) || defined(parmetis3)
79 iord = 5
80#else
81# if defined(scotch) || defined(ptscotch)
82 iord = 3
83# else
84# if defined(pord)
85 iord = 4
86# else
87 iord = 6
88# endif
89# endif
90#endif
91 ENDIF
92 ENDIF
93 ENDIF
94 RETURN