1 : C ELLA11 SOURCE CHAT 05/01/12 23:33:58 5004 2 : SUBROUTINE ELLA11(COOR , CORRES, GAMA , CARACT, 3 : & XCL , FLAG , NUMERO, 4 : & ZA1 , ZSM , ZXX , ZSOL , 5 : & MASS , RMAS , NMAS , 6 : & IPIVO , JPIVO , IAUX , XFRQ , 7 : & IRAILO, VALRAI, NRAIDE, 8 : & IEXPER,ALPHAI,NELEXP, NP , NP28 , NNT , 9 : & NNT14 , NFRQ , S0 , 10 : & XPI , METH , IMP) 11 : C 12 : C OPERATEUR ELFE LAPLACE ACOU 13 : C 14 : C PROGRAMME PRINCIPAL DE FORTRAN EN SORTIE DE L'INTERFACE ESOPE 15 : C 16 : C L'ALGORITHME EST LE SUIVANT : 17 : C 18 : C 19 : C - ACQUISITION DES DONNEES PAR ARGUMENTS DE ELLA11 20 : C 21 : C - REMPLISSAGE DE LA 2EME PARTIE DE ZA1 (INDEPENDANT DE W) 21 :
Warning: preg_replace(): Compilation failed: unmatched parentheses at offset 6 in C:\xampp\htdocs\cast3m_kit_local_fr_en_2014\sources.php on line 147
22 : C 23 : C - BOUCLE SUR W 24 : C | 25 : C | S = S0 + I W 26 : C | 27 : C | - BOUCLE SUR CHAQUE POUTRE 28 : C | | 28 :
Warning: preg_replace(): Compilation failed: unmatched parentheses at offset 6 in C:\xampp\htdocs\cast3m_kit_local_fr_en_2014\sources.php on line 147
29 : C | | 30 : C | | - ASSEMBLAGE DES MATRICES 31 : C | | 32 : C | | - CALCUL DU SECOND MEMBRE 33 : C | | 33 :
Warning: preg_replace(): Compilation failed: unmatched parentheses at offset 6 in C:\xampp\htdocs\cast3m_kit_local_fr_en_2014\sources.php on line 147
34 : C | 35 : C - RETURN 36 : C 37 : C PARAMETRES : 38 : C 39 : C COOR : TABLEAU DES COORDONNEES DES 2*NP NOEUDS FICTIFS 40 : C CORRES : TABLEAU D'ENTIER DES NUMEROS DES NOEUDS REELS 41 : C POUR CHAQUE NOEUD FICTIF 42 : C GAMA : TABLEAU DES VECTEUR DONNANT LE PLAN OXY POUR CHAQUE POUTRE 43 : C CARACT : TABLEAU DES CARACTERISTIQUE DES POUTRES (10 ,NP) 44 : C XCL : TABLEAU DES VALEURS DES CONDITIONS AUX LIMITES 45 : C FLAG : TABLEAU DE POINTEURS SUR XCL 46 : C NUMERO : TABLEAU DE NUMEROTATION GLOBALE <--> LOCALE 47 : C XFRQ : TABLEAU DES POINTS DE CALCUL EN FREQUENCE 48 : C 49 : C NFRQ : NOMBRE DE POINTS DE CALCUL EN FREQUENCE 50 : C NP : NOMBRE DE POUTRES 51 : C NNT : NOMBRE DE NOEUDS REELS 52 : C 53 : C SORTIES : 54 : C 55 : C ZA1 : TABLEAU COMPLEXE REPRESENTANT LA MATRICE DE "RIGIDITE" 56 : C ZSM : VECTEUR COMPLEXE SECOND MEMBRE 57 : C ZXX : VECTEUR COMPLEXE SOLUTION 58 : C 59 : C 60 : C AUTEURS : SAINT-DIZIER ET GORCY 61 : C DATE : 24 JANVIER 1991 62 : C 63 : IMPLICIT INTEGER(I-N) 64 : COMPLEX*16 ZA1,ZSM,ZXX,ZC1,ZSOL,ZI,ZS,ALPHAI 65 : REAL*8 COOR,GAMA,CARACT,XCL,XFRQ,RMAS,VALRAI, 66 : & XPI,S0,EPS 67 : INTEGER FLAG,CORRES,NUMERO,MASS,I,II,IAUX,IFRQ,IMP,INP, 68 : & IPIVO,IRAILO,J,JPIVO,K,KK,METH,NFRQ,NMAS,NNT, 69 : & NNT14,NP,NP28,NRAIDE,IEXPER,NELEXP,NUMEXP 70 : C 71 : DIMENSION ZA1(NP28,*),ZSM(*),ZXX(*),ZC1(14,28),ZSOL(NNT14,*), 72 : & ALPHAI(14,28,NP,NFRQ) 73 : DIMENSION COOR(3,*),GAMA(3,*),CARACT(10,*),XCL(17,*), 74 : & XFRQ(*),RMAS(4,*),VALRAI(6,*) 75 : DIMENSION FLAG(*),CORRES(*),NUMERO(*),MASS(4,*),IPIVO(*), 76 : & JPIVO(*),IAUX(*),IRAILO(4,*),IEXPER(*) 77 : C 78 : C 79 : C INITIALISATION 80 : C 81 : K=0 82 : KK=0 83 : C 84 : ZI = CMPLX(0.D0 , 1.D0) 85 : C 86 : C BOUCLE SUR LES FREQUENCES 87 : C 88 : DO 30 IFRQ = 1 , NFRQ 89 : C 90 : IF (IMP.NE.0) WRITE(IMP,*) 'IFREQ ',IFRQ 91 : C 92 : C REMISE A ZERO DES MATRICE POUR CHAQUE FREQUENCE 93 : C 94 : DO 58 I = 1 , 28*NP 95 : DO 59 J = 1 , 28*NP 96 : ZA1(I,J) = CMPLX(0.D0,0.D0) 97 : 59 CONTINUE 98 : ZSM(I) = CMPLX(0.D0,0.D0) 99 : 58 CONTINUE 100 : C 101 : ZS = S0 + ZI * 2.D0 * XPI * XFRQ(IFRQ) 102 : C 103 : C REMPLISSAGE DE LA 2EME PARTIE DE ZA1 (DEPENDANT DE W) 104 : C + 2EME PARTIE DU SECOND MEMBRE 105 : C 105 : CALL ELLA12(CORRES ,XCL ,FLAG,NUMERO,CARACT,COOR, 106 : & MASS , NMAS , 107 : & IRAILO , VALRAI, NRAIDE , 108 : * NP,NP28,NNT,ZA1,ZSM,ZS,XPI,IMP) 109 : C 110 : C BOUCLE SUR LES POUTRES 111 : C 112 : NUMEXP=0 113 : C 114 : DO 40 INP = 1 , NP 115 : IF (IEXPER(INP).NE.1) THEN 116 : C 117 : C CALCUL DE ZC1 MATRICE ELEMENTAIRE FORMULATION INTEGRALE 118 : C 118 : CALL ELLA21 (CARACT,INP,ZS,COOR,GAMA,ZC1,XPI) 119 : C 120 : ELSE 121 : C 122 : C LECTURE DES COEFFICIENTS POUR UN ELEMENT EXPERIMENTAL 123 : C 124 : NUMEXP=NUMEXP+1 125 : C 126 : IF (NUMEXP.GT.NELEXP) THEN 127 : RETURN 128 : END IF 129 : C 129 : CALL ELLA24(INP,IFRQ,NP,COOR,GAMA,ALPHAI,ZC1) 130 : C 131 : END IF 132 : C 133 : C ------------------------------------- ASSEMBLAGE DE ZC1 DANS ZA1 134 : C 135 : DO 41 J = 1 , 28 136 : DO 42 I = 1 , 14 137 : ZA1(14*(INP-1)+I,28*(INP-1)+J) = ZC1(I,J) 138 : 42 CONTINUE 139 : 41 CONTINUE 140 : C 141 : 40 CONTINUE 142 : C 143 : C -------------------------- PRISE EN COMPTE DES MASSES PONCTUELLES 144 : C 144 : CALL ELLA22 (CORRES,FLAG,COOR,GAMA,ZA1, 145 : & MASS,RMAS, 146 : & ZS,NP28,NMAS) 147 : C 148 : C IMPRESSION DE LA MATRICE ZA1 149 : C 150 : IF ((IMP.NE.0).AND.(IFRQ.EQ.1)) THEN 151 : C 152 : EPS = 1.D-12 153 : C 154 : WRITE(IMP,*)'IMPRESSION DE LA MATRICE ZA1 :' 155 : DO 10 I = 1 , 28*NP 156 : DO 11 J = 1 , 28 * NP 157 : IF (ABS(ZA1(I,J)).GT.EPS) THEN 158 : WRITE(IMP,1001)I,J,ZA1(I,J) 159 : END IF 160 : 11 CONTINUE 161 : 10 CONTINUE 162 : C 163 : WRITE(IMP,*)'IMPRESSION DU SECOND MEMBRE ZSM :' 164 : DO 22 I = 1 , 28*NP 165 : WRITE(IMP,*)'ZSM(',I,')',ZSM(I) 166 : 22 CONTINUE 167 : C 168 : END IF 169 : C 170 : C RESOLUTION DU SYSTEME ZA1 * ZXX = ZSM 171 : C 172 : IF (IFRQ.EQ.1) THEN 172 : CALL ELLA51(ZA1,ZSM,ZXX,NP28,IPIVO,JPIVO,IAUX) 173 : C 174 : ELSE IF (METH.EQ.1) THEN 175 : C 175 : CALL ELLA51(ZA1,ZSM,ZXX,NP28,IPIVO,JPIVO,IAUX) 176 : ELSE IF (METH.EQ.2) THEN 177 : C 177 : CALL ELLA53(ZA1,ZSM,ZXX,NP28,IPIVO,JPIVO,IAUX) 178 : END IF 179 : C 180 : DO 51 I = 1 , 2*NP 181 : KK = CORRES ( I ) 182 : C 183 : DO 52 II = 1 , NNT 184 : IF (NUMERO(II).EQ.KK) THEN 185 : K = II 186 : END IF 187 : 52 CONTINUE 188 : C 189 : DO 53 J = 1 , 14 190 : ZSOL((K-1)*14+J,IFRQ) = ZXX((I-1)*14+J) 191 : 53 CONTINUE 192 : C 193 : 51 CONTINUE 194 : C 195 : 30 CONTINUE 196 : C 197 : 1001 FORMAT('ZA1(',I3,',',I3,') =',2E12.5) 198 : C 199 : RETURN 200 : END 201 : 202 :
© Cast3M 2003 - All rights reserved.
Disclaimer