1 : C FFCU20 SOURCE CHAT 05/01/12 23:58:34 5004 2 : SUBROUTINE FFCU20(XA) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : C************************************************************************ 6 : C 7 : C 8 : C 9 : C************************************************************************ 10 : DIMENSION FN(20),COOR(3,7),XA(3,27) 11 : DATA COOR/0.5D0,0.5D0,0.D0 ,0.5D0,0.5D0,1.D0, 12 : & 0.5D0,0.D0,0.5D0 ,1.D0,0.5D0,0.5D0, 13 : & 0.5D0,1.D0,0.5D0, 0.D0,0.5D0,0.5D0, 14 : & 0.5D0,0.5D0,0.5D0/ 15 : C 16 : DO 1 I=1,7 17 : X=COOR(1,I) 18 : Y=COOR(2,I) 19 : Z=COOR(3,I) 20 : 21 : FN(1)=-2.D0*(1.D0-X)*(1.D0-Y)*(1.D0-Z)*(X+Y+Z-0.5D0) 22 : FN(2)= 4.D0*X*(1.D0-X)*(1.D0-Y)*(1.D0-Z) 23 : FN(3)=-2.D0*X*(1.D0-Y)*(1.D0-Z)*(Z+Y-X+0.5D0) 24 : FN(4)= 4.D0*X*Y*(1.D0-Y)*(1.D0-Z) 25 : FN(5)=-2.D0*X*Y*(1.D0-Z)*(1.5D0-X-Y+Z) 26 : FN(6)= 4.D0*X*Y*(1.D0-X)*(1.D0-Z) 27 : FN(7)=-2.D0*Y*(1.D0-X)*(1.D0-Z)*(X-Y+Z+0.5D0) 28 : FN(8)= 4.D0*Y*(1.D0-Y)*(1.D0-X)*(1.D0-Z) 29 : FN(9) = 4.D0*Z*(1.D0-Z)*(1.D0-X)*(1.D0-Y) 30 : FN(10)= 4.D0*X*Z*(1.D0-Z)*(1.D0-Y) 31 : FN(11)= 4.D0*X*Y*Z*(1.D0-Z) 32 : FN(12)= 4.D0*Y*Z*(1.D0-Z)*(1.D0-X) 33 : FN(13)=-2.D0*(1.D0-X)*(1.D0-Y)*Z*(X+Y-Z+0.5D0) 34 : FN(14)= 4.D0*X*(1.D0-X)*(1.D0-Y)*Z 35 : FN(15)=-2.D0*X*(1.D0-Y)*Z*(-Z+Y-X+1.5D0) 36 : FN(16)= 4.D0*X*Y*(1.D0-Y)*Z 37 : FN(17)=-2.D0*X*Y*Z*(2.5D0-X-Y-Z) 38 : FN(18)= 4.D0*X*Y*(1.D0-X)*Z 39 : FN(19)=-2.D0*Y*(1.D0-X)*Z*(X-Y-Z+1.5D0) 40 : FN(20)= 4.D0*Y*(1.D0-Y)*(1.D0-X)*Z 41 : 42 : DO 2 N=1,3 43 : XA(N,I+20)= 44 : & FN(1)*XA(N,1)+FN(2)*XA(N,2)+FN(3)*XA(N,3)+FN(4)*XA(N,4) 45 : &+ FN(5)*XA(N,5)+FN(6)*XA(N,6)+FN(7)*XA(N,7)+FN(8)*XA(N,8) 46 : &+ FN(9)*XA(N,9)+FN(10)*XA(N,10)+FN(11)*XA(N,11)+FN(12)*XA(N,12) 47 : &+FN(13)*XA(N,13)+FN(14)*XA(N,14)+FN(15)*XA(N,15)+FN(16)*XA(N,16) 48 : &+FN(17)*XA(N,17)+FN(18)*XA(N,18)+FN(19)*XA(N,19)+FN(20)*XA(N,20) 49 : 2 CONTINUE 50 : 1 CONTINUE 51 : 52 : 53 : 54 : 55 : 1002 format(10(1x,1pe11.4)) 56 : RETURN 57 : END 58 : 59 :
© Cast3M 2003 - All rights reserved.
Disclaimer