39 subroutine setup_abc(nm, sd, tag_mat, cs_nnz_loc, cs_loc, &
40 nn_loc, local_n_num, ne_loc, local_el_num, &
41 nel_abc, ielem_abc, i4count)
45 integer*4 :: nm, cs_nnz_loc, nn_loc, ne_loc, nel_abc
46 integer*4 :: im, nn, ie, ned
47 integer*4 :: ne1, ne2, ne3, ne4, ic1, ic2, ic3, ic4
49 integer*4,
dimension(nm) :: tag_mat, sd
50 integer*4,
dimension(0:cs_nnz_loc) :: cs_loc
51 integer*4,
dimension(nn_loc) :: local_n_num, i4count
52 integer*4,
dimension(ne_loc) :: local_el_num
53 integer*4,
dimension(nel_abc,7):: ielem_abc
67 if (cs_loc(cs_loc(ie -1) +0) .eq. tag_mat(im))
then
69 ne1 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(1 -1) +(1 -
70 ne2 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(nn -1) +(1
71 ne3 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(nn -1) +(1
72 ne4 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(1 -1) +(1
75 if ((i4count(ne1).ne.0) .and. (i4count(ne2).ne.0) .and. (i4count
then
77 ielem_abc(nel_abc,1) = local_el_num(ie)
78 ielem_abc(nel_abc,2) = 1
79 ielem_abc(nel_abc,3) = 1
80 ielem_abc(nel_abc,4) = 1
81 ielem_abc(nel_abc,5) = nn
82 ielem_abc(nel_abc,6) = 1
83 ielem_abc(nel_abc,7) = nn
86 ne1 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(1 -1) +(1 -
87 ne2 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(1 -1) +(nn
88 ne3 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(1 -1) +(nn
89 ne4 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(1 -1) +(1
91 if ((i4count(ne1).ne.0) .and. (i4count(ne2).ne.0) .and. (i4count
then
93 ielem_abc(nel_abc,1) = local_el_num(ie)
94 ielem_abc(nel_abc,2) = 1
95 ielem_abc(nel_abc,3) = nn
96 ielem_abc(nel_abc,4) = 1
97 ielem_abc(nel_abc,5) = 1
98 ielem_abc(nel_abc,6) = 1
99 ielem_abc(nel_abc,7) = nn
102 ne1 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(1 -1) +(1 -
103 ne2 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(1 -1) +(nn
104 ne3 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(nn -1) +(nn
105 ne4 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(nn -1) +(1
108 if ((i4count(ne1).ne.0) .and. (i4count(ne2).ne.0) .and. (i4count
then
110 ielem_abc(nel_abc,1) = local_el_num(ie)
111 ielem_abc(nel_abc,2) = 1
112 ielem_abc(nel_abc,3) = nn
113 ielem_abc(nel_abc,4) = 1
114 ielem_abc(nel_abc,5) = nn
115 ielem_abc(nel_abc,6) = 1
116 ielem_abc(nel_abc,7) = 1
119 ne1 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(1 -1) +(nn
120 ne2 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(nn -1) +(nn
121 ne3 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(nn -1) +(nn
122 ne4 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(1 -1) +(nn
124 if ((i4count(ne1).ne.0) .and. (i4count(ne2).ne.0) .and. (i4count
then
127 ielem_abc(nel_abc,1) = local_el_num(ie)
128 ielem_abc(nel_abc,2) = nn
129 ielem_abc(nel_abc,3) = nn
130 ielem_abc(nel_abc,4) = 1
131 ielem_abc(nel_abc,5) = nn
132 ielem_abc(nel_abc,6) = 1
133 ielem_abc(nel_abc,7) = nn
136 ne1 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(nn -1) +(1
137 ne2 = cs_loc(cs_loc(ie -1) +nn*nn*(1 -1) +nn*(nn -1) +(nn
138 ne3 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(nn -1) +(nn
139 ne4 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(nn -1) +(1
141 if ((i4count(ne1).ne.0) .and. (i4count(ne2).ne.0) .and. (i4count
then
143 ielem_abc(nel_abc,1) = local_el_num(ie)
144 ielem_abc(nel_abc,2) = 1
145 ielem_abc(nel_abc,3) = nn
146 ielem_abc(nel_abc,4) = nn
147 ielem_abc(nel_abc,5) = nn
148 ielem_abc(nel_abc,6) = 1
149 ielem_abc(nel_abc,7) = nn
152 ne1 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(1 -1) +(1
153 ne2 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(1 -1) +(nn
154 ne3 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(nn -1) +(nn
155 ne4 = cs_loc(cs_loc(ie -1) +nn*nn*(nn -1) +nn*(nn -1) +(1
158 if ((i4count(ne1).ne.0) .and. (i4count(ne2).ne.0) .and. (i4count
then
160 ielem_abc(nel_abc,1) = local_el_num(ie)
161 ielem_abc(nel_abc,2) = 1
162 ielem_abc(nel_abc,3) = nn
163 ielem_abc(nel_abc,4) = 1
164 ielem_abc(nel_abc,5) = nn
165 ielem_abc(nel_abc,6) = nn
166 ielem_abc(nel_abc,7) = nn