C GFLEX5 SOURCE CB215821 17/11/30 21:16:21 9639 C C GFLEX5 SOURCE VACE 30/11/88 C SUBROUTINE GFLEX5(AB,DLL,RF,CTC,DELTAT,LANBN,FREQ1,FREQ2,BETA,EPS) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) integer p C C C ===================================================================== C MODELE DE TIMOSHENKO AVEC AMORTISSEMENT PHYSIQUE C ------------------------------------------------ C C C SOUS-PROGRAMME FORTRAN APPELE PAR GREEN1 POUR CALCULER EN FLEXION C LES FONCTIONS DE GREEN FILTREES DE TIMOSHENKO AVEC AMORTISSEMENT C C LA FONCTION DE GREEN EST DEFINI PAR : C ------------------------------------ C G(O,T) = INTEGRALE SUR K ENTRE AK1 ET AK2 DE : C SIN(OM*T)*EXP(-EPS*OM*T)/(1+(K/(1+R))**2)*OM C G(L,T) = INTEGRALE SUR K ENTRE AK1 ET AK2 DE : C SIN(OM*T)*COS(K*XI)*EXP(-EPS*OM*T)/(1+(K/(1+R))**2)*OM C C OM = 2*XPI*FREQ*RF/C C OM = SQRT((B-D)/2) AVEC B = BETA + (1+BETA)*K**2 C D = SQRT(B**2 - 4*BETA*K**4) C R = (K**2 -OM**2)/BETA C C DEFINITION DES ARGUMENTS : C -------------------------- C AB : TABLEAU 10*LANBN DONNANT LES INTEGRALES DES FONCTIONS C DE GREEN ET DE LEURS DERIVEES A CHAQUE PAS DE TEMPS C DLL : LONGUEUR DE LA POUTRE C RF : DIMENSION TRANSVERSE DE LA POUTRE C CTC : TEMPS DE CALCUL C DELTAT : PAS DE TEMPS C LANBN : NOMBRE DE PAS DE TEMPS C FREQ1 : FREQUENCE BASSE DU FILTRE C FREQ2 : FREQUENCE HAUTE DU FILTRE C BETA : COEFFICIENT DE FORME C EPS : COEFFICIENT D AMORTISSEMENT C C CREATION : 10/12/88 C PROGRAMMEUR : VACELET C ===================================================================== C C DEFINITION DES VARIABLES UTILISEES : C GREEI : INTEGRALE DONNANT LA DERIVEE IEME DE GREEN EN 0 C GREELI : INTEGRALE DONNANT LA DERIVEE IEME DE GREEN EN L C -INC PPARAM -INC CCOPTIO -INC CCREEL DIMENSION AB(10,*) C C---- CALCUL DE QUELQUES CONSTANTES DT=CTC*DELTAT/RF DTPI=DT/XPI XI=DLL/RF DK2=XPI/(8.*XI) C C---- CALCUL DE AK1 ET AK2 OM12=(2.*XPI*RF*FREQ1/CTC)**2 OM22=(2.*XPI*RF*FREQ2/CTC)**2 SQ1=SQRT( (1.-BETA)**2*OM12**2 + 4.*BETA**2*OM12) SQ2=SQRT( (1.-BETA)**2*OM22**2 + 4.*BETA**2*OM22) AK1=SQRT( ((1.+BETA)*OM12 + SQ1)/(2.*BETA) ) AK2=SQRT( ((1.+BETA)*OM22 + SQ2)/(2.*BETA) ) C C C============================================ C BOUCLE SUR LES PAS DE TEMPS C============================================= C DO 40 L=1,LANBN T=L*DELTAT*CTC/RF C C 1- CALCUL DES FONCTIONS DE GREEN POUR X=0 C ====================================== C C CALCUL DU PAS D INTEGRATION DK0=XPI/(16.*T*AK2) NP0=INT((AK2-AK1)/DK0) C C------ INITIALISATION DE GREEI GREE0 = 0.D0 GREE2 = 0.D0 GREE4 = 0.D0 C C------ INTEGRATION SUR K C DO 10 P=0,NP0 AK=AK1+P*DK0 U=AK**2 BU=BETA+(1.+BETA)*U DU=SQRT(BU**2-4.*BETA*(U**2)) WU=SQRT((BU-DU)/2.) RU=(U-WU**2)/BETA RESU=SIN(WU*T)*EXP(-EPS*WU*T)/(WU*(1.+U/(1.+RU)**2)) GREE0 = GREE0 + DK0*RESU GREE2 = GREE2 + DK0*RESU*U GREE4 = GREE4 + DK0*RESU*U*U 10 CONTINUE C GREE0 = GREE0 GREE2 = GREE2 GREE4 = GREE4 C C 2- CALCUL DES FONCTIONS DE GREEN POUR X=L C ====================================== C C------ CALCUL DU PAS D INTEGRATION DKL ET DU NOMBRE DE PAS NPL DKL=MIN(DK0,DK2) NPL=INT((AK2-AK1)/DKL) C C------ INITIALISATION DES GREELI GREEL0 = 0.D0 GREEL1 = 0.D0 GREEL2 = 0.D0 GREEL3 = 0.D0 GREEL4 = 0.D0 C C------ BOUCLE SUR K C DO 20 P=0,NPL AK=AK1+P*DKL U=AK*AK BU=BETA+(1.+BETA)*U DU=SQRT(BU**2-4.*BETA*(U**2)) WU=SQRT((BU-DU)/2.) RU=(U-WU**2)/BETA SIEXP=SIN(WU*T)*EXP(-EPS*WU*T) RESU1=SIEXP*COS(AK*XI)/(WU*(1.+U/(1+RU)**2)) RESU2=SIEXP*SIN(AK*XI)/(WU*(1.+U/(1+RU)**2)) GREEL0 = GREEL0 + DKL*RESU1 GREEL1 = GREEL1 + DKL*RESU2*AK GREEL2 = GREEL2 + DKL*RESU1*U GREEL3 = GREEL3 + DKL*RESU2*AK*U GREEL4 = GREEL4 + DKL*RESU1*U*U 20 CONTINUE C GREEL0 = GREEL0 GREEL1 = GREEL1 GREEL2 = GREEL2 GREEL3 = GREEL3 GREEL4 = GREEL4 C C 3- CALCUL DES AB C ============= AB(1,L) = DTPI*GREE0 AB(2,L) = 0.D0 AB(3,L) = -DTPI*GREE2 AB(4,L) = 0.D0 AB(5,L) = DTPI*GREE4 AB(6,L) = DTPI*GREEL0 AB(7,L) = -DTPI*GREEL1 AB(8,L) = -DTPI*GREEL2 AB(9,L) = DTPI*GREEL3 AB(10,L) = DTPI*GREEL4 C 40 CONTINUE C RETURN C END