Télécharger numfor.eso

Retour à la liste

Numérotation des lignes :

numfor
  1. C NUMFOR SOURCE MB234859 25/08/04 21:15:36 12339
  2. C----------------------------------------------------------------------
  3. C
  4. C Associer a chaque formulation disponible dans l'operateur MODE un
  5. C identifiant. Vient en complement du numero de formulation (NUMMFR)
  6. C
  7. C Entree
  8. C ------
  9. C IPMODL : Pointeur sur le modele elementaire (IMODEL)
  10. C
  11. C Sortie
  12. C ------
  13. C NUMFOR : Entier identifiant le modele elementaire
  14. C Vaut 0 si le modele n'est pas identifie parmi ceux
  15. C disponible
  16. C----------------------------------------------------------------------
  17. C
  18. FUNCTION NUMFOR(IPMODL)
  19. C
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22. C
  23. -INC PPARAM
  24. -INC CCOPTIO
  25. -INC CCHHOPA
  26. -INC SMMODEL
  27. C
  28. CHARACTER*16 FORFO1,FORFO2
  29. C
  30. NUMFOR=0
  31. IMODEL=IPMODL
  32. NFOR =IMODEL.FORMOD(/2)
  33. FORFO1=IMODEL.FORMOD(1)
  34. IF (NFOR.EQ.1) THEN
  35. IF (FORFO1.EQ.'MECANIQUE' ) THEN
  36. NUMFOR=2
  37. IF (IMODEL.NEFMOD.EQ.HHO_NUM_ELEMENT) THEN
  38. NUMFOR=HHO_MFR_ELEMENT
  39. ENDIF
  40. ELSE IF (FORFO1.EQ.'LIQUIDE' ) THEN
  41. NUMFOR=11
  42. ELSE IF (FORFO1.EQ.'POREUX' ) THEN
  43. NUMFOR=33
  44. ELSE IF (FORFO1.EQ.'CONTACT' ) THEN
  45. NUMFOR=4
  46. ELSE IF (FORFO1.EQ.'CONTRAINTE' ) THEN
  47. NUMFOR=6
  48. ELSE IF (FORFO1.EQ.'THERMIQUE' ) THEN
  49. NUMFOR=29
  50. ELSE IF (FORFO1.EQ.'CHANGEMENT_PHASE') THEN
  51. NUMFOR=30
  52. ELSE IF (FORFO1.EQ.'METALLURGIE' ) THEN
  53. NUMFOR=32
  54. ELSE IF (FORFO1.EQ.'DARCY' ) THEN
  55. NUMFOR=34
  56. ELSE IF (FORFO1.EQ.'MAGNETODYNAMIQUE') THEN
  57. NUMFOR=69
  58. ELSE IF (FORFO1.EQ.'NAVIER_STOKES' ) THEN
  59. NUMFOR=52
  60. ELSE IF (FORFO1.EQ.'EULER' ) THEN
  61. NUMFOR=36
  62. ELSE IF (FORFO1.EQ.'MELANGE' ) THEN
  63. NUMFOR=38
  64. ELSE IF (FORFO1.EQ.'FISSURE' ) THEN
  65. NUMFOR=40
  66. ELSE IF (FORFO1.EQ.'THERMOHYDRIQUE' ) THEN
  67. NUMFOR=65
  68. ELSE IF (FORFO1.EQ.'LIAISON' ) THEN
  69. NUMFOR=24
  70. ELSE IF (FORFO1.EQ.'DIFFUSION' ) THEN
  71. NUMFOR=73
  72. ELSE IF (FORFO1.EQ.'CHARGEMENT' ) THEN
  73. NUMFOR=72
  74. ELSE IF (FORFO1.EQ.'ELECTROSTATIQUE' ) THEN
  75. NUMFOR=71
  76. ENDIF
  77. ELSE IF (NFOR.EQ.2) THEN
  78. FORFO2=IMODEL.FORMOD(2)
  79. IF ((FORFO1.EQ.'MECANIQUE'.AND.FORFO2.EQ.'LIQUIDE' ) .OR.
  80. & (FORFO1.EQ.'LIQUIDE' .AND.FORFO2.EQ.'MECANIQUE')) THEN
  81. NUMFOR=44
  82. ENDIF
  83. ENDIF
  84. C
  85. END
  86.  
  87.  

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