Nbody6
 All Files Functions Variables
ichain.f
Go to the documentation of this file.
1  SUBROUTINE ichain(IJ,KO,I1,I2,I3,I4)
2 *
3 *
4 * Determination of chain vector.
5 * ------------------------------
6 *
7  INTEGER ij(6)
8 *
9 *
10  icon12 = 0
11  IF (ij(1).EQ.ij(3).OR.ij(1).EQ.ij(4)
12  & .OR.ij(2).EQ.ij(3).OR.ij(2).EQ.ij(4)) icon12 = 1
13  icon23 = 0
14  IF (ij(3).EQ.ij(5).OR.ij(3).EQ.ij(6)
15  & .OR.ij(4).EQ.ij(5).OR.ij(4).EQ.ij(6)) icon23 = 1
16  icon14 = 0
17  IF (ij(1).EQ.ij(5).OR.ij(1).EQ.ij(6)
18  & .OR.ij(2).EQ.ij(5).OR.ij(2).EQ.ij(6)) icon14 = 1
19 *
20  IF (icon12 + icon23 + icon14.NE.2) THEN
21  ko = 0
22  RETURN
23  END IF
24 *
25  ko = 1
26  IF (icon12.EQ.0) THEN
27  IF (ij(3).EQ.ij(5).OR.ij(3).EQ.ij(6)) THEN
28  i2 = ij(3)
29  i1 = ij(4)
30  ELSE
31  i1 = ij(3)
32  i2 = ij(4)
33  END IF
34  IF (ij(1).EQ.ij(5).OR.ij(1).EQ.ij(6)) THEN
35  i3 = ij(1)
36  i4 = ij(2)
37  ELSE
38  i3 = ij(2)
39  i4 = ij(1)
40  END IF
41  RETURN
42 *
43  ELSE IF (icon23.EQ.0) THEN
44  IF (ij(5).EQ.ij(1).OR.ij(5).EQ.ij(2)) THEN
45  i2 = ij(5)
46  i1 = ij(6)
47  ELSE
48  i1 = ij(5)
49  i2 = ij(6)
50  END IF
51  IF (ij(3).EQ.ij(1).OR.ij(3).EQ.ij(2)) THEN
52  i3 = ij(3)
53  i4 = ij(4)
54  ELSE
55  i4 = ij(3)
56  i3 = ij(4)
57  END IF
58  RETURN
59 *
60  ELSE IF (icon14.EQ.0) THEN
61  IF (ij(1).EQ.ij(3).OR.ij(1).EQ.ij(4)) THEN
62  i2 = ij(1)
63  i1 = ij(2)
64  ELSE
65  i1 = ij(1)
66  i2 = ij(2)
67  END IF
68  IF (ij(5).EQ.ij(3).OR.ij(5).EQ.ij(4)) THEN
69  i3 = ij(5)
70  i4 = ij(6)
71  ELSE
72  i4 = ij(5)
73  i3 = ij(6)
74  END IF
75  RETURN
76  END IF
77 *
78  END