Télécharger seisme.eso

Retour à la liste

Numérotation des lignes :

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

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