49
50
51
52#include "implicit_f.inc"
53
54
55
56#include "mvsiz_p.inc"
57
58
59
60
61
62
63 INTEGER, INTENT(IN) :: NEL
64 INTEGER NPTR,NPTS,NPTT,NNPT
65
67 . px1(mvsiz,nnpt),px2(mvsiz,nnpt),px3(mvsiz,nnpt),px4(mvsiz,nnpt),
68 . px5(mvsiz,nnpt),px6(mvsiz,nnpt),px7(mvsiz,nnpt),px8(mvsiz,nnpt),
69 . py1(mvsiz,nnpt),py2(mvsiz,nnpt),py3(mvsiz,nnpt),py4(mvsiz,nnpt),
70 . py5(mvsiz,nnpt),py6(mvsiz,nnpt),py7(mvsiz,nnpt),py8(mvsiz,nnpt),
71 . pz1(mvsiz,nnpt),pz2(mvsiz,nnpt),pz3(mvsiz,nnpt),pz4(mvsiz,nnpt),
72 . pz5(mvsiz,nnpt),pz6(mvsiz,nnpt),pz7(mvsiz,nnpt),pz8(mvsiz,nnpt),
73 . p0xy1(mvsiz,2),p0xy2(mvsiz,2),p0xy3(mvsiz,2),p0xy4(mvsiz,2),
74 . p0xy5(mvsiz,2),p0xy6(mvsiz,2),p0xy7(mvsiz,2),p0xy8(mvsiz,2),
75 . p0yx1(mvsiz,2),p0yx2(mvsiz,2),p0yx3(mvsiz,2),p0yx4(mvsiz,2),
76 . p0yx5(mvsiz,2),p0yx6(mvsiz,2),p0yx7(mvsiz,2),p0yx8(mvsiz,2),
77 . p0xz1(mvsiz,2),p0xz2(mvsiz,2),p0xz3(mvsiz,2),p0xz4(mvsiz,2),
78 . p0xz5(mvsiz,2),p0xz6(mvsiz,2),p0xz7(mvsiz,2),p0xz8(mvsiz,2),
79 . p0zx1(mvsiz,2),p0zx2(mvsiz,2),p0zx3(mvsiz,2),p0zx4(mvsiz,2),
80 . p0zx5(mvsiz,2),p0zx6(mvsiz,2),p0zx7(mvsiz,2),p0zx8(mvsiz,2),
81 . p0yz1(mvsiz,2),p0yz2(mvsiz,2),p0yz3(mvsiz,2),p0yz4(mvsiz,2),
82 . p0yz5(mvsiz,2),p0yz6(mvsiz,2),p0yz7(mvsiz,2),p0yz8(mvsiz,2),
83 . p0zy1(mvsiz,2),p0zy2(mvsiz,2),p0zy3(mvsiz,2),p0zy4(mvsiz,2),
84 . p0zy5(mvsiz,2),p0zy6(mvsiz,2),p0zy7(mvsiz,2),p0zy8(mvsiz,2)
85
86
87
88 INTEGER I, J ,IR,IS,IT,IP,I1,I2,I3,I4
89 INTEGER IXY(4,2),IXZ(4,2),IYZ(4,2)
90 DATA ixy/1,5,3,7,2,6,4,8/
91 DATA ixz/1,3,2,4,5,7,6,8/
92 DATA iyz/1,5,2,6,3,7,4,8/
93
94 DO ir=1,nptr
95 i1 = ixy(1,ir)
96 i2 = ixy(2,ir)
97 i3 = ixy(3,ir)
98 i4 = ixy(4,ir)
99 DO i=1,nel
100 p0yx1(i,ir)=fourth*(px1(i,i1)+px1(i,i2)+px1(i,i3)+px1(i,i4))
101 p0yx2(i,ir)=fourth*(px2(i,i1)+px2(i,i2)+px2(i,i3)+px2(i,i4))
102 p0yx3(i,ir)=fourth*(px3(i,i1)+px3(i,i2)+px3(i,i3)+px3(i,i4))
103 p0yx4(i,ir)=fourth*(px4(i,i1)+px4(i,i2)+px4(i,i3)+px4(i,i4))
104 p0yx5(i,ir)=fourth*(px5(i,i1)+px5(i,i2)+px5(i,i3)+px5(i,i4))
105 p0yx6(i,ir)=fourth*(px6(i,i1)+px6(i,i2)+px6(i,i3)+px6(i,i4))
106 p0yx7(i,ir)=fourth*(px7(i,i1)+px7(i,i2)+px7(i,i3)+px7(i,i4))
107 p0yx8(i,ir)=fourth*(px8(i,i1)+px8(i,i2)+px8(i,i3)+px8(i,i4))
108 ENDDO
109 DO i=1,nel
110 p0xy1(i,ir)=fourth*(py1(i,i1)+py1(i,i2)+py1(i,i3)+py1(i,i4))
111 p0xy2(i,ir)=fourth*(py2(i,i1)+py2(i,i2)+py2(i,i3)+py2(i,i4))
112 p0xy3(i,ir)=fourth*(py3(i,i1)+py3(i,i2)+py3(i,i3)+py3(i,i4))
113 p0xy4(i,ir)=fourth*(py4(i,i1)+py4(i,i2)+py4(i,i3)+py4(i,i4))
114 p0xy5(i,ir)=fourth*(py5(i,i1)+py5(i,i2)+py5(i,i3)+py5(i,i4))
115 p0xy6(i,ir)=fourth*(py6(i,i1)+py6(i,i2)+py6(i,i3)+py6(i,i4))
116 p0xy7(i,ir)=fourth*(py7(i,i1)+py7(i,i2)+py7(i,i3)+py7(i,i4))
117 p0xy8(i,ir)=fourth*(py8(i,i1)+py8(i,i2)+py8(i,i3)+py8(i,i4))
118 ENDDO
119 ENDDO
120
121 DO it=1,nptt
122 i1 = ixz(1,it)
123 i2 = ixz(2,it)
124 i3 = ixz(3,it)
125 i4 = ixz(4,it)
126 DO i=1,nel
127 p0zx1(i,it)=fourth*(px1(i,i1)+px1(i,i2)+px1(i,i3)+px1(i,i4))
128 p0zx2(i,it)=fourth*(px2(i,i1)+px2(i,i2)+px2(i,i3)+px2(i,i4))
129 p0zx3(i,it)=fourth*(px3(i,i1)+px3(i,i2)+px3(i,i3)+px3(i,i4))
130 p0zx4(i,it)=fourth*(px4(i,i1)+px4(i,i2)+px4(i,i3)+px4(i,i4))
131 p0zx5(i,it)=fourth*(px5(i,i1)+px5(i,i2)+px5(i,i3)+px5(i,i4))
132 p0zx6(i,it)=fourth*(px6(i,i1)+px6(i,i2)+px6(i,i3)+px6(i,i4))
133 p0zx7(i,it)=fourth*(px7(i,i1)+px7(i,i2)+px7(i,i3)+px7(i,i4))
134 p0zx8(i,it)=fourth*(px8(i,i1)+px8(i,i2)+px8(i,i3)+px8(i,i4))
135 ENDDO
136 DO i=1,nel
137 p0xz1(i,it)=fourth*(pz1(i,i1)+pz1(i,i2)+pz1(i,i3)+pz1(i,i4))
138 p0xz2(i,it)=fourth*(pz2(i,i1)+pz2(i,i2)+pz2(i,i3)+pz2(i,i4))
139 p0xz3(i,it)=fourth*(pz3(i,i1)+pz3(i,i2)+pz3(i,i3)+pz3(i,i4))
140 p0xz4(i,it)=fourth*(pz4(i,i1)+pz4(i,i2)+pz4(i,i3)+pz4(i,i4))
141 p0xz5(i,it)=fourth*(pz5(i,i1)+pz5(i,i2)+pz5(i,i3)+pz5(i,i4))
142 p0xz6(i,it)=fourth*(pz6(i,i1)+pz6(i,i2)+pz6(i,i3)+pz6(i,i4))
143 p0xz7(i,it)=fourth*(pz7(i,i1)+pz7(i,i2)+pz7(i,i3)+pz7(i,i4))
144 p0xz8(i,it)=fourth*(pz8(i,i1)+pz8(i,i2)+pz8(i,i3)+pz8(i,i4))
145 ENDDO
146 ENDDO
147
148 DO is=1,npts
149 i1 = iyz(1,is)
150 i2 = iyz(2,is)
151 i3 = iyz(3,is)
152 i4 = iyz(4,is)
153 DO i=1,nel
154 p0zy1(i,is)=fourth*(py1(i,i1)+py1(i,i2)+py1(i,i3)+py1(i,i4))
155 p0zy2(i,is)=fourth*(py2(i,i1)+py2(i,i2)+py2(i,i3)+py2(i,i4))
156 p0zy3(i,is)=fourth*(py3(i,i1)+py3(i,i2)+py3(i,i3)+py3(i,i4))
157 p0zy4(i,is)=fourth*(py4(i,i1)+py4(i,i2)+py4(i,i3)+py4(i,i4))
158 p0zy5(i,is)=fourth*(py5(i,i1)+py5(i,i2)+py5(i,i3)+py5(i,i4))
159 p0zy6(i,is)=fourth*(py6(i,i1)+py6(i,i2)+py6(i,i3)+py6(i,i4))
160 p0zy7(i,is)=fourth*(py7(i,i1)+py7(i,i2)+py7(i,i3)+py7(i,i4))
161 p0zy8(i,is)=fourth*(py8(i,i1)+py8(i,i2)+py8(i,i3)+py8(i,i4))
162 ENDDO
163 DO i=1,nel
164 p0yz1(i,is)=fourth*(pz1(i,i1)+pz1(i,i2)+pz1(i,i3)+pz1(i,i4))
165 p0yz2(i,is)=fourth*(pz2(i,i1)+pz2(i,i2)+pz2(i,i3)+pz2(i,i4))
166 p0yz3(i,is)=fourth*(pz3(i,i1)+pz3(i,i2)+pz3(i,i3)+pz3(i,i4))
167 p0yz4(i,is)=fourth*(pz4(i,i1)+pz4(i,i2)+pz4(i,i3)+pz4(i,i4))
168 p0yz5(i,is)=fourth*(pz5(i,i1)+pz5(i,i2)+pz5(i,i3)+pz5(i,i4))
169 p0yz6(i,is)=fourth*(pz6(i,i1)+pz6(i,i2)+pz6(i,i3)+pz6(i,i4))
170 p0yz7(i,is)=fourth*(pz7(i,i1)+pz7(i,i2)+pz7(i,i3)+pz7(i,i4))
171 p0yz8(i,is)=fourth*(pz8(i,i1)+pz8(i,i2)+pz8(i,i3)+pz8(i,i4))
172 ENDDO
173 ENDDO
174
175 RETURN