1 : C ELPDER SOURCE CHAT 05/01/12 23:36:25 5004 2 : SUBROUTINE ELPDER(XG,R,XR,XA,XB,XC,XDD,IDER,XVA) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * DERIVATION D'UNE FONCTION DANS 1,2,3,4 DIRECTION FIXES 8 : * 9 : * XG(1 A 5) F(R) ET SES 4 PREMIERES DERIVEES 10 : * XR LA DIRECTION UNITAIRE DE R 11 : * XA LA DIRECTION UNITAIRE DE DERIVATION 1 12 : * XB LA DIRECTION UNITAIRE DE DERIVATION 2 13 : * XC LA DIRECTION UNITAIRE DE DERIVATION 3 14 : * XDD LA DIRECTION UNITAIRE DE DERIVATION 4 15 : * 16 : * 17 : * 18 : * F,AB= A.RO B.RO F21 + A.B F22 19 : * 20 : * 21 : * 22 : * F,ABC= A.RO B.RO C.R0 F31 +( A.B C.RO + A.C B.RO + B.C A.RO) F3 23 : * 24 : * AVEC F31 = V''' - 3* V'' / R + 3*V' / R**2 25 : * F32 = V'' / R - V' / R**2 26 : * 27 : * 28 : * F,ABCD= A.RO B.RO C.R0 DRO F41 29 : * +( AD BRO CRO + 5 PERMUTATIONS ABCD )F42 30 : * +( AC BD + 2 PERMUTATIONS ABCD )F43 31 : * 32 : * AVEC F41 = V'''' - 6* V''' / R + 15*V''/ R**2-15 V' / R 33 : * F42 = F31 / R 34 : * F43 = F32 / R 35 : * 36 : * RO VECTEUR XR 37 : ************************************************************************ 38 : DIMENSION XG (5) 39 : DIMENSION XR (2) 40 : DIMENSION XA (2) 41 : DIMENSION XB (2) 42 : DIMENSION XC (2) 43 : DIMENSION XDD (2) 44 : * 45 : IF (IDER .EQ. 1 ) THEN 46 : F1 = XG(2) 47 : AR = XR(1)*XA(1) +XR(2)*XA(2) 48 : XVA = AR * F1 49 : ELSEIF( IDER .EQ. 2 ) THEN 50 : F21= XG(3) - XG(2) / R 51 : F22= XG(2)/R 52 : AR = XR(1)*XA(1) +XR(2)*XA(2) 53 : BR = XR(1)*XB(1) +XR(2)*XB(2) 54 : AB = XB(1)*XA(1) +XB(2)*XA(2) 55 : XVA = AR *BR* F21+ AB*F22 56 : ELSEIF( IDER .EQ. 3 ) THEN 57 : F31= XG(4) - (3 * XG(3) / R) + (3 * XG(2) / (R*R)) 58 : F32= XG(3) / R - ( XG(2) / (R*R)) 59 : AR = XR(1)*XA(1) +XR(2)*XA(2) 60 : BR = XR(1)*XB(1) +XR(2)*XB(2) 61 : CR = XR(1)*XC(1) +XR(2)*XC(2) 62 : AB = XA(1)*XB(1) +XA(2)*XB(2) 63 : AC = XA(1)*XC(1) +XA(2)*XC(2) 64 : BC = XB(1)*XC(1) +XB(2)*XC(2) 65 : XVA = (AR *BR* CR) * F31 + 66 : & (AC*BR + BC*AR + AB*CR) * F32 67 : ELSE 68 : F41= XG(5) - (6 * XG(4) / R) + (15* XG(3) / (R*R)) 69 : & - (15* XG(2) / (R*R*R)) 70 : F31= XG(4) - (3 * XG(3) / R) + (3 * XG(2) / (R*R)) 71 : F42 = F31 / R 72 : F32= XG(3) / R - ( XG(2) / (R*R)) 73 : F43 = F32 / R 74 : 75 : AR = XR(1)*XA(1) +XR(2)*XA(2) 76 : BR = XR(1)*XB(1) +XR(2)*XB(2) 77 : CR = XR(1)*XC(1) +XR(2)*XC(2) 78 : DR = XR(1)*XDD(1) +XR(2)*XDD(2) 79 : 80 : AB = XA(1)*XB(1) +XA(2)*XB(2) 81 : AC = XA(1)*XC(1) +XA(2)*XC(2) 82 : AD = XA(1)*XDD(1) +XA(2)*XDD(2) 83 : BC = XB(1)*XC(1) +XB(2)*XC(2) 84 : BD = XB(1)*XDD(1) +XB(2)*XDD(2) 85 : CD = XC(1)*XDD(1) +XC(2)*XDD(2) 86 : * 87 : XVA = (AR *BR* CR * DR) * F41 + 88 : & (AB*CR*DR + AC*BR*DR + AD*BR*CR 89 : & + BC*AR*DR + BD*AR*CR + CD*AR*BR ) * F42 + 90 : & (AC*BD + BC*AD + AB*CD ) * F43 91 : ENDIF 92 : 93 : RETURN 94 : END 95 :
© Cast3M 2003 - All rights reserved.
Disclaimer