107
108
109
110#include "implicit_f.inc"
111
112
113
114#include "mvsiz_p.inc"
115
116
117
118 INTEGER JFT, JLT
120 . px2(*), py2(*), px3(*), py3(*),
121 . px(mvsiz,3), py(mvsiz,3), pxy(mvsiz,3), pyy(mvsiz,3),
122 . bz1(mvsiz,2),bz2(mvsiz,2),bz3(mvsiz,2), brx1(mvsiz,3),
123 . brx2(mvsiz,3),brx3(mvsiz,3),bry1(mvsiz,3),bry2(mvsiz,3),bry3(mvsiz,3),
124 . ksi, eta
125
126
127
128 INTEGER I
129 my_real :: xr1,xr2,xr3,yr1,yr2,yr3,xs1,xs2,xs3,ys1,ys2,ys3,x2y,y2x,x6,y6,xy6,rxy1(3),rxy2(3)
130
131 x2y =one-two*ksi-eta
132 y2x =one-two*eta-ksi
133 x6 = six*ksi-one
134 y6 = six*eta-one
135 xy6 = x6+y6-three
136 DO i=jft,jlt
137 xr1= px(i,3)*x2y
138 xr2= px(i,2)*eta
139 xr3= px(i,1)*eta
140 xs1= -px(i,2)*y2x
141 xs2= -px(i,3)*ksi
142 xs3= -px(i,1)*ksi
143 bz1(i,1)=px2(i)*(-xr1+xr3)-px3(i)*(xs3+xs2)
144 bz1(i,2)=-px2(i)*(xr2+xr3)+px3(i)*(-xs1+xs3)
145
146
147 yr1= py(i,3)*x2y
148 yr2= py(i,2)*eta
149 yr3= py(i,1)*eta
150 ys1= -py(i,2)*y2x
151 ys2= -py(i,3)*ksi
152 ys3= -py(i,1)*ksi
153 bz2(i,1)=py2(i)*(-yr1+yr3)-py3(i)*(ys3+ys2)
154 bz2(i,2)=-py2(i)*(yr2+yr3)+py3(i)*(-ys1+ys3)
155
156
157 bz3(i,1)=px2(i)*(-yr1+yr3)-px3(i)*(ys3+ys2)+
158 . py2(i)*(-xr1+xr3)-py3(i)*(xs3+xs2)
159 bz3(i,2)=-px2(i)*(yr2+yr3)+px3(i)*(-ys1+ys3)
160 . -py2(i)*(xr2+xr3)+py3(i)*(-xs1+xs3)
161
162 ENDDO
163
164 DO i=jft,jlt
165 xr1= pxy(i,3)*x2y
166 xr2= -pxy(i,2)*eta
167 xr3= pxy(i,1)*eta
168 xs1= pxy(i,2)*y2x
169 xs2= -pxy(i,3)*ksi
170 xs3= pxy(i,1)*ksi
171 brx1(i,1)=px2(i)*(xr1+xr2)+px3(i)*(xs1+xs2)
172 brx1(i,2)=px2(i)*(xr1+xr3)+px3(i)*(xs3+xs2)
173 brx1(i,3)=px2(i)*(xr2+xr3)+px3(i)*(xs1+xs3)
174
175 yr1= pyy(i,3)*x2y
176 yr2= one-pyy(i,2)*eta
177 yr3= pyy(i,1)*eta-one
178 ys1= pyy(i,2)*y2x
179 ys2= one-pyy(i,3)*ksi
180 ys3= pyy(i,1)*ksi-one
181 brx2(i,1)=py2(i)*(yr1+yr2)+py3(i)*(ys1+ys2)
182 brx2(i,2)=py2(i)*(yr1+yr3)+py3(i)*(ys3+ys2)
183 brx2(i,3)=py2(i)*(yr2+yr3)+py3(i)*(ys1+ys3)
184
185 rxy1(1)=px2(i)*(yr1+yr2)+px3(i)*(ys1+ys2)
186 rxy2(1)=py2(i)*(xr1+xr2)+py3(i)*(xs1+xs2)
187 rxy1(2)=px2(i)*(yr1+yr3)+px3(i)*(ys3+ys2)
188 rxy2(2)=py2(i)*(xr1+xr3)+py3(i)*(xs3+xs2)
189 rxy1(3)=px2(i)*(yr2+yr3)+px3(i)*(ys1+ys3)
190 rxy2(3)=py2(i)*(xr2+xr3)+py3(i)*(xs1+xs3)
191 brx3(i,1)=rxy1(1)+rxy2(1)
192 brx3(i,2)=rxy1(2)+rxy2(2)
193 brx3(i,3)=rxy1(3)+rxy2(3)
194
195 bry1(i,1)=rxy1(1)+(px2(i)+px3(i))*xy6
196 bry1(i,2)=rxy1(2)+px2(i)*x6
197 bry1(i,3)=rxy1(3)+px3(i)*y6
198
199 bry2(i,1)=-rxy2(1)
200 bry2(i,2)=-rxy2(2)
201 bry2(i,3)=-rxy2(3)
202
203 bry3(i,1)=(py2(i)+py3(i))*xy6+brx2(i,1)-brx1(i,1)
204 bry3(i,2)=py2(i)*x6+brx2(i,2)-brx1(i,2)
205 bry3(i,3)=py3(i)*y6+brx2(i,3)-brx1(i,3)
206 ENDDO
207
208
209 RETURN
210