Télécharger evtemp.eso

Retour à la liste

Numérotation des lignes :

evtemp
  1. C EVTEMP SOURCE CB215821 22/08/22 21:15:02 11429
  2. SUBROUTINE EVTEMP(LCOUL)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. * NOM : EVRESU
  7. * DESCRIPTION : Evolution temporelle d'un resultat de calcul pour un
  8. * ensemble de noeuds et un ensemble d'instants donnes
  9. ************************************************************************
  10. * APPELE PAR : evol.eso
  11. ************************************************************************
  12. * SYNTAXE (GIBIANE) :
  13. *
  14. * EVOL1 = EVOL (|COUL1 |) 'TEMP' |LCHP1 LREE1| (LIPDT1) --------+
  15. * |LCOUL1| |TAB1 (MOT1)| |
  16. * |
  17. * +--------------------------+
  18. * |
  19. * +---> |COMP1 | |POIN1 | ;
  20. * |LCOMP1 | |MAIL1 |
  21. * |N1 N2 N3|
  22.  
  23. ************************************************************************
  24.  
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. -INC SMELEME
  28. -INC SMTABLE
  29. -INC SMLENTI
  30. -INC SMLMOTS
  31. *
  32. POINTEUR LCOMP.MLMOTS
  33. POINTEUR LCOUL.MLENTI
  34. CHARACTER*(LOCOMP) MOCMP1
  35. CHARACTER*8 CHA8,CHB8
  36. CHARACTER*32 CH32
  37. CHARACTER*72 CH72
  38. LOGICAL ZLOGI
  39. *
  40. *
  41. * SI ON EST DANS LE CAS D'UNE VARIABLE DE TYPE MCHAML DANS UNE TABLE
  42. * PASAPAS => BRANCHEMENT VERS EVTEM1 (ANCIENNE SUBROUTINE EVTEMP
  43. * REBAPTISEE DEPUIS)
  44. LCH32=0
  45. CALL LIROBJ('TABLE',ITAB1,0,IRETOU)
  46. IF (IRETOU.EQ.0) GOTO 1
  47. CHA8=' '
  48. CALL ACCTAB(ITAB1,'MOT',0,0.D0,'SOUSTYPE',.TRUE.,0,
  49. & CHA8,IVAL,XVAL,CHB8,ZLOGI,ITAB2)
  50. IF (CHA8.NE.'MOT') THEN
  51. MOTERR(1:8)='TABLE'
  52. CALL ERREUR(302)
  53. RETURN
  54. ENDIF
  55. IF (CHB8.NE.'PASAPAS') GOTO 1
  56. CALL LIRCHA(CH32,0,LCH32)
  57. IF (LCH32.EQ.0) GOTO 1
  58. CHA8=' '
  59. CALL ACCTAB(ITAB1,'MOT',0,0.D0,CH32(1:LCH32),.TRUE.,0,
  60. & 'TABLE',IVAL,XVAL,CHB8,ZLOGI,ITAB2)
  61. IF (IERR.NE.0) RETURN
  62. MTABLE=ITAB2
  63. SEGACT,MTABLE
  64. IF (MTABTV(1).NE.'MCHAML') GOTO 1
  65. * => APPEL A EVTEM1
  66. ICOUL=LCOUL.LECT(1)
  67. CALL ECRCHA(CH32)
  68. CALL ECROBJ('TABLE',ITAB1)
  69. CALL EVTEM1(ICOUL)
  70. RETURN
  71. *
  72. *
  73. 1 CONTINUE
  74. IF (LCH32.GT.0) CALL ECRCHA(CH32)
  75. IF (IRETOU.NE.0) CALL ECROBJ('TABLE',ITAB1)
  76. *
  77. *
  78. *
  79. *
  80. * +---------------------------------------------------------------+
  81. * | |
  82. * | L E C T U R E D E S A R G U M E N T S |
  83. * | |
  84. * +---------------------------------------------------------------+
  85. *
  86. *
  87. * ===============
  88. * SIGNAL D'ENTREE
  89. * ===============
  90. *
  91. ITYP=0
  92. CALL LIRRES(ILCHP1,1,ITYP,CH32,NCH,1,ILREE1)
  93. IF (IERR.NE.0) RETURN
  94. *
  95. *
  96. * =====================
  97. * LISTE DES COMPOSANTES
  98. * =====================
  99. *
  100. LCOMP=0
  101. CALL LIROBJ('LISTMOTS',LCOMP,0,ILCOMP)
  102. IF (ILCOMP.EQ.0) THEN
  103. CALL LIRCHA(MOCMP1,0,LCH4)
  104. IF (LCH4.GT.0) THEN
  105. JGN=LOCOMP
  106. JGM=1
  107. SEGINI,LCOMP
  108. LCOMP.MOTS(1)=MOCMP1
  109. ENDIF
  110. ENDIF
  111. *
  112. *
  113. * =========
  114. * GEOMETRIE
  115. * =========
  116. *
  117. * OBJET DE TYPE POINT
  118. CALL LIROBJ('POINT',IPO1,0,IRET)
  119. IF (IRET.NE.0) THEN
  120. NBNN=1
  121. NBELEM=1
  122. NBSOUS=0
  123. NBREF=0
  124. SEGINI,MELEME
  125. ITYPEL=1
  126. NUM(1,1)=IPO1
  127. IMA1=MELEME
  128. ELSE
  129. *
  130. * OBJET DE TYPE MAILLAGE
  131. CALL LIROBJ('MAILLAGE',IMA1,0,IRET)
  132.  
  133. * OBJET DE TYPE INCOMPATIBLE
  134. IF (IRET.EQ.0) THEN
  135. MOTERR(1:40)='POINT MAILLAGE'
  136. CALL ERREUR(471)
  137. RETURN
  138. ENDIF
  139. *
  140. ENDIF
  141. *
  142. *
  143. * +---------------------------------------------------------------+
  144. * | |
  145. * | C O N S T R U C T I O N D E L ' E V O L U T I O N |
  146. * | |
  147. * +---------------------------------------------------------------+
  148. *
  149. *
  150. CH72=' '
  151. CALL CREVLC(ILREE1,ILCHP1,IMA1,LCOMP,LCOUL,CH72,IEVOL1)
  152. IF (IERR.NE.0) RETURN
  153. *
  154. IF (ILCOMP.EQ.0.AND.LCOMP.GT.0) SEGSUP,LCOMP
  155. *
  156. CALL ACTOBJ('EVOLUTIO',IEVOL1,1)
  157. CALL ECROBJ('EVOLUTIO',IEVOL1)
  158. *
  159. RETURN
  160. *
  161. END
  162. *
  163. *
  164.  
  165.  

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