Télécharger idphas.eso

Retour à la liste

Numérotation des lignes :

idphas
  1. C IDPHAS SOURCE OF166741 26/02/23 21:15:17 12480
  2. *--------------------------------------------------------------------*
  3. * *
  4. * RECHERCHE DES NOMS DE COMPOSANTES DES VARIABLES MICROSTRUCTURES *
  5. * ________________________________________________________ *
  6. * *
  7. * ENTREES: *
  8. * *
  9. * MFR NUMERO DE LA FORMULATION *
  10. * IPMODL OBJET MODEL ELEMENTAIRE ( SEGMENT ACTIF ) *
  11. * *
  12. * SORTIES: *
  13. * *
  14. * IPNOMC POINTEUR SUR LES LISTES DE NOMS DE COMPOSANTES *
  15. * obligatoires et facultatives *
  16. * NBROBL nombre de composantes obligatoires *
  17. * NBRFAC nombre de composantes facultatives *
  18. * *
  19. * Remarque : Voir INOMID ou CCOPTIO pour signification IFOUR *
  20. *--------------------------------------------------------------------*
  21. C
  22. SUBROUTINE IDPHAS(MFR,IPMODL,IPNOMC,NBROBL,NBRFAC)
  23. C
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8 (A-H,O-Z)
  26. C
  27. -INC PPARAM
  28. -INC CCOPTIO
  29. -INC CCHAMP
  30. C
  31. -INC SMMODEL
  32. C
  33. CHARACTER*16 MOMODL(100)
  34. logical lozut
  35. C
  36. NBROBL = 0
  37. NBRFAC = 0
  38. C
  39. IMODEL=IPMODL
  40. NOMID =IMODEL.LNOMID(12)
  41. C
  42. C Ne pas recreer le NOMID si deja present
  43. IF (NOMID.NE.0) THEN
  44. NBROBL=LESOBL(/2)
  45. NBRFAC=LESFAC(/2)
  46. IPNOMC=NOMID
  47. RETURN
  48. ENDIF
  49. C
  50. MFR2=NUMFOR(IMODEL)
  51. C =================================================================
  52. C FORMULATION MELANGE
  53. C =================================================================
  54. IF (MFR2.EQ.38) THEN
  55. C
  56. IF (IMODEL.IMATEE.EQ.1) THEN
  57. C CEREM
  58. NBROBL=4
  59. NBRFAC=0
  60. SEGINI NOMID
  61. LESOBL(1)='AUST'
  62. LESOBL(2)='FERR'
  63. LESOBL(3)='BAIN'
  64. LESOBL(4)='MART'
  65. ELSEIF (IMODEL.IMATEE.EQ.2) THEN
  66. C ZTMAX
  67. NBROBL=2
  68. NBRFAC=0
  69. SEGINI NOMID
  70. LESOBL(1)='PHA1'
  71. LESOBL(2)='PHA2'
  72. ELSEIF (IMODEL.IMATEE.EQ.3.OR.IMODEL.IMATEE.EQ.4) THEN
  73. C PARALLELE ou SERIE : recupere les noms de phase
  74. NBROBL=IMODEL.IVAMOD(/1)
  75. NBRFAC=0
  76. SEGINI NOMID
  77. kc1 = 0
  78. DO IC1=1,NBROBL
  79. if (tymode(ic1).eq.'IMODEL') then
  80. imode2 = ivamod(ic1)
  81. segact imode2
  82. lozut = .false.
  83. if (kc1.ge.1) then
  84. do kkc1 = 1, kc1
  85. if (imode2.conmod(17:24).eq.LESOBL(kkc1)) then
  86. lozut = .true.
  87. C write(6,*) 'noms de phase redondants '
  88. call erreur(21)
  89. return
  90. endif
  91. enddo
  92. endif
  93. if (.not.lozut) then
  94. kc1 = kc1 + 1
  95. LESOBL(kc1) = imode2.conmod(17:24)
  96. endif
  97. endif
  98. enddo
  99. NBROBL=kc1
  100. NBRFAC=NBRFAC
  101. SEGADJ NOMID
  102. ELSEIF (IMODEL.IMATEE.EQ.6) THEN
  103. C TMM_LMT2
  104. NBROBL=5
  105. NBRFAC=0
  106. SEGINI NOMID
  107. LESOBL(1)='PHA1'
  108. LESOBL(2)='PHA2'
  109. LESOBL(3)='PHA3'
  110. LESOBL(4)='PHA4'
  111. LESOBL(5)='PHA5'
  112. ENDIF
  113. C =================================================================
  114. ENDIF
  115. C
  116. IPNOMC=NOMID
  117. END
  118.  
  119.  
  120.  

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