36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "mvsiz_p.inc"
44
45
46
47
48
49
50 INTEGER, INTENT(IN) :: NEL
51
53 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
54 . cj1(*),cj2(*),cj3(*),
55 . cj4(*),cj5(*),cj6(*),
56 . cj7(*),cj8(*),cj9(*),
57 . aj1(mvsiz,8),aj2(mvsiz,8),aj3(mvsiz,8),
58 . aj4(mvsiz,8),aj5(mvsiz,8),aj6(mvsiz,8),
59 . aj7(mvsiz,8),aj8(mvsiz,8),aj9(mvsiz,8)
60
61
62
63 INTEGER I, J ,IP
64
65
67 . hx1pg(mvsiz), hx2pg(mvsiz), hx3pg(mvsiz),hx4pg2(mvsiz),
68 . hy1pg(mvsiz), hy2pg(mvsiz), hy3pg(mvsiz),hy4pg2(mvsiz),
69 . hz1pg(mvsiz), hz2pg(mvsiz), hz3pg(mvsiz),hz4pg2(mvsiz),
70 . pg2,pg
71 parameter(pg=.577350269189625d0)
72
73 pg2=pg*pg
74
75 DO i=1,nel
76 hx1pg(i)=hx(i,1)*pg
77 hx2pg(i)=hx(i,2)*pg
78 hx3pg(i)=hx(i,3)*pg
79 hx4pg2(i)=hx(i,4)*pg2
80 hy1pg(i)=hy(i,1)*pg
81 hy2pg(i)=hy(i,2)*pg
82 hy3pg(i)=hy(i,3)*pg
83 hy4pg2(i)=hy(i,4)*pg2
84 hz1pg(i)=hz(i,1)*pg
85 hz2pg(i)=hz(i,2)*pg
86 hz3pg(i)=hz(i,3)*pg
87 hz4pg2(i)=hz(i,4)*pg2
88 ENDDO
89 ip=1
90
91 DO i=1,nel
92 aj1(i,ip)=cj1(i)-hx3pg(i)-hx2pg(i)+hx4pg2(i)
93 aj2(i,ip)=cj2(i)-hy3pg(i)-hy2pg(i)+hy4pg2(i)
94 aj3(i,ip)=cj3(i)-hz3pg(i)-hz2pg(i)+hz4pg2(i)
95
96 aj4(i,ip)=cj4(i)-hx1pg(i)-hx3pg(i)+hx4pg2(i)
97 aj5(i,ip)=cj5(i)-hy1pg(i)-hy3pg(i)+hy4pg2(i)
98 aj6(i,ip)=cj6(i)-hz1pg(i)-hz3pg(i)+hz4pg2(i)
99
100 aj7(i,ip)=cj7(i)-hx2pg(i)-hx1pg(i)+hx4pg2(i)
101 aj8(i,ip)=cj8(i)-hy2pg(i)-hy1pg(i)+hy4pg2(i)
102 aj9(i,ip)=cj9(i)-hz2pg(i)-hz1pg(i)+hz4pg2(i)
103 ENDDO
104 ip=2
105
106 DO i=1,nel
107 aj1(i,ip)=cj1(i)-hx3pg(i)-hx2pg(i)+hx4pg2(i)
108 aj2(i,ip)=cj2(i)-hy3pg(i)-hy2pg(i)+hy4pg2(i)
109 aj3(i,ip)=cj3(i)-hz3pg(i)-hz2pg(i)+hz4pg2(i)
110
111 aj4(i,ip)=cj4(i)-hx1pg(i)+hx3pg(i)-hx4pg2(i)
112 aj5(i,ip)=cj5(i)-hy1pg(i)+hy3pg(i)-hy4pg2(i)
113 aj6(i,ip)=cj6(i)-hz1pg(i)+hz3pg(i)-hz4pg2(i)
114
115 aj7(i,ip)=cj7(i)+hx2pg(i)-hx1pg(i)-hx4pg2(i)
116 aj8(i,ip)=cj8(i)+hy2pg(i)-hy1pg(i)-hy4pg2(i)
117 aj9(i,ip)=cj9(i)+hz2pg(i)-hz1pg(i)-hz4pg2(i)
118 ENDDO
119 ip=3
120
121 DO i=1,nel
122 aj1(i,ip)=cj1(i)+hx3pg(i)-hx2pg(i)-hx4pg2(i)
123 aj2(i,ip)=cj2(i)+hy3pg(i)-hy2pg
124 aj3(i,ip)=cj3(i)+hz3pg(i)-hz2pg(i)-hz4pg2(i)
125
126 aj4(i,ip)=cj4(i)-hx1pg(i)-hx3pg(i)+hx4pg2(i)
127 aj5(i,ip)=cj5(i)-hy1pg(i)-hy3pg(i)+hy4pg2(i)
128 aj6(i,ip)=cj6(i)-hz1pg(i)-hz3pg(i)+hz4pg2(i)
129
130 aj7(i,ip)=cj7(i)-hx2pg(i)+hx1pg(i)-hx4pg2(i)
131 aj8(i,ip)=cj8(i)-hy2pg(i)+hy1pg(i)-hy4pg2(i)
132 aj9(i,ip)=cj9(i)-hz2pg(i)+hz1pg(i
133 ENDDO
134 ip=4
135
136 DO i=1,nel
137 aj1(i,ip)=cj1(i)+hx3pg(i)-hx2pg(i)-hx4pg2(i)
138 aj2(i,ip)=cj2(i)+hy3pg(i)-hy2pg(i)-hy4pg2(i)
139 aj3(i,ip)=cj3(i)+hz3pg(i)-hz2pg(i)-hz4pg2(i)
140
141 aj4(i,ip)=cj4(i)-hx1pg(i)+hx3pg(i)-hx4pg2(i)
142 aj5(i,ip)=cj5(i)-hy1pg(i)+hy3pg(i)-hy4pg2(i)
143 aj6(i,ip)=cj6(i)-hz1pg(i)+hz3pg(i)-hz4pg2(i)
144
145 aj7(i,ip)=cj7(i)+hx2pg(i)+hx1pg(i)+hx4pg2(i)
146 aj8(i,ip)=cj8(i)+hy2pg(i)+hy1pg(i)+hy4pg2(i)
147 aj9(i,ip)=cj9(i)+hz2pg(i)+hz1pg(i)+hz4pg2(i)
148 ENDDO
149 ip=5
150
151 DO i=1,nel
152 aj1(i,ip)=cj1(i)-hx3pg(i)+hx2pg(i)-hx4pg2(i)
153 aj2(i,ip)=cj2(i)-hy3pg(i)+hy2pg(i)-hy4pg2(i)
154 aj3(i,ip)=cj3(i)-hz3pg(i)+hz2pg(i)-hz4pg2(i)
155
156 aj4(i,ip)=cj4(i)+hx1pg(i)-hx3pg(i)-hx4pg2(i)
157 aj5(i,ip)=cj5(i)+hy1pg(i)-hy3pg(i)-hy4pg2(i)
158 aj6(i,ip)=cj6(i)+hz1pg(i)-hz3pg(i)-hz4pg2(i)
159
160 aj7(i,ip)=cj7(i)-hx2pg(i)-hx1pg(i)+hx4pg2(i)
161 aj8(i,ip)=cj8(i)-hy2pg(i)-hy1pg(i)+hy4pg2(i)
162 aj9(i,ip)=cj9(i)-hz2pg(i)-hz1pg(i)+hz4pg2(i)
163 ENDDO
164 ip=6
165
166 DO i=1,nel
167 aj1(i,ip)=cj1(i)-hx3pg(i)+hx2pg(i)-hx4pg2(i)
168 aj2(i,ip)=cj2(i)-hy3pg(i)+hy2pg(i)-hy4pg2(i)
169 aj3(i,ip)=cj3(i)-hz3pg(i)+hz2pg(i)-hz4pg2(i)
170
171 aj4(i,ip)=cj4(i)+hx1pg(i)+hx3pg(i)+hx4pg2(i)
172 aj5(i,ip)=cj5(i)+hy1pg(i)+hy3pg(i)+hy4pg2(i)
173 aj6(i,ip)=cj6(i)+hz1pg(i)+hz3pg(i)+hz4pg2(i)
174
175 aj7(i,ip)=cj7(i)+hx2pg(i)-hx1pg(i)-hx4pg2(i)
176 aj8(i,ip)=cj8(i)+hy2pg(i)-hy1pg(i)-hy4pg2(i)
177 aj9(i,ip)=cj9(i)+hz2pg(i)-hz1pg(i)-hz4pg2(i)
178 ENDDO
179 ip=7
180
181 DO i=1,nel
182 aj1(i,ip)=cj1(i)+hx3pg(i)+hx2pg(i)+hx4pg2(i)
183 aj2(i,ip)=cj2(i)+hy3pg(i)+hy2pg(i)+hy4pg2(i)
184 aj3(i,ip)=cj3(i)+hz3pg(i)+hz2pg(i)+hz4pg2(i)
185
186 aj4(i,ip)=cj4(i)+hx1pg(i)-hx3pg(i)-hx4pg2(i)
187 aj5(i,ip)=cj5(i)+hy1pg(i)-hy3pg(i)-hy4pg2(i)
188 aj6(i,ip)=cj6(i)+hz1pg(i)-hz3pg(i)-hz4pg2(i)
189
190 aj7(i,ip)=cj7(i)-hx2pg(i)+hx1pg(i)-hx4pg2(i)
191 aj8(i,ip)=cj8(i)-hy2pg(i)+hy1pg(i)-hy4pg2(i)
192 aj9(i,ip)=cj9(i)-hz2pg(i)+hz1pg(i)-hz4pg2(i)
193 ENDDO
194 ip=8
195
196 DO i=1,nel
197 aj1(i,ip)=cj1(i)+hx3pg(i)+hx2pg(i)+hx4pg2(i)
198 aj2(i,ip)=cj2(i)+hy3pg(i)+hy2pg(i)+hy4pg2(i)
199 aj3(i,ip)=cj3(i)+hz3pg(i)+hz2pg(i)+hz4pg2(i)
200
201 aj4(i,ip)=cj4(i)+hx1pg(i)+hx3pg(i)+hx4pg2(i)
202 aj5(i,ip)=cj5(i)+hy1pg(i)+hy3pg(i)+hy4pg2(i)
203 aj6(i,ip)=cj6(i)+hz1pg(i)+hz3pg(i)+hz4pg2(i)
204
205 aj7(i,ip)=cj7(i)+hx2pg(i)+hx1pg(i)+hx4pg2(i)
206 aj8(i,ip)=cj8(i)+hy2pg(i)+hy1pg(i)+hy4pg2(i)
207 aj9(i,ip)=cj9(i)+hz2pg(i)+hz1pg(i)+hz4pg2(i)
208 ENDDO
209
210 RETURN