Télécharger ella11.eso

Retour à la liste

Numérotation des lignes :

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

© Cast3M 2003 - Tous droits réservés.
Mentions légales