C ELLP31 SOURCE CHAT 05/01/12 23:35:39 5004 SUBROUTINE ELLP31 (R,INP,ZS,ZALFAX,ZALFAR,ZALFAY,ZALFAZ, * ZG01,ZG11,ZG02,ZG12, * ZG03,ZG13,ZG23,ZG33,ZG43,ZZ3, * ZG04,ZG14,ZG24,ZG34,ZG44,ZZ4) C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Y) IMPLICIT COMPLEX*16 (Z) C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C OPERATEUR ELFE LAPLACE POUTRE C C CALCUL POUR LA POUTRE N› INP DES FONCTIONS DE GREEN CORRESPONDAN- C TES EN - TC (N› 1) C - TORSION (N› 2) C - FLEXION / OY (N› 3) ) C - FLEXION / OZ (N› 4) ) --> MODELE DE TIMOSHENKO C AU POINT DE COORDONNEES LOCALES R. C C PARAMETRES : C C CARACT : TABLEAU DES CARACTERISTIQUE DES POUTRES (12 ,NP) C R : POINT DE CALCUL DE G ( 0 < R < L) C INP : NUMERO DE LA POUTRE C ZS : VALEUR DE S = S0 + I W C C SORTIES : C C ZG'N''M' : VALEUR DE LA DERIVEE 'N'IEME DELA FONCTION DE GREEN C NUMERO M. C C C AUTEUR : SAINT-DIZIER C DATE : 04 JANVIER 1990 (VERSION DU 03 AVRIL 1990) C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C -- CALCUL DE GREEN 1 : TRACTION COMPRESSION C -------------------- ZG01 = .5D0*EXP(-ZALFAX*R) ZG11 =-.5D0*EXP(-ZALFAX*R) C C -- CALCUL DE GREEN 2 : TORSION C ------- ZG02 = .5D0*EXP(-ZALFAR*R) ZG12 =-.5D0*EXP(-ZALFAR*R) C C -- CALCUL DE GREEN 3 : FLEXION / OY C ------------ ZDELTA= ZZ3*ZZ3 - 4.D0 ZDEL = SQRT(ZDELTA) C Z1 = (ZZ3+ZDEL)/2.D0 Z2 = (ZZ3-ZDEL)/2.D0 ZL1 = SQRT(Z1) ZL2 = SQRT(Z2) PR1 = ZL1*ZALFAY PR2 = ZL2*ZALFAY C C -- SELECTION DES PARTIES REELLES POSITIVES C IF (PR1.LT.0.) ZL1 = -ZL1 IF (PR2.LT.0.) ZL2 = -ZL2 C ZZA = 1.D0/(2.D0*ZL1*(ZL2*ZL2-ZL1*ZL1)) ZZB = 1.D0/(2.D0*ZL2*(ZL1*ZL1-ZL2*ZL2)) C ZE1 = EXP(-ZL1*ZALFAY*R) ZE2 = EXP(-ZL2*ZALFAY*R) C ZG03 = ZZA*ZE1 + ZZB*ZE2 ZG13 = -ZL1*ZZA*ZE1 - ZL2*ZZB*ZE2 ZG23 = ZL1*ZL1*ZZA*ZE1 + ZL2*ZL2*ZZB*ZE2 ZG33 = -ZL1*ZL1*ZL1*ZZA*ZE1 - ZL2*ZL2*ZL2*ZZB*ZE2 ZG43 = ZL1*ZL1*ZL1*ZL1*ZZA*ZE1 + ZL2*ZL2*ZL2*ZL2*ZZB*ZE2 C C -- CALCUL DE GREEN 4 : FLEXION / OZ C ------------ ZDELTA= ZZ4*ZZ4 - 4.D0 ZDEL = SQRT(ZDELTA) C Z1 = (ZZ4+ZDEL)/2.D0 Z2 = (ZZ4-ZDEL)/2.D0 ZL1 = SQRT(Z1) ZL2 = SQRT(Z2) PR1 = ZL1*ZALFAZ PR2 = ZL2*ZALFAZ C C -- SELECTION DES PARTIES REELLES POSITIVES C IF (PR1.LT.0.) ZL1 = -ZL1 IF (PR2.LT.0.) ZL2 = -ZL2 C ZZA = 1.D0/(2.D0*ZL1*(ZL2*ZL2-ZL1*ZL1)) ZZB = 1.D0/(2.D0*ZL2*(ZL1*ZL1-ZL2*ZL2)) C ZE1 = EXP(-ZL1*ZALFAZ*R) ZE2 = EXP(-ZL2*ZALFAZ*R) C ZG04 = ZZA*ZE1 + ZZB*ZE2 ZG14 = -ZL1*ZZA*ZE1 - ZL2*ZZB*ZE2 ZG24 = ZL1*ZL1*ZZA*ZE1 + ZL2*ZL2*ZZB*ZE2 ZG34 = -ZL1*ZL1*ZL1*ZZA*ZE1 - ZL2*ZL2*ZL2*ZZB*ZE2 ZG44 = ZL1*ZL1*ZL1*ZL1*ZZA*ZE1 + ZL2*ZL2*ZL2*ZL2*ZZB*ZE2 C END