Télécharger elfgr0.eso

Retour à la liste

Numérotation des lignes :

elfgr0
  1. C ELFGR0 SOURCE CHAT 05/01/12 23:31:56 5004
  2. SUBROUTINE ELFGR0(KGREEN,DELTAT,NPAS, KGREE2)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * E L F G R 0
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * TRANSFORMER LES FONCTIONS DE GREEN ET DERIVEES EN INTEGRALES SUR
  14. * LES PAS DE TEMPS DE CALCUL.
  15. *
  16. * MODULES UTILISES:
  17. * -----------------
  18. *
  19.  
  20. -INC PPARAM
  21. -INC CCOPTIO
  22. -INC SMEVOLL
  23. -INC SMLREEL
  24. *
  25. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  26. * -----------
  27. *
  28. * KGREEN (E) OBJET "EVOLUTION" CONTENANT LES FONCTIONS DE GREEN.
  29. * DELTAT (E) PAS DE TEMPS DU CALCUL.
  30. * NPAS (E) NOMBRE DE PAS DE CALCUL.
  31. * KGREE2 (S) OBJET "EVOLUTION" CONTENANT LES INTEGRALES DES
  32. * FONCTIONS DE GREEN.
  33. *
  34. REAL*8 DELTAT
  35. *
  36. * VARIABLES:
  37. * ----------
  38. *
  39. CHARACTER*72 ITEX
  40. LOGICAL TRACTI,TORSIO
  41. *
  42. * AUTEUR, DATE DE CREATION:
  43. * -------------------------
  44. *
  45. * PASCAL MANIGOT 29 MARS 1988
  46. *
  47. * LANGAGE:
  48. * --------
  49. *
  50. * ESOPE + FORTRAN77
  51. *
  52. ************************************************************************
  53. *
  54. MEVOL1 = KGREEN
  55. SEGACT MEVOL1
  56. NBEL = MEVOL1.IEVOLL(/1)
  57. IF (MOD(NBEL,28).NE.0) THEN
  58. * IL MANQUE DES FONCTIONS DE GREEN
  59. CALL ERREUR(388)
  60. SEGDES MEVOL1
  61. RETURN
  62. END IF
  63. *
  64. ITEX = MEVOL1.IEVTEX
  65. IND = INDEX(ITEX,'VERSION')
  66. IF (IND .NE. 0) THEN
  67. READ (ITEX(IND+7:IND+7),'(I1)') IVERS
  68. END IF
  69. *
  70. IF (IND.EQ.0 .OR. IVERS.EQ.1) THEN
  71. KGREE2 = KGREEN
  72. * INUTILE DE DESACTIVER: CA VA RESSERVIR BIENTOT.
  73. RETURN
  74. END IF
  75. *
  76. * ON DEPASSE LE TEMPS MINIMUM NECESSAIRE POUR PALIER A
  77. * DES ERREURS D'ARRONDI SUR DES CUMULS DE PAS DE TEMPS
  78. TMAX = (NPAS + 1) * DELTAT
  79. *
  80. * CALCUL DES FONCTIONS INTEGRALES:
  81. TINI = 0.D0
  82. CALL SOMME1 (KGREEN,TINI,TMAX,DELTAT, KGREE2)
  83. IF (IERR .NE. 0) RETURN
  84. *
  85. MEVOLL = KGREE2
  86. SEGACT,MEVOLL,MEVOL1
  87. NBEL = NBEL/28 - 1
  88. *
  89. *
  90. * BOUCLAGE SUR LES DIFFERENTS TYPES DE POUTRES:
  91. DO 200 NB=0,NBEL
  92. *
  93. DO 280 J=1,28
  94. TRACTI = J.EQ.1.OR.J.EQ.2.OR.J.EQ.15.OR.J.EQ.16
  95. TORSIO = J.EQ.3.OR.J.EQ.4.OR.J.EQ.17.OR.J.EQ.18
  96. *
  97. KEVOLL = IEVOLL(NB*28+J)
  98. SEGACT KEVOLL
  99. *
  100. IF (TRACTI.OR.TORSIO) THEN
  101. *
  102. ITEX = KEVTEX
  103. READ (ITEX(24:35),FMT='(1PE12.5)') CT
  104. READ (ITEX(43:54),FMT='(1PE12.5)') RT
  105. CSR = CT / RT
  106. CSR1 = - CSR
  107. MLREEL = IPROGY
  108. SEGACT MLREEL
  109. NBINTG = PROG(/1)
  110. *
  111. IF ((J/2)*2 .NE. J) THEN
  112. * INTEGRALE DE "G"
  113. CALL MULVE1 (CSR,PROG,NBINTG)
  114. IF (IIMPI .EQ. 1806) THEN
  115. IF (TRACTI) THEN
  116. WRITE (IOIMP,*) 'INTEGRALE DE G'
  117. WRITE (IOIMP,*) (PROG(NP),NP=1,NBINTG)
  118. END IF
  119. END IF
  120. ELSE
  121. * INTEGRALE DE "DG/DX"
  122. CALL MULVE1 (CSR1,PROG,NBINTG)
  123. IF (IIMPI .EQ. 1806) THEN
  124. IF (TRACTI) THEN
  125. WRITE (IOIMP,*) 'INTEGRALE DE DG/DX'
  126. WRITE (IOIMP,*) (PROG(NP),NP=1,NBINTG)
  127. END IF
  128. END IF
  129. END IF
  130. *
  131. SEGDES,MLREEL
  132. *
  133. ELSE
  134. * FLEXION
  135. *
  136. *+* READ (ITEX(43:54),FMT='(1PE12.5)') RFZ
  137. *
  138. * EN FLEXION, LA VERSION 2 N'EXISTE PAS ENCORE. LES
  139. * INTEGRALES CALCULEES SONT BIDON ET LES BONNES SONT DANS
  140. * LE "KEVOLL" ORIGINEL:
  141. *
  142. KEVOL1 = MEVOL1.IEVOLL(NB*28+J)
  143. SEGACT,KEVOL1
  144. MLREE1 = KEVOL1.IPROGY
  145. SEGINI,MLREEL=MLREE1
  146. IPROGY = MLREEL
  147. SEGDES,MLREEL
  148. SEGDES,KEVOL1
  149. *
  150. END IF
  151. *
  152. SEGDES,KEVOLL
  153. *
  154. 280 CONTINUE
  155. * END DO
  156. *
  157. 200 CONTINUE
  158. * END DO
  159. *
  160. SEGDES,MEVOLL,MEVOL1
  161. *
  162. END
  163.  
  164.  

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