Télécharger idphas.eso

Retour à la liste

Numérotation des lignes :

idphas
  1. C IDPHAS SOURCE MB234859 25/08/04 21:15:19 12339
  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. C
  26. -INC SMMODEL
  27. -INC PPARAM
  28. -INC CCOPTIO
  29. -INC CCHAMP
  30. C
  31. CHARACTER*16 MOMODL(100)
  32. logical lozut
  33. C
  34. NBROBL = 0
  35. NBRFAC = 0
  36. C
  37. IMODEL=IPMODL
  38. NOMID =IMODEL.LNOMID(12)
  39. C
  40. C Ne pas recreer le NOMID si deja present
  41. IF (NOMID.NE.0) THEN
  42. NBROBL=LESOBL(/2)
  43. NBRFAC=LESFAC(/2)
  44. IPNOMC=NOMID
  45. RETURN
  46. ENDIF
  47. C
  48. MFR2=NUMFOR(IMODEL)
  49. C =================================================================
  50. C FORMULATION MELANGE
  51. C =================================================================
  52. IF (MFR2.EQ.38) THEN
  53. C
  54. IF (IMODEL.IMATEE.EQ.1) THEN
  55. C CEREM
  56. NBROBL=4
  57. NBRFAC=0
  58. SEGINI NOMID
  59. LESOBL(1)='AUST'
  60. LESOBL(2)='FERR'
  61. LESOBL(3)='BAIN'
  62. LESOBL(4)='MART'
  63. ELSEIF (IMODEL.IMATEE.EQ.2) THEN
  64. C ZTMAX
  65. NBROBL=2
  66. NBRFAC=0
  67. SEGINI NOMID
  68. LESOBL(1)='PHA1'
  69. LESOBL(2)='PHA2'
  70. ELSEIF (IMODEL.IMATEE.EQ.3.OR.IMODEL.IMATEE.EQ.4) THEN
  71. C PARALLELE ou SERIE : recupere les noms de phase
  72. NBROBL=IMODEL.IVAMOD(/1)
  73. NBRFAC=0
  74. SEGINI NOMID
  75. kc1 = 0
  76. DO IC1=1,NBROBL
  77. if (tymode(ic1).eq.'IMODEL') then
  78. imode2 = ivamod(ic1)
  79. segact imode2
  80. lozut = .false.
  81. if (kc1.ge.1) then
  82. do kkc1 = 1, kc1
  83. if (imode2.conmod(17:24).eq.LESOBL(kkc1)) then
  84. lozut = .true.
  85. C write(6,*) 'noms de phase redondants '
  86. call erreur(21)
  87. return
  88. endif
  89. enddo
  90. endif
  91. if (.not.lozut) then
  92. kc1 = kc1 + 1
  93. LESOBL(kc1) = imode2.conmod(17:24)
  94. endif
  95. endif
  96. enddo
  97. NBROBL=kc1
  98. NBRFAC=NBRFAC
  99. SEGADJ NOMID
  100. ELSEIF (IMODEL.IMATEE.EQ.6) THEN
  101. C TMM_LMT2
  102. NBROBL=5
  103. NBRFAC=0
  104. SEGINI NOMID
  105. LESOBL(1)='PHA1'
  106. LESOBL(2)='PHA2'
  107. LESOBL(3)='PHA3'
  108. LESOBL(4)='PHA4'
  109. LESOBL(5)='PHA5'
  110. ENDIF
  111. C =================================================================
  112. ENDIF
  113. C
  114. IPNOMC=NOMID
  115. END
  116.  
  117.  

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