Télécharger seisme.eso

Retour à la liste

Numérotation des lignes :

seisme
  1. C SEISME SOURCE CB215821 25/04/23 21:15:45 12247
  2. SUBROUTINE SEISME
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C**************************************************************
  6. C SOUS PROGRAMME ASSOCIE A L OPERATEUR SEISME
  7. C
  8. C 26/06/86 AUTEUR D. BROCHARD (VIBR) TEL 6994
  9. C
  10. C
  11. C CREATION D UN OBJET CHARGEMENT A PARTIR D UN OBJET
  12. C EVOLUTION, D UN OBJET BASE MODALE,D UN OBJET FLOTTANT,
  13. C D UN MOT.
  14. C
  15. C SYNTAXE
  16. C _______
  17. C
  18. C CHARG = SEISME EVOL | BASEM | COEF MOT
  19. C | TBAS |
  20. C
  21. C REMARQUE
  22. C --------
  23. C
  24. C AU 26/06/86 CET OPERATEUR NE FONCTIONNE QUE POUR LES
  25. C BASES MODALES.IL GENERE UN CHAMP-POINT QUI REPRESENTE LA
  26. C REPARTITION SPATIALE (SUR LES ALFA) DU CHARGEMENT SISMIQUE.
  27. C CE CHAMP MULPIPLIE PAR LA FONCTION DE TEMPS DONNE LES FORCES
  28. C GENERALISEES.
  29. C
  30. C*******************************************************************
  31. C
  32.  
  33. -INC PPARAM
  34. -INC CCOPTIO
  35. -INC SMEVOLL
  36. -INC SMBASEM
  37. -INC SMCHPOI
  38. -INC SMCOORD
  39. -INC SMCHARG
  40. -INC SMSOLUT
  41. C
  42. LOGICAL BASMUL,L0,L1
  43. PARAMETER (LNOM=3)
  44. CHARACTER*4 NOM(LNOM)
  45. CHARACTER*8 CTYP,TYPRET,CHARRE
  46. DATA NOM/'UX ','UY ','UZ '/
  47. BASMUL = .FALSE.
  48. C
  49. C LECTURE DONNEES
  50. C
  51. CALL LIROBJ('EVOLUTIO',MEVOLL,1,IRETOU)
  52. CALL LIRREE(DFLOT,1,IRETOU)
  53. COEF=DFLOT
  54. CALL LIRMOT(NOM,LNOM,IMOT,1)
  55. IF (IERR.NE.0) RETURN
  56. C
  57. C CALCUL DE LA POSITION DU QN (DEPLACEMENT GENERALISE
  58. C
  59. IF (IMOT.EQ.1) THEN
  60. IPLAC=3
  61. ELSE IF (IMOT.EQ.2) THEN
  62. IPLAC=4
  63. ELSE
  64. IPLAC=5
  65. ENDIF
  66. IPLA2 = IPLAC - 2
  67. *
  68. CALL QUETYP(CTYP,1,IRETOU)
  69. *
  70. IF (CTYP(1:8).EQ.'TABLE ') THEN
  71. CALL LIRTAB('BASE_MODALE',ITBAS,0,IRET)
  72. IF (IRET.EQ.0) THEN
  73. CALL LIRTAB('ENSEMBLE_DE_BASES',ITBAS,1,IRET)
  74. BASMUL = .TRUE.
  75. ENDIF
  76. IF (IERR.NE.0) RETURN
  77. IF ( BASMUL ) THEN
  78. IB = 0
  79. 10 CONTINUE
  80. IB = IB + 1
  81. TYPRET = ' '
  82. CALL ACCTAB(ITBAS,'ENTIER',IB,X0,' ',L0,IP0,
  83. & TYPRET,I1,X1,CHARRE,L1,ITTBAS)
  84. IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN
  85. CALL ACCTAB(ITTBAS,'MOT',I0,X0,'MODES',L0,IP0,
  86. & 'TABLE',I1,X1,' ',L1,IBAS)
  87. CALL SEISM2(IBAS,IPLA2,ICHP2)
  88. IF (IERR.NE.0) RETURN
  89. IF (IB.EQ.1) THEN
  90. ICHPT = ICHP2
  91. ELSE
  92. CALL ADCHPO(ICHPT,ICHP2,ICHP3,1D0,1D0)
  93. CALL DECHPO(ICHPT)
  94. CALL DECHPO(ICHP2)
  95. IF (IERR.NE.0) RETURN
  96. ICHPT = ICHP3
  97. ENDIF
  98. GOTO 10
  99. ENDIF
  100. ELSE
  101. CALL ACCTAB(ITBAS,'MOT',I0,X0,'MODES',L0,IP0,
  102. & 'TABLE',I1,X1,' ',L1,IBAS)
  103. CALL SEISM2(IBAS,IPLA2,ICHPT)
  104. IF (IERR.NE.0) RETURN
  105. ENDIF
  106. GOTO 2000
  107. ENDIF
  108. *+*+*+*+*+*+*+*+*+*+*+*+*+*+*+**+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  109. * version appel{e @ disparaitre
  110. *+*+*+*+*+*+*+*+*+*+*+*+*+*+*+**+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  111. CALL LIROBJ('BASEMODA',MBASEM,1,IRETOU)
  112. C
  113. C LECTURE DE LA BASE MODALE ET CREATION D UN CHPO DE
  114. C COMPOSANTE QN SUR FALF ASSOCIE AU MELEME DE LA BASE MODALE
  115. C
  116. SEGACT MBASEM
  117. NBAS=LISBAS(/1)
  118. NSOUPO=NBAS
  119. C
  120. NAT=1
  121. SEGINI MCHPOI
  122. C si c'est un chargement il s'agit du second membre de nature discr
  123. JATTRI(1) = 2
  124. ICHPT = MCHPOI
  125. IFOPOI=IFOUR
  126. C
  127. DO 201 NN=1,NBAS
  128. NC=1
  129. C
  130. SEGINI MSOUPO
  131. MSOBAS=LISBAS(NN)
  132. C
  133. SEGACT MSOBAS
  134. MSOLUT=IBSTRM(2)
  135. C
  136. SEGACT MSOLUT
  137. MELEME=MSOLIS(3)
  138. MSOLEN=MSOLIS(4)
  139. C
  140. SEGACT MSOLEN
  141. NBMOD=ISOLEN(/1)
  142. C
  143. N=NBMOD
  144. SEGINI MPOVAL
  145. C
  146. DO 202 NMOD=1,NBMOD
  147. MMODE=ISOLEN(NMOD)
  148. C
  149. SEGACT MMODE
  150. *
  151. * COEF EST MULTIPLIE A ICHAFO
  152. * POUR POUVOIR RECONNAITRE LE QI DE CE CHARGEMENT
  153. * LORS DE LA RECOMBINAISON DES PSEUDO-MODES.
  154. *
  155. QI = -1.D0 * FMMODD(IPLAC)
  156. VPOCHA(NMOD,1)=QI
  157. SEGDES MMODE
  158. 202 CONTINUE
  159. C
  160. SEGDES MPOVAL
  161. IPOVAL=MPOVAL
  162. NOHARM(1)=NIFOUR
  163. NOCOMP(1)='FALF'
  164. IGEOC=MELEME
  165. SEGDES MSOUPO
  166. C
  167. IPCHP(NN)=MSOUPO
  168. SEGDES MSOBAS,MSOLUT,MSOLEN
  169. 201 CONTINUE
  170. C
  171. SEGDES MBASEM
  172. C
  173. SEGDES MCHPOI
  174. *+*+*+*+*+*+*+*+*+*+*+*+*+*+*+**+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  175. 2000 CONTINUE
  176. C
  177. C CREATION DU CHARG. EN ASSOCIANT AU CHPO LA FONCTION DE TEMPS
  178. C L OBJET EVOLUTION
  179. C
  180. N=1
  181. SEGINI MCHARG
  182. SEGINI ICHARG
  183. SEGACT MEVOLL
  184. KEVOLL=IEVOLL(1)
  185. SEGACT KEVOLL
  186. CHANAT(1)='FORCE'
  187. CHANOM(1) = ' 1'
  188. CHAMOB(1)='STAT'
  189. CHALIE(1)='LIE '
  190. CHATYP = 'CHPOINT '
  191. ICHPO1=ICHPT
  192. ICHPO2=IPROGX
  193. IPPP = IPROGY
  194. CALL MUFLIR(IPPP,COEF,IPY,1)
  195. ICHPO3=IPY
  196. c ICHPO4, ICHPO5, ICHPO6 et ICHPO7 ne sont pas initialises
  197. SEGDES KEVOLL,MEVOLL
  198. SEGDES ICHARG
  199. KCHARG(1)=ICHARG
  200. SEGDES MCHARG
  201. C
  202. CALL ECROBJ('CHARGEME',MCHARG)
  203. C
  204. END
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  

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