green1
C GREEN1 SOURCE BP208322 16/11/18 21:17:28 9177 C C C ===================================================================== C APPELE PAR GREEN C C IL EST A NOTER QUE POUR LA FLEXION , DANS LE CAS NON FILTRE , C L'AIGUILLAGE NE SE FAIT PLUS SUR GFLEX1 MAIS SUR GFLEX0. C TOUTEFOIS IL EST POSSIBLE DE FAIRE LE CALCUL AVEC GFLEX1 EN C CHANGEANT LA VALEUR DE ITEST C C C VERSION : 21/09/86 C PROGRAMMEUR : GUILBAUD C MODIFICATIONS: LIONEL VIVAN 15/02/88 C : PASCAL MANIGOT 02/03/88 C : XAVIER VACELET 09/01/89 C C ===================================================================== C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC PPARAM -INC CCOPTIO -INC CCGEOME C -INC SMCHAML -INC SMLREEL -INC SMEVOLL C SEGMENT MAB REAL*8 AB(10,LAB) ENDSEGMENT CHARACTER*12 NOMFCT(10) CHARACTER*40 CHA1 CHARACTER*40 CHA2 CHARACTER*40 CHA3 CHARACTER*57 ITEX CHARACTER *72 JTEX DATA NOMFCT/'G(X=0) ','DG/DX(X=0) ','D2G/DX2(X=0)', & 'D3G/DX3(X=0)','D4G/DX4(X=0)', & 'G(X=L) ','DG/DX(X=L) ','D2G/DX2(X=L)', & 'D3G/DX3(X=L)','D4G/DX4(X=L)'/ C ITEX=' L = C = RF = ' JTEX='FCTS DE GREEN FILTREES DE HZ A HZ' C IF (IIMPI.EQ.1) THEN WRITE(IOIMP,*) ' DEBUT DE GREEN1 ' END IF C C RECUPERATION DES CARACTERISTIQUES DYNAMIQUES DE L'ELEMENT C MCHAML=KMATER SEGACT,MCHAML MELVAL=IELVAL(1) SEGACT,MELVAL E =VELCHE(1,1) SEGDES,MELVAL MELVAL=IELVAL(2) SEGACT,MELVAL ANU=VELCHE(1,1) SEGDES,MELVAL MELVAL=IELVAL(3) SEGACT,MELVAL RHO=VELCHE(1,1) SEGDES,MELVAL SEGDES,MCHAML C MCHAML=KCARAC SEGACT,MCHAML MELVAL=IELVAL(1) SEGACT,MELVAL TORS=VELCHE(1,1) SEGDES,MELVAL MELVAL=IELVAL(2) SEGACT,MELVAL AINRY=VELCHE(1,1) SEGDES,MELVAL MELVAL=IELVAL(3) SEGACT,MELVAL AINRZ=VELCHE(1,1) SEGDES,MELVAL MELVAL=IELVAL(4) SEGACT,MELVAL SECT=VELCHE(1,1) SEGDES,MELVAL SEGDES,MCHAML C ES=E*SECT AIP=AINRY+AINRZ AMU=E/(2.D0*(1.D0+ANU)) CTC=SQRT(E/RHO) RTC=SQRT(AIP/SECT) CTO=SQRT(AMU/RHO) RTO=SQRT(TORS*2.D0*(1.D0+ANU)/SECT) RFY=SQRT(AINRY/SECT) RFZ=SQRT(AINRZ/SECT) C C CREATION DE L'OBJET EVOLUTION C EPS=1.D-3 LANBN=NINT(TEMPS/DELTAT) JG=LANBN SEGINI MLREE1 DO 10 NP=1,LANBN 10 CONTINUE SEGDES MLREE1 N=28 SEGINI MEVOLL FB=1.D0/TEMPS FH=0.1D0/DELTAT WRITE (JTEX(27:38),FMT='(1PE12.5)') FB WRITE (JTEX(45:56),FMT='(1PE12.5)') FH IEVTEX=JTEX ITYEVO='REEL' LAB=LANBN+1 SEGINI MAB C C 1 - TRACTION COMPRESSION C K=0 DO 40 I=1,4 SEGINI KEVOLL WRITE (ITEX(6:17),FMT='(1PE12.5)') DLL WRITE (ITEX(24:35),FMT='(1PE12.5)') CTC WRITE (ITEX(43:54),FMT='(1PE12.5)') RTC KEVTEX=ITEX // ' TRACTION' NUMEVX=IDCOUL NUMEVY='REEL' TYPX='LISTREEL' TYPY='LISTREEL' IPROGX=MLREE1 JG=LANBN SEGINI MLREEL IPROGY=MLREEL NOMEVX='TEMPS (S)' II=I IF (I.GE.3) II=I+3 NOMEVY=NOMFCT(II) DO 30 NP=1,LANBN 30 CONTINUE K=K+1 IF (I.EQ.3) K=15 IEVOLL(K)=KEVOLL SEGDES KEVOLL,MLREEL 40 CONTINUE C C 2 - TORSION C K=2 DO 60 I=1,4 SEGINI KEVOLL WRITE (ITEX(6:17),FMT='(1PE12.5)') DLL WRITE (ITEX(24:35),FMT='(1PE12.5)') CTO WRITE (ITEX(43:54),FMT='(1PE12.5)') RTO KEVTEX=ITEX // ' TORSION' NUMEVX=IDCOUL NUMEVY='REEL' TYPX='LISTREEL' TYPY='LISTREEL' IPROGX=MLREE1 JG=LANBN SEGINI MLREEL IPROGY=MLREEL NOMEVX='TEMPS (S)' II=I IF (I.GE.3) II=I+3 NOMEVY=NOMFCT(II) DO 50 NP=1,LANBN 50 CONTINUE K=K+1 IF (I.EQ.3) K=17 IEVOLL(K)=KEVOLL SEGDES KEVOLL,MLREEL 60 CONTINUE C C=============================== C CAS DE LA FLEXION C=============================== C 3 - FLEXION DANS LE PLAN X Y ( AUTOUR DE Z ) C C AIGUILLAGE VERS LES DIFFERENTS PROGRAMMES : C GFLEX1 , GFLEX2 , GFLEX3 , GFLEX4 , GFLEX5 C ITEST = 1 IF (CHA1(1:16).EQ. 'BERNOUILLI_EULER') THEN IF (CHA2(1:10).EQ. 'NON_FILTRE') THEN IF(ITEST.EQ.1) THEN ELSE ENDIF ELSEIF (CHA2(1:6).EQ. 'FILTRE') THEN IF (IRETOU.NE.0) THEN ELSE ENDIF ENDIF ELSEIF (CHA1(1:10).EQ. 'TIMOSHENKO') THEN IF (CHA2(1:6).EQ. 'FILTRE') THEN IF (IRETOU.NE.0) THEN ELSE ENDIF ENDIF ENDIF C K=4 DO 80 I=1,10 SEGINI KEVOLL WRITE (ITEX(6:17),FMT='(1PE12.5)') DLL WRITE (ITEX(24:35),FMT='(1PE12.5)') CTC WRITE (ITEX(43:54),FMT='(1PE12.5)') RFZ KEVTEX=ITEX // ' FLEXION XOY' TYPX='LISTREEL' TYPY='LISTREEL' NUMEVX=IDCOUL NUMEVY='REEL' IPROGX=MLREE1 JG=LANBN SEGINI MLREEL IPROGY=MLREEL NOMEVX='TEMPS (S)' NOMEVY=NOMFCT(I) DO 70 NP=1,LANBN 70 CONTINUE K=K+1 IF (I.EQ.6) K=19 IEVOLL(K)=KEVOLL SEGDES KEVOLL,MLREEL 80 CONTINUE C C 4 - FLEXION DANS LE PLAN X Z ( AUTOUR DE Y ) C DIF=ABS(1.D0-RFY/RFZ) IF (DIF.GT.EPS) THEN C C AIGUILLAGE ENTRE LES DIFFERENTS PROGRAMMES : C GFLEX1 , GFLEX2 , GFLEX3 , GFLEX4 , GFLEX5 C IF (CHA1(1:16).EQ. 'BERNOUILLI_EULER') THEN IF (CHA2(1:10).EQ. 'NON_FILTRE') THEN IF (ITEST.EQ.1) THEN ELSE ENDIF ELSEIF (CHA2(1:6).EQ. 'FILTRE') THEN IF (IRETOU.NE.0) THEN ELSE ENDIF ENDIF ELSEIF (CHA1(1:10).EQ. 'TIMOSHENKO') THEN IF (CHA2(1:6).EQ. 'FILTRE') THEN IF (IRETOU.NE.0) THEN ELSE ENDIF ENDIF ENDIF ENDIF C K=9 DO 100 I=1,10 SEGINI KEVOLL WRITE (ITEX(6:17),FMT='(1PE12.5)') DLL WRITE (ITEX(24:35),FMT='(1PE12.5)') CTC WRITE (ITEX(43:54),FMT='(1PE12.5)') RFY KEVTEX=ITEX // ' FLEXION XOZ' TYPX='LISTREEL' TYPY='LISTREEL' NUMEVX=IDCOUL NUMEVY='REEL' IPROGX=MLREE1 NOMEVX='TEMPS (S)' NOMEVY=NOMFCT(I) JG=LANBN SEGINI MLREEL IPROGY=MLREEL DO 90 NP=1,LANBN 90 CONTINUE K=K+1 IF (I.EQ.6) K=24 IEVOLL(K)=KEVOLL SEGDES KEVOLL,MLREEL 100 CONTINUE SEGDES MEVOLL KGREEN = MEVOLL IF (IIMPI.EQ.1) THEN WRITE (IOIMP,*) ' FIN DE GREEN1 ' END IF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales