Télécharger xnuage.eso

Retour à la liste

Numérotation des lignes :

xnuage
  1. C XNUAGE SOURCE CHAT 05/01/13 04:14:49 5004
  2.  
  3. SUBROUTINE XNUAGE(WRK0,JC,WR11,NTABO3,NTABO4,KERRE)
  4. C
  5. C CE PROGRAMME RANGE DANS 2 TABLEAUX LES INFOS RELATIVES A UNE
  6. C COMPOSANTE DE MATERIAU DE TYPE NUAGE
  7. C IL EST UTILISE POUR LES MATR. ENDOMMAGEABLES DE LEMAITRE (26 OU 29)
  8. C
  9. C ENTREES:
  10. C -------
  11. C WRK0 = POINTEUR SUR LE SEGMENT CONTENANT LE TABLEAU XMAT DU MATR.
  12. C JC = NUMERO DE COMPOSANTE REPRESENTANT LA COURBE DE TRACTION
  13. C OU LA COURBE k(X) RESPECTIVEMENT POUR MATR. 26 OU 29
  14. C XMAT(JC) = POINTEUR SUR UN OBJET DE TYPE NUAGE REPRESENTANT :
  15. C -LA COURBE DE TRACTION EN FONCTION DE LA TEMPERATURE T
  16. C POUR MATR. 26
  17. C -LA COURBE k(X) EN FONCTION DE LA TEMPERATURE T
  18. C POUR MATR. 29 (k=PARAMETRE X=CONTR.)
  19. C NTABO3 = 0
  20. C NTABO4 = 0
  21. C
  22. C SORTIES:
  23. C -------
  24. C NTABO3 = NBR. DE COURBES
  25. C IABLO3 = TABLEAU CONTENANT POUR CHAQUE COURBE LE NBR. DE PTS. QUI LA
  26. C DEFINIT
  27. C NTABO4 = DIMENSION DU TABLEAU TABLO4
  28. C TABLO4 = TABLEAU CONTENANT :
  29. C T1 EPS11 SIG11 EPS12 SIG12 ... T2 EPS21 SIG21 EPS22 SIG22 ...
  30. C T3 .... POUR MATR. 26
  31. C T1 X11 k11 X12 k12 ... T2 X21 k21 X22 k22 ... T3 ...
  32. C POUR MATR. 29
  33. C
  34. IMPLICIT INTEGER(I-N)
  35. IMPLICIT REAL*8(A-H,O-Z)
  36.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. -INC SMNUAGE
  40. -INC SMEVOLL
  41. -INC SMLREEL
  42. SEGMENT WRK0
  43. REAL*8 XMAT(NCXMAT)
  44. ENDSEGMENT
  45. *
  46. SEGMENT WR11
  47. INTEGER IABLO3(NTABO3)
  48. REAL*8 TABLO4(NTABO4)
  49. ENDSEGMENT
  50. *
  51. KERRE=0
  52. MNUAGE=XMAT(JC)
  53. SEGACT MNUAGE
  54. IF(MNUAGE.EQ.0) THEN
  55. MOTERR(1:8)='NUAGE '
  56. CALL ERREUR(37)
  57. KERRE=37
  58. RETURN
  59. ENDIF
  60. NVAR=NUANOM(/2)
  61. IF(NVAR.LE.1) THEN
  62. SEGDES MNUAGE
  63. INTERR(1)=MNUAGE
  64. INTERR(2)=2
  65. INTERR(3)=2
  66. CALL ERREUR(628)
  67. KERRE=628
  68. RETURN
  69. ENDIF
  70. DO 203 IA=1,NVAR
  71. IF (NUATYP(IA).EQ.'FLOTTANT') GOTO 204
  72. 203 CONTINUE
  73. SEGDES MNUAGE
  74. INTERR(1)=MNUAGE
  75. MOTERR(1:8)='FLOTTANT'
  76. CALL ERREUR(629)
  77. KERRE=629
  78. RETURN
  79. 204 CONTINUE
  80. DO 205 IB=1,NVAR
  81. IF (NUATYP(IB).EQ.'EVOLUTIO') GOTO 206
  82. 205 CONTINUE
  83. SEGDES MNUAGE
  84. INTERR(1)=MNUAGE
  85. MOTERR(1:8)='EVOLUTIO'
  86. CALL ERREUR(629)
  87. KERRE=629
  88. RETURN
  89. 206 CONTINUE
  90. NUAVFL=NUAPOI(IA)
  91. NUAVIN=NUAPOI(IB)
  92. SEGACT NUAVFL
  93. SEGACT NUAVIN
  94. NBC1=NUAFLO(/1)
  95. NBC2=NUAINT(/1)
  96. IF (NBC1.NE.NBC2) THEN
  97. SEGDES MNUAGE,NUAVFL,NUAVIN
  98. CALL ERREUR(625)
  99. KERRE=625
  100. RETURN
  101. ENDIF
  102. IF (NBC1.LE.1) THEN
  103. SEGDES MNUAGE,NUAVFL,NUAVIN
  104. INTERR(1)=MNUAGE
  105. INTERR(2)=2
  106. INTERR(3)=2
  107. CALL ERREUR(628)
  108. KERRE=628
  109. RETURN
  110. ENDIF
  111. NTABO3=NBC1
  112. J0=1
  113. NTABO4=J0
  114. SEGADJ WR11
  115. DO 301 I=1,NBC1
  116. MEVOLL=NUAINT(I)
  117. IF(MEVOLL.EQ.0) THEN
  118. MOTERR(1:8)='EVOLUTIO'
  119. CALL ERREUR(37)
  120. KERRE=37
  121. RETURN
  122. ENDIF
  123. SEGACT MEVOLL
  124. KEVOLL=IEVOLL(1)
  125. SEGACT KEVOLL
  126. MLREEL=IPROGX
  127. MLREE1=IPROGY
  128. SEGDES KEVOLL
  129. SEGACT MLREEL,MLREE1
  130. NBPOIX=PROG(/1)
  131. IABLO3(I)=NBPOIX
  132. TABLO4(J0)=NUAFLO(I)
  133. DO 298 J=1,NBPOIX
  134. NTABO4=J0+(2*J)
  135. SEGADJ WR11
  136. TABLO4(J0+(2*J-1))=PROG(J)
  137. TABLO4(J0+2*J)=MLREE1.PROG(J)
  138. 298 CONTINUE
  139. IF (I.LT.NBC1) THEN
  140. J0=J0+1+(2*NBPOIX)
  141. NTABO4=J0
  142. SEGADJ WR11
  143. ENDIF
  144. SEGDES MLREEL,MLREE1
  145. SEGDES MEVOLL
  146. 301 CONTINUE
  147. SEGDES NUAVFL
  148. SEGDES NUAVIN
  149. SEGDES MNUAGE
  150. RETURN
  151. END
  152.  
  153.  

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