Télécharger eximod.eso

Retour à la liste

Numérotation des lignes :

eximod
  1. C EXIMOD SOURCE OF166741 24/12/18 21:15:10 12092
  2.  
  3. C----------------------------------------------------------------------
  4. C ENTREE :
  5. C ICOLAC POINTEUR SUR LE CHAPEAU DES PILES
  6. C IMODEL OBJET IMODEL A EXAMINER
  7. C IIICHA =1 POUR CHANGER LES POINTEURS
  8. C-----------------------------------------------------------------------
  9. C REMARQUE : ICOLAC EST UN SEGMENT ACTIF(*MOD) EN ENTREE ET SORTIE
  10. C PAS DE CHANGEMENT DE STATUT AU COURS DU SP
  11. C=======================================================================
  12. C TABLEAU KCOLA : VOIR LE SOUS-PROGRAMME TYPFIL
  13. C=======================================================================
  14.  
  15. SUBROUTINE EXIMOD(ICOLAC,IMODEL,IIICHA,NIVEAU)
  16.  
  17. IMPLICIT INTEGER(I-N)
  18. IMPLICIT REAL*8(A-H,O-Z)
  19.  
  20. -INC PPARAM
  21. -INC CCOPTIO
  22. C==DEB= FORMULATION HHO == INCLUDE =====================================
  23. -INC CCHHOPA
  24. C==FIN= FORMULATION HHO ================================================
  25.  
  26. -INC SMMODEL
  27.  
  28. -INC TMCOLAC
  29.  
  30. CHARACTER*(8) ITYPE
  31.  
  32. i_1 = 1
  33.  
  34. ILISSE = icolac.ILISSF
  35. c* SEGACT,ILISSE*MOD
  36. ILISSE = icolac.ILISSG
  37. c* SEGACT,ILISSE*MOD
  38.  
  39. ICO1 = icolac.KCOLA( 1)
  40. ICO10 = icolac.KCOLA(10)
  41. ICO29 = icolac.KCOLA(29)
  42. ICO40 = icolac.KCOLA(40)
  43.  
  44. SEGACT,IMODEL*MOD
  45.  
  46. IVA = imodel.IMAMOD
  47. IF (IVA.GT.0) THEN
  48. CALL AJOUN(ICO1,IVA,ILISSE,i_1)
  49. IF (IIICHA.EQ.1) imodel.IMAMOD = -IVA
  50. ENDIF
  51. IVA = imodel.IPDPGE
  52. IF (IVA.GT.0) THEN
  53. CALL AJOUN(ICO1,IVA,ILISSE,i_1)
  54. IF (IIICHA.EQ.1) imodel.IPDPGE = -IVA
  55. ENDIF
  56. NFOR = imodel.FORMOD(/2)
  57. NM3 = imodel.INFMOD(/1)
  58. C Cas 'NAVIER_STOKES' : INFMOD(2) contient une table
  59. IF (NFOR.GT.0 .AND. NM3.GT.1) THEN
  60. IF ((imodel.FORMOD(1).EQ.'NAVIER_STOKES ') .OR.
  61. & (imodel.FORMOD(1).EQ.'DARCY ') .OR.
  62. & (imodel.FORMOD(1).EQ.'EULER ')) THEN
  63. IVA = imodel.INFMOD(2)
  64. IF (IVA.GT.0) THEN
  65. CALL AJOUN(ICO10,IVA,ILISSE,i_1)
  66. IF (IIICHA.EQ.1) imodel.INFMOD(2) = -IVA
  67. ENDIF
  68. ENDIF
  69. ENDIF
  70. DO io = 3, NM3
  71. IVA = imodel.INFMOD(io)
  72. IF (IVA.GT.0) THEN
  73. IF (io.EQ.14) THEN
  74. CALL AJOUN(ICO29,IVA,ilisse,i_1)
  75. ELSE
  76. CALL AJOUN(ICO40,IVA,ilisse,i_1)
  77. ENDIF
  78. IF (IIICHA.EQ.1) imodel.INFMOD(io) = -IVA
  79. ENDIF
  80. ENDDO
  81. ntym = imodel.TYMODE(/2)
  82. DO io = 1, ntym
  83. IVA = imodel.IVAMOD(io)
  84. IF (IVA.LT.0) GOTO 17
  85. ITYPE = imodel.TYMODE(io)
  86. j = 0
  87. CALL TYPFIL(ITYPE,j)
  88. IF (j.LE.0) THEN
  89. MOTERR(1:8) = ITYPE
  90. CALL ERREUR(336)
  91. GOTO 17
  92. ELSE IF (j.EQ.32) THEN
  93. GOTO 17
  94. ENDIF
  95. icoj = icolac.KCOLA(j)
  96. NUMLIS = 1
  97. ilissd = icolac.ILISSG
  98. IF (j.EQ.24) NUMLIS = 6
  99. IF (j.EQ.25) THEN
  100. NUMLIS = 3
  101. ilissd = icolac.ILISSF
  102. ENDIF
  103. IF (j.EQ.26) NUMLIS = 2
  104. IF (j.EQ.27) NUMLIS = 5
  105. c- IF (j.EQ.32) THEN
  106. c- NUMLIS = 3
  107. c- ilissd = icolac.ILISSP
  108. c- ENDIF
  109. IF (j.EQ.36) NUMLIS = 7
  110. IF (j.EQ.45) NUMLIS = 5
  111. c*dbg if (j.eq.51 .or. j.eq.38)
  112. c*dbg & write(ioimp,*) 'eximod (51)',iel,imodel,'tymode',io,itype,j
  113. CALL AJOUN(icoj,IVA,ilissd,NUMLIS)
  114. IF (IIICHA.EQ.1) imodel.IVAMOD(io) = -IVA
  115.  
  116. 17 CONTINUE
  117. ENDDO
  118.  
  119. C==DEB= FORMULATION HHO == Sauvegarde des MAILLAGES HHO ================
  120. IF (imodel.NEFMOD .EQ. HHO_NUM_ELEMENT) THEN
  121. c-dbg CALL HHOPIL(2,i_1,i_1)
  122. CALL HHOPIL(3,ICOLAC,IIICHA)
  123. ENDIF
  124. C==FIN= FORMULATION HHO ================================================
  125.  
  126. SEGDES,IMODEL
  127.  
  128. RETURN
  129. END
  130.  
  131.  
  132.  

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