Télécharger coefdi.eso

Retour à la liste

Numérotation des lignes :

  1. C COEFDI SOURCE PV 09/03/12 21:17:19 6325
  2. SUBROUTINE COEFDI(NDIM,ITY1,ITYG,NOEL1,NOUN,DIAM,UELEM
  3. $ ,IEL1,IZCENT,MELVA1,MELVA2,MELVA3,DIFL,DIFT,UREEL,IZSH)
  4. *************************************************************************
  5. *** SP 'COEFDI' : calcule les coefficients de dispersion dans element à
  6. *** partir des coeff intrinseque et de la vitesse au centre de l'element
  7. ***
  8. *** APPELES 1 = aucun
  9. *** APPELES 2 = 'REEREF', 'VITAPP'
  10. ***
  11. *** E= 'NDIM' dimension de l'espace
  12. *** 'ITY1' entier caracterisant le type de l'element
  13. *** 'ITYG' entier caracterisant la geometrie de l'element
  14. *** 'NOEL1' nombre de noeuds de l'element considere
  15. *** 'NOUN' nombre de flux consideres
  16. *** 'DIAM' "longueur caracteristique" de l'element
  17. *** 'UELEM' valeurs des flux aux faces
  18. *** 'IEL1' n° local de l'element centre (= n° global dans maillage)
  19. *** 'IZCENT' pteur sur la table "DOMAINE.CENTRE"
  20. *** 'MELVA1' segment content coeffs disper intrinseques longitudinaux
  21. *** 'MELVA2' segment content coeffs disper intrinseques transversaux
  22. *** 'MELVA3' segment content coeffs diff moleculaire
  23.  
  24. *** S = 'DIFL' coefficient dispersion longitudinal ds element 'IEL1'
  25. *** 'DIFT' coefficient dispersion transversal ds element 'IEL1'
  26. *** 'UREEL' vitesse dans element reel au pt centre
  27. ***
  28. *** E/S = IZSH' segment content pour l'elemt considere et au pt depart :
  29. *** 'XYZL' coordonnees reelles des noeuds (E)
  30. *** 'SHP' fonctions de forme et derivees (S)
  31. *** 'SHY' fonctions de base et derivees (S)
  32. ***
  33. *** ORIGINE = CYRIL NOU
  34. *************************************************************************
  35.  
  36. IMPLICIT INTEGER(I-N)
  37. IMPLICIT REAL*8 (A-H,O-Z)
  38. -INC CCOPTIO
  39. -INC SMCOORD
  40. -INC SMELEME
  41. -INC SMCHAML
  42. POINTEUR IZCENT.MELEME
  43. SEGMENT IZSH
  44. REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  45. ENDSEGMENT
  46. DIMENSION XCEN(3),XCEN2(3),XJAC(3,3)
  47. DIMENSION UELEM(NOUN),UREF(3),UREEL(3)
  48.  
  49. ***********************************************************
  50. *** CALCUL DE LA VITESSE AU PT CENTRE DE L'ELEMENT REEL ***
  51. ***********************************************************
  52.  
  53. *** recuperation du n° global du noeud centre de l'element
  54. NUCENT=IZCENT.NUM(1,IEL1)
  55. *** 'XCEN2' coordonnees reelles du centre de l'element
  56. DO 10 I=1,NDIM
  57. XCEN2(I)=XCOOR((NUCENT-1)*(NDIM+1)+I)
  58. 10 CONTINUE
  59. *** 'XCEN' coords de reference du centre de l'element
  60. CALL REEREF(NDIM,ITY1,NOEL1,IZSH,XCEN2,XCEN)
  61. *** 'UREEL' vitesse reelle au centre de l'element reel
  62. CALL VITAPP(NDIM,ITY1,ITYG,NOEL1
  63. $ ,NOUN,DIAM,UELEM,XCEN,UREF,UREEL,IZSH,ITEST)
  64. *** cas ou le Jacobien est nul dans l'approximation de la vitesse
  65. IF (ITEST.EQ.0) THEN
  66. IEL1=-1
  67. RETURN
  68. ENDIF
  69.  
  70. *********************************************************
  71. *** CALCUL DES COEFFICIENTS DE DISPERSION CINEMATIQUE ***
  72. *********************************************************
  73.  
  74. *** recuperation des dimensions associées aux chps par elemt dispersion
  75. I=MELVA1.VELCHE(/1)
  76. J=MELVA1.VELCHE(/2)
  77. K=MELVA2.VELCHE(/1)
  78. L=MELVA2.VELCHE(/2)
  79. IF ((I.EQ.1).AND.(J.EQ.1).AND.(K.EQ.1).AND.(L.EQ.1)) THEN
  80. *** cas du champ par element de dispersion uniforme
  81. ALPHAL=MELVA1.VELCHE(1,1)
  82. ALPHAT=MELVA2.VELCHE(1,1)
  83. ELSEIF ((I.EQ.1).AND.(K.EQ.1)) THEN
  84. *** cas du champ constant par element de dispersion
  85. ALPHAL=MELVA1.VELCHE(1,IEL1)
  86. ALPHAT=MELVA2.VELCHE(1,IEL1)
  87. ELSE
  88. *** cas ou pas de dispersion cinematique
  89. ALPHAL=0.D0
  90. ALPHAT=0.D0
  91. ENDIF
  92.  
  93. ********************************************************
  94. *** CALCUL DES COEFFICIENTS DE DIFFUSION MOLECULAIRE ***
  95. ********************************************************
  96.  
  97. *** recuperation des dimensions associées aux chps par elemt diffusion
  98. I=MELVA3.VELCHE(/1)
  99. J=MELVA3.VELCHE(/2)
  100. IF ((I.EQ.1).AND.(J.EQ.1)) THEN
  101. *** cas du champ par element de diffusion uniforme
  102. DZERO=MELVA3.VELCHE(1,1)
  103. ELSEIF (I.EQ.1) THEN
  104. *** cas du champ constant par element de diffusion
  105. DZERO=MELVA3.VELCHE(1,IEL1)
  106. ELSE
  107. *** cas ou pas de diffusion moleculaire
  108. DZERO=0.D0
  109. ENDIF
  110.  
  111. *********************************************
  112. *** CALCUL DES COEFFICIENTS DE DISPERSION ***
  113. *********************************************
  114.  
  115. *** calcul de la norme de la vitesse au centre
  116. UNORM=0.D0
  117. DO 20 I=1,NDIM
  118. UNORM=UNORM+UREEL(I)**2
  119. 20 CONTINUE
  120. UNORM=SQRT(UNORM)
  121. *** calcul des coefficients dispersion+diffusion dans élément
  122. DIFL=ALPHAL*UNORM+DZERO
  123. DIFT=ALPHAT*UNORM+DZERO
  124. RETURN
  125. END
  126.  
  127.  
  128.  
  129.  
  130.  

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