C DERIVO SOURCE CHAT 05/01/12 22:43:04 5004 SUBROUTINE DERIVO (SX,SY,RL,ABSI,ORD,HS4,HS5,HS6,EXX,EYY, / HXABS,HXORD,HYABS,HYORD) C C******************************************************************** C CE SOUS PROGRAMME CALCULE LES DERIVEES DES FONCTIONS DE C FORME DES ROTATIONS BETAX ET BETAY C******************************************************************** C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION EXX(3),EYY(3),HS4(9),HS5(9),HS6(9) DIMENSION HXABS(9),HXORD(9),HYABS(9),HYORD(9) DIMENSION DNDABS(6),DNDORD(6) DIMENSION SX(3),SY(3),RL(3) * DNDABS(1)=-3.D0+4.D0*ABSI+4.D0*ORD DNDORD(1)=DNDABS(1) DNDABS(2)=4.D0*ABSI-1.D0 DNDORD(2)=0.D0 DNDABS(3)=0.D0 DNDORD(3)=4.D0*ORD-1.D0 DNDABS(4)=4.D0*ORD DNDORD(4)=4.D0*ABSI DNDABS(5)=-4.D0*ORD DNDORD(5)=4.D0-4.D0*ABSI-8.D0*ORD DNDABS(6)=4.D0-8.D0*ABSI-4.D0*ORD DNDORD(6)=-4.D0*ABSI C DO 60 I=1,9 HXABS(I)=EXX(1)*DNDABS(4)*HS4(I)+EXX(2)*DNDABS(5)*HS5(I) A+EXX(3)*DNDABS(6)*HS6(I) 60 CONTINUE HXABS(2)=HXABS(2)-(-0.5D0*DNDABS(5)*EYY(2)*EXX(2) A-0.5D0*DNDABS(6)*EYY(3)*EXX(3)) HXABS(3)=HXABS(3)-(-DNDABS(1)-0.5D0*DNDABS(5)*(EYY(2)**2) A-0.5D0*DNDABS(6)*(EYY(3)**2)) HXABS(5)=HXABS(5)-(-0.5D0*DNDABS(6)*EYY(3)*EXX(3) A-0.5D0*DNDABS(4)*EYY(1)*EXX(1)) HXABS(6)=HXABS(6)-(-DNDABS(2)-0.5D0*DNDABS(6)*(EYY(3)**2) A-0.5D0*DNDABS(4)*(EYY(1)**2)) HXABS(8)=HXABS(8)-(-0.5D0*DNDABS(4)*EYY(1)*EXX(1) A-0.5D0*DNDABS(5)*EYY(2)*EXX(2)) HXABS(9)=HXABS(9)-(-DNDABS(3)-0.5D0*DNDABS(4)*(EYY(1)**2) A-0.5D0*DNDABS(5)*(EYY(2)**2)) DO 70 I=1,9 HXORD(I)=EXX(1)*DNDORD(4)*HS4(I)+EXX(2)*DNDORD(5)*HS5(I) A+EXX(3)*DNDORD(6)*HS6(I) 70 CONTINUE HXORD(2)=HXORD(2)-(-0.5D0*DNDORD(5)*EYY(2)*EXX(2) A-0.5D0*DNDORD(6)*EYY(3)*EXX(3)) HXORD(3)=HXORD(3)-(-DNDORD(1)-0.5D0*DNDORD(5)*(EYY(2)**2) A-0.5D0*DNDORD(6)*(EYY(3)**2)) HXORD(5)=HXORD(5)-(-0.5D0*DNDORD(6)*EYY(3)*EXX(3) A-0.5D0*DNDORD(4)*EYY(1)*EXX(1)) HXORD(6)=HXORD(6)-(-DNDORD(2)-0.5D0*DNDORD(6)*(EYY(3)**2) A-0.5D0*DNDORD(4)*(EYY(1)**2)) HXORD(8)=HXORD(8)-(-0.5D0*DNDORD(4)*EYY(1)*EXX(1) A-0.5D0*DNDORD(5)*EYY(2)*EXX(2)) HXORD(9)=HXORD(9)-(-DNDORD(3)-0.5D0*DNDORD(4)*(EYY(1)**2) A-0.5D0*DNDORD(5)*(EYY(2)**2)) DO 80 I=1,9 HYABS(I)=EYY(1)*DNDABS(4)*HS4(I)+EYY(2)*DNDABS(5)*HS5(I) A+EYY(3)*DNDABS(6)*HS6(I) 80 CONTINUE HYABS(2)=HYABS(2)-(+0.5D0*DNDABS(5)*EXX(2)*EXX(2) A+0.5D0*DNDABS(6)*EXX(3)*EXX(3)+DNDABS(1)) HYABS(3)=HYABS(3)-(+0.5D0*DNDABS(5)*EYY(2)*EXX(2) A+0.5D0*DNDABS(6)*EYY(3)*EXX(3)) HYABS(5)=HYABS(5)-(+0.5D0*DNDABS(6)*EXX(3)*EXX(3) A+0.5D0*DNDABS(4)*EXX(1)*EXX(1))-DNDABS(2) HYABS(6)=HYABS(6)-(+0.5D0*DNDABS(6)*EYY(3)*EXX(3) A+0.5D0*DNDABS(4)*EYY(1)*EXX(1)) HYABS(8)=HYABS(8)-(+0.5D0*DNDABS(4)*EXX(1)*EXX(1) A+0.5D0*DNDABS(5)*EXX(2)*EXX(2)+DNDABS(3)) HYABS(9)=HYABS(9)-(+0.5D0*DNDABS(4)*EYY(1)*EXX(1) A+0.5D0*DNDABS(5)*EYY(2)*EXX(2)) DO 90 I=1,9 HYORD(I)=EYY(1)*DNDORD(4)*HS4(I)+EYY(2)*DNDORD(5)*HS5(I) A+EYY(3)*DNDORD(6)*HS6(I) 90 CONTINUE HYORD(2)=HYORD(2)-(+0.5D0*DNDORD(5)*EXX(2)*EXX(2) A+0.5D0*DNDORD(6)*EXX(3)*EXX(3)+DNDORD(1)) HYORD(3)=HYORD(3)-(+0.5D0*DNDORD(5)*EYY(2)*EXX(2) A+0.5D0*DNDORD(6)*EYY(3)*EXX(3)) HYORD(5)=HYORD(5)-(+0.5D0*DNDORD(6)*EXX(3)*EXX(3) A+0.5D0*DNDORD(4)*EXX(1)*EXX(1))-DNDORD(2) HYORD(6)=HYORD(6)-(+0.5D0*DNDORD(6)*EYY(3)*EXX(3) A+0.5D0*DNDORD(4)*EYY(1)*EXX(1)) HYORD(8)=HYORD(8)-(+0.5D0*DNDORD(4)*EXX(1)*EXX(1) A+0.5D0*DNDORD(5)*EXX(2)*EXX(2)+DNDORD(3)) HYORD(9)=HYORD(9)-(+0.5D0*DNDORD(4)*EYY(1)*EXX(1) A+0.5D0*DNDORD(5)*EYY(2)*EXX(2)) RETURN END