1 : C DERIVO SOURCE CHAT 05/01/12 22:43:04 5004 2 : SUBROUTINE DERIVO (SX,SY,RL,ABSI,ORD,HS4,HS5,HS6,EXX,EYY, 3 : / HXABS,HXORD,HYABS,HYORD) 4 : C 5 : C******************************************************************** 6 : C CE SOUS PROGRAMME CALCULE LES DERIVEES DES FONCTIONS DE 7 : C FORME DES ROTATIONS BETAX ET BETAY 8 : C******************************************************************** 9 : C 10 : IMPLICIT INTEGER(I-N) 11 : IMPLICIT REAL*8 (A-H,O-Z) 12 : DIMENSION EXX(3),EYY(3),HS4(9),HS5(9),HS6(9) 13 : DIMENSION HXABS(9),HXORD(9),HYABS(9),HYORD(9) 14 : DIMENSION DNDABS(6),DNDORD(6) 15 : DIMENSION SX(3),SY(3),RL(3) 16 : * 17 : DNDABS(1)=-3.D0+4.D0*ABSI+4.D0*ORD 18 : DNDORD(1)=DNDABS(1) 19 : DNDABS(2)=4.D0*ABSI-1.D0 20 : DNDORD(2)=0.D0 21 : DNDABS(3)=0.D0 22 : DNDORD(3)=4.D0*ORD-1.D0 23 : DNDABS(4)=4.D0*ORD 24 : DNDORD(4)=4.D0*ABSI 25 : DNDABS(5)=-4.D0*ORD 26 : DNDORD(5)=4.D0-4.D0*ABSI-8.D0*ORD 27 : DNDABS(6)=4.D0-8.D0*ABSI-4.D0*ORD 28 : DNDORD(6)=-4.D0*ABSI 29 : C 30 : DO 60 I=1,9 31 : HXABS(I)=EXX(1)*DNDABS(4)*HS4(I)+EXX(2)*DNDABS(5)*HS5(I) 32 : A+EXX(3)*DNDABS(6)*HS6(I) 33 : 60 CONTINUE 34 : HXABS(2)=HXABS(2)-(-0.5D0*DNDABS(5)*EYY(2)*EXX(2) 35 : A-0.5D0*DNDABS(6)*EYY(3)*EXX(3)) 36 : HXABS(3)=HXABS(3)-(-DNDABS(1)-0.5D0*DNDABS(5)*(EYY(2)**2) 37 : A-0.5D0*DNDABS(6)*(EYY(3)**2)) 38 : HXABS(5)=HXABS(5)-(-0.5D0*DNDABS(6)*EYY(3)*EXX(3) 39 : A-0.5D0*DNDABS(4)*EYY(1)*EXX(1)) 40 : HXABS(6)=HXABS(6)-(-DNDABS(2)-0.5D0*DNDABS(6)*(EYY(3)**2) 41 : A-0.5D0*DNDABS(4)*(EYY(1)**2)) 42 : HXABS(8)=HXABS(8)-(-0.5D0*DNDABS(4)*EYY(1)*EXX(1) 43 : A-0.5D0*DNDABS(5)*EYY(2)*EXX(2)) 44 : HXABS(9)=HXABS(9)-(-DNDABS(3)-0.5D0*DNDABS(4)*(EYY(1)**2) 45 : A-0.5D0*DNDABS(5)*(EYY(2)**2)) 46 : DO 70 I=1,9 47 : HXORD(I)=EXX(1)*DNDORD(4)*HS4(I)+EXX(2)*DNDORD(5)*HS5(I) 48 : A+EXX(3)*DNDORD(6)*HS6(I) 49 : 70 CONTINUE 50 : HXORD(2)=HXORD(2)-(-0.5D0*DNDORD(5)*EYY(2)*EXX(2) 51 : A-0.5D0*DNDORD(6)*EYY(3)*EXX(3)) 52 : HXORD(3)=HXORD(3)-(-DNDORD(1)-0.5D0*DNDORD(5)*(EYY(2)**2) 53 : A-0.5D0*DNDORD(6)*(EYY(3)**2)) 54 : HXORD(5)=HXORD(5)-(-0.5D0*DNDORD(6)*EYY(3)*EXX(3) 55 : A-0.5D0*DNDORD(4)*EYY(1)*EXX(1)) 56 : HXORD(6)=HXORD(6)-(-DNDORD(2)-0.5D0*DNDORD(6)*(EYY(3)**2) 57 : A-0.5D0*DNDORD(4)*(EYY(1)**2)) 58 : HXORD(8)=HXORD(8)-(-0.5D0*DNDORD(4)*EYY(1)*EXX(1) 59 : A-0.5D0*DNDORD(5)*EYY(2)*EXX(2)) 60 : HXORD(9)=HXORD(9)-(-DNDORD(3)-0.5D0*DNDORD(4)*(EYY(1)**2) 61 : A-0.5D0*DNDORD(5)*(EYY(2)**2)) 62 : DO 80 I=1,9 63 : HYABS(I)=EYY(1)*DNDABS(4)*HS4(I)+EYY(2)*DNDABS(5)*HS5(I) 64 : A+EYY(3)*DNDABS(6)*HS6(I) 65 : 80 CONTINUE 66 : HYABS(2)=HYABS(2)-(+0.5D0*DNDABS(5)*EXX(2)*EXX(2) 67 : A+0.5D0*DNDABS(6)*EXX(3)*EXX(3)+DNDABS(1)) 68 : HYABS(3)=HYABS(3)-(+0.5D0*DNDABS(5)*EYY(2)*EXX(2) 69 : A+0.5D0*DNDABS(6)*EYY(3)*EXX(3)) 70 : HYABS(5)=HYABS(5)-(+0.5D0*DNDABS(6)*EXX(3)*EXX(3) 71 : A+0.5D0*DNDABS(4)*EXX(1)*EXX(1))-DNDABS(2) 72 : HYABS(6)=HYABS(6)-(+0.5D0*DNDABS(6)*EYY(3)*EXX(3) 73 : A+0.5D0*DNDABS(4)*EYY(1)*EXX(1)) 74 : HYABS(8)=HYABS(8)-(+0.5D0*DNDABS(4)*EXX(1)*EXX(1) 75 : A+0.5D0*DNDABS(5)*EXX(2)*EXX(2)+DNDABS(3)) 76 : HYABS(9)=HYABS(9)-(+0.5D0*DNDABS(4)*EYY(1)*EXX(1) 77 : A+0.5D0*DNDABS(5)*EYY(2)*EXX(2)) 78 : DO 90 I=1,9 79 : HYORD(I)=EYY(1)*DNDORD(4)*HS4(I)+EYY(2)*DNDORD(5)*HS5(I) 80 : A+EYY(3)*DNDORD(6)*HS6(I) 81 : 90 CONTINUE 82 : HYORD(2)=HYORD(2)-(+0.5D0*DNDORD(5)*EXX(2)*EXX(2) 83 : A+0.5D0*DNDORD(6)*EXX(3)*EXX(3)+DNDORD(1)) 84 : HYORD(3)=HYORD(3)-(+0.5D0*DNDORD(5)*EYY(2)*EXX(2) 85 : A+0.5D0*DNDORD(6)*EYY(3)*EXX(3)) 86 : HYORD(5)=HYORD(5)-(+0.5D0*DNDORD(6)*EXX(3)*EXX(3) 87 : A+0.5D0*DNDORD(4)*EXX(1)*EXX(1))-DNDORD(2) 88 : HYORD(6)=HYORD(6)-(+0.5D0*DNDORD(6)*EYY(3)*EXX(3) 89 : A+0.5D0*DNDORD(4)*EYY(1)*EXX(1)) 90 : HYORD(8)=HYORD(8)-(+0.5D0*DNDORD(4)*EXX(1)*EXX(1) 91 : A+0.5D0*DNDORD(5)*EXX(2)*EXX(2)+DNDORD(3)) 92 : HYORD(9)=HYORD(9)-(+0.5D0*DNDORD(4)*EYY(1)*EXX(1) 93 : A+0.5D0*DNDORD(5)*EYY(2)*EXX(2)) 94 : RETURN 95 : END 96 : 97 :
© Cast3M 2003 - All rights reserved.
Disclaimer