302
303#include "implicit_f.inc"
304#include "mvsiz_p.inc"
305
306
307
308 INTEGER JFT,JLT
310 . x13(*),x24(*),y13(*),y24(*),
311 . mx13(*),mx23(*),mx34(*),my13(*),my23(*),my34(*)
314 . bm0rz(mvsiz,4,4),bmkrz(mvsiz,4,4),bmerz(mvsiz,4,4)
315
316
317
318 INTEGER I,J
320 . aa4,bxv2,byv1,a05,nxy,nyx,a05k(4),a05e(4),
321 . xij(mvsiz,4),yij(mvsiz,4),xil(mvsiz,4),yil(mvsiz,4)
322
323 DO i=jft,jlt
324 xij(i,1) = half*(mx13(i)-mx34(i))
325 xij(i,2) = half*(x13(i)+mx23(i)-mx13(i))
326 xij(i,3) = -xij(i,2)
327 xij(i,4) = -xij(i,1)
328 yij(i,1) = half*(my13
329 yij(i,2) = half*(y13(i)+my23(i)-my13(i))
330 yij(i,3) = -yij(i,2)
331 yij(i,4) = -yij(i,1)
332
333 xil(i,1) = half*(mx13(i)-mx23(i))
334 xil(i,2) = -xil(i,1)
335 xil(i,3) = half*(mx13(i)-mx34(i)-x13(i))
336 xil(i,4) = -xil(i,3)
337 yil(i,1) = half*(my13(i)-my23(i))
338 yil(i,2) = -yil(i,1)
339 yil(i,3) = half*(my13(i)-my34(i)-y13(i))
340 yil(i,4) = -yil(i,3)
341 ENDDO
342
343 DO i=jft,jlt
344
345
346 bm0rz(i,1,1) = (-my34(i)*yij(i,1)+my23(i)*yil(i,1))
347 bm0rz(i,1,2) = ( my34(i)*yij(i,2)+my23(i)*yil(i,2))
348 bm0rz(i,1,3) = ( my34(i)*yij(i,3)-my23(i)*yil(i,3))
349 bm0rz(i,1,4) = (-my34(i)*yij(i,4)-my23(i)*yil(i,4))
350
351 bmkrz(i,1,1) = (-my13(i)*yij(i,1)-two*my34(i)*yil(i,1))
352 bmkrz(i,1,2) = ( my13(i)*yij(i,2)-two*my34(i)*yil(i,2))
353 bmkrz(i,1,3) = ( my13(i)*yij(i,3)-two*my34(i)*yil(i,3))
354 bmkrz(i,1,4) = (-my13(i)*yij(i,4)-two*my34(i)*yil(i,4))
355
356 bmerz(i,1,1) = ( my13(i)*yil(i,1)+two*my23(i)*yij(i,1))
357 bmerz(i,1,2) = ( my13(i)*yil(i,2)+two*my23(i)*yij(i,2))
358 bmerz(i,1,3) = (-my13(i)*yil(i,3)+two*my23(i)*yij(i,3))
359 bmerz(i,1,4) = (-my13(i)*yil(i,4)+two*my23(i)*yij(i,4))
360
361
362 bm0rz(i,2,1) = (-mx34(i)*xij(i,1)+mx23(i)*xil(i,1))
363 bm0rz(i,2,2) = ( mx34(i)*xij(i,2)+mx23(i)*xil(i,2))
364 bm0rz(i,2,3) = ( mx34(i)*xij(i,3)-mx23(i)*xil(i,3))
365 bm0rz(i,2,4) = (-mx34(i)*xij(i,4)-mx23(i)*xil(i,4))
366
367 bmkrz(i,2,1) = (-mx13(i)*xij(i,1)-two*mx34(i)*xil(i,1))
368 bmkrz(i,2,2) = ( mx13(i)*xij(i,2)-two*mx34(i)*xil(i,2))
369 bmkrz(i,2,3) = ( mx13(i)*xij(i,3)-two*mx34(i)*xil(i,3))
370 bmkrz(i,2,4) = (-mx13(i)*xij(i,4)-two*mx34(i)*xil(i,4))
371
372 bmerz(i,2,1) = ( mx13(i)*xil(i,1)+two*mx23(i)*xij(i,1))
373 bmerz(i,2,2) = ( mx13(i)*xil(i,2)+two*mx23(i)*xij(i,2))
374 bmerz(i,2,3) = (-mx13(i)*xil(i,3)+two*mx23(i)*xij(i,3))
375 bmerz(i,2,4) = (-mx13(i)*xil(i,4)+two*mx23(i)*xij(i,4))
376
377
378 bm0rz(i,3,1) = ( mx34(i)*yij(i,1)-mx23(i)*yil(i,1))
379 bm0rz(i,3,2) = (-mx34(i)*yij(i,2)-mx23(i)*yil(i,2
380 bm0rz(i,3,3) = (-mx34(i)*yij(i,3)+mx23(i)*yil(i,3))
381 bm0rz(i,3,4) = ( mx34(i)*yij(i,4)+mx23(i)*yil(i,4))
382
383 bmkrz(i,3,1) = ( mx13(i)*yij(i,1)+two*mx34(i)*yil(i,1))
384 bmkrz(i,3,2) = (-mx13(i)*yij(i,2)+two*mx34(i)*yil(i,2))
385 bmkrz(i,3,3) = (-mx13(i)*yij(i,3)+two*mx34(i)*yil(i,3))
386 bmkrz(i,3,4) = ( mx13(i)*yij(i,4)+two*mx34(i)*yil(i,4))
387
388 bmerz(i,3,1) = (-mx13(i)*yil(i,1)-two*mx23(i)*yij(i,1))
389 bmerz(i,3,2) = (-mx13(i)*yil(i,2)-two*mx23(i)*yij(i,2))
390 bmerz(i,3,3) = ( mx13(i)*yil(i,3)-two*mx23(i)*yij(i,3))
391 bmerz(i,3,4) = ( mx13(i)*yil(i,4)-two*mx23(i)*yij(i,4))
392
393
394 bm0rz(i,4,1) = ( my34(i)*xij(i,1)-my23(i)*xil(i,1))
395 bm0rz(i,4,2) = (-my34(i)*xij(i,2)-my23(i)*xil(i,2))
396 bm0rz(i,4,3) = (-my34(i)*xij(i,3)+my23(i)*xil(i,3))
397 bm0rz(i,4,4) = ( my34(i)*xij(i,4)+my23(i)*xil(i,4))
398
399 bmkrz(i,4,1) = ( my13(i)*xij(i,1)+two*my34(i)*xil(i,1))
400 bmkrz(i,4,2) = (-my13(i)*xij(i,2)+two*my34(i)*xil(i,2))
401 bmkrz(i,4,3) = (-my13(i)*xij(i,3)+two*my34(i)*xil(i,3))
402 bmkrz(i,4,4) = ( my13(i)*xij(i,4)+two*my34(i)*xil(i,4))
403
404 bmerz(i,4,1) = (-my13(i)*xil(i,1)-two*my23(i)*xij(i,1))
405 bmerz(i,4,2) = (-my13(i)*xil(i,2)-two*my23(i)*xij(i,2))
406 bmerz(i,4,3) = ( my13(i)*xil(i,3)-two*my23(i)*xij(i,3))
407 bmerz(i,4,4) = ( my13(i)*xil(i,4)-two*my23(i)*xij(i,4))
408 ENDDO
409
411 + mx13 ,mx23,mx34 ,my13 ,my23 ,my34)
412
413 DO i=jft,jlt
414
416 a05k(1)= -a05
417 a05k(2)= a05
418 a05k(3)= a05
419 a05k(4)= -a05
420 a05e(1)= -a05
421 a05e(2)= -a05
422 a05e(3)= a05
423 a05e(4)= a05
424 DO j=1,4
425 nxy=bm0rz(i,3,j)
426 nyx=bm0rz(i,4,j)
427 bm0rz(i,3,j)=nxy+nyx
428 bm0rz(i,4,j)=-nxy+nyx-a05
429 nxy=bmkrz(i,3,j)
430 nyx=bmkrz(i,4,j)
431 bmkrz(i,3,j)=nxy+nyx
432 bmkrz(i,4,j)=-nxy+nyx-a05k(j)
433 nxy=bmerz(i,3,j)
434 nyx=bmerz(i,4,j)
435 bmerz(i,3,j)=nxy+nyx
436 bmerz(i,4,j)=-nxy+nyx-a05e(j)
437 ENDDO
438 ENDDO
439
440 RETURN
subroutine cbpatch(jft, jlt, bm0rz, bmkrz, bmerz, area, mx13, mx23, mx34, my13, my23, my34)