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