Télécharger vraco1.eso

Retour à la liste

Numérotation des lignes :

vraco1
  1. C VRACO1 SOURCE PV 09/03/12 21:36:59 6325
  2. SUBROUTINE VRACO1(IPGEOM,IPLIQU,IMELVA)
  3. C=======================================================================
  4. C
  5. C POUR LES ELEMENTS DE RACCORD FLUIDE STRUCTURE
  6. C CONSTRUIT UN SEGMENT DE TYPE MPTVAL CONTENANT ,
  7. C POUR CHAQUE ELEMENT DE RACCORD , LES VALEURS D UN
  8. C VECTEUR DIRIGE VERS L EXTERIEUR DU FLUIDE
  9. C
  10. C JACQUELINE BROCHARD DECEMBRE 85
  11. C P DOWLATYARI ADAPTATION AUX NOUVEAUX CHAMELEMS FEV.92
  12. C=======================================================================
  13. C ENTREES
  14. C IPGEOM = POINTEUR SUR LE MELEME DES ELTS DE RACCORD
  15. C IPLIQU = POINTEUR SUR LE MELEME DES ELTS LIQUIDE
  16. C IDIM = IDIM DE CCOPTIO
  17. C=======================================================================
  18. C SORTIES
  19. C IMELVA = POINTEUR SUR LE SEGMENT MPTVAL
  20. C=======================================================================
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8 (A-H,O-Z)
  23. -INC SMCOORD
  24. -INC SMELEME
  25.  
  26. -INC PPARAM
  27. -INC CCOPTIO
  28. -INC SMCHAML
  29. SEGMENT MPTVAL
  30. INTEGER IPOS(NS),NSOF(NS)
  31. INTEGER IVAL(NCOSOU)
  32. CHARACTER*16 TYVAL(NCOSOU)
  33. ENDSEGMENT
  34. DIMENSION XE(3,2)
  35. MELEME=IPGEOM
  36. SEGACT MELEME
  37. NELRAC=NUM(/2)
  38. NOERAC=(NUM(/1))/2
  39. IPT1=IPLIQU
  40. SEGACT IPT1
  41. IPT2=IPT1
  42. SEGACT MCOORD
  43. C
  44. C INITIALISATION DU SEGMENT MELVAL
  45. C
  46. NS=1
  47. NCOSOU=IDIM
  48. SEGINI MPTVAL
  49. IMELVA=MPTVAL
  50. N1PTEL=1
  51. N1EL=NELRAC
  52. N2PTEL=0
  53. N2EL=0
  54. DO 10 IC=1,IDIM
  55. TYVAL(IC)='REAL*8'
  56. SEGINI MELVAL
  57. IVAL(IC)=MELVAL
  58. 10 CONTINUE
  59. C
  60. C BOUCLE SUR LES ELEMENTS DE RACCORD
  61. C
  62. DO 1000 JA=1,NELRAC
  63. DO 1500 JSOUS=1,MAX(1,IPT1.LISOUS(/1))
  64. IF(IPT1.LISOUS(/1).NE.0) THEN
  65. IPT2=IPT1.LISOUS(JSOUS)
  66. SEGACT IPT2
  67. ENDIF
  68. NELLIQ=IPT2.NUM(/2)
  69. NOELIQ=IPT2.NUM(/1)
  70. DO 100 IC=1,NELLIQ
  71. JNE=0
  72. DO 110 ID=1,NOELIQ
  73. NOE=IPT2.NUM(ID,IC)
  74. DO 120 IB=1,NOERAC*2
  75. IF(NOE.EQ.NUM(IB,JA)) JNE=JNE+1
  76. 120 CONTINUE
  77. 110 CONTINUE
  78. IF(JNE.EQ.NOERAC) GOTO 200
  79. 100 CONTINUE
  80. IF(IPT1.LISOUS(/1).NE.0) SEGDES IPT2
  81. 1500 CONTINUE
  82. C
  83. C ERREUR ON NE TROUVE PAS D ELEMENT LIQUIDE
  84. C CONTENANT LES PREMIERS NOEUDS DE L ELT DE RACCORD
  85. C
  86. CALL ERREUR(258)
  87. DO 20 IC=1,IDIM
  88. MELVAL=IVAL(IC)
  89. SEGSUP MELVAL
  90. 20 CONTINUE
  91. SEGSUP MPTVAL
  92. GOTO 666
  93. 200 CONTINUE
  94. C
  95. C ON CONSTRUIT UN VECTEUR DIRIGE VERS L EXTERIEUR DU FLUIDE
  96. C
  97. DO 210 ID=1,NOELIQ
  98. NOE=IPT2.NUM(ID,IC)
  99. DO 220 IB=1,NOERAC*2
  100. IF(NOE.EQ.NUM(IB,JA)) GOTO 210
  101. 220 CONTINUE
  102. GOTO 230
  103. 210 CONTINUE
  104. 230 CONTINUE
  105. iru= mod((ib+4),8)
  106. DO 300 I=1,IDIM
  107. XE(I,1)=XCOOR((NUM(iru,JA)-1)*(IDIM+1)+I)
  108. XE(I,2)=XCOOR((NOE-1)*(IDIM+1)+I)
  109. MELVAL=IVAL(I)
  110. VELCHE(1,JA)=XE(I,1)-XE(I,2)
  111. 300 CONTINUE
  112. 1000 CONTINUE
  113. DO 30 IC=1,IDIM
  114. MELVAL=IVAL(IC)
  115. SEGDES MELVAL
  116. 30 CONTINUE
  117. SEGDES MPTVAL
  118. IF(IPT1.LISOUS(/1).NE.0) SEGDES IPT2
  119. 666 CONTINUE
  120. SEGDES IPT1
  121. SEGDES MELEME
  122. 777 CONTINUE
  123. RETURN
  124. END
  125.  
  126.  
  127.  
  128.  
  129.  

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