Télécharger coefdi.eso

Retour à la liste

Numérotation des lignes :

coefdi
  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.  
  39. -INC PPARAM
  40. -INC CCOPTIO
  41. -INC SMCOORD
  42. -INC SMELEME
  43. -INC SMCHAML
  44. POINTEUR IZCENT.MELEME
  45. SEGMENT IZSH
  46. REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  47. ENDSEGMENT
  48. DIMENSION XCEN(3),XCEN2(3),XJAC(3,3)
  49. DIMENSION UELEM(NOUN),UREF(3),UREEL(3)
  50.  
  51. ***********************************************************
  52. *** CALCUL DE LA VITESSE AU PT CENTRE DE L'ELEMENT REEL ***
  53. ***********************************************************
  54.  
  55. *** recuperation du n° global du noeud centre de l'element
  56. NUCENT=IZCENT.NUM(1,IEL1)
  57. *** 'XCEN2' coordonnees reelles du centre de l'element
  58. DO 10 I=1,NDIM
  59. XCEN2(I)=XCOOR((NUCENT-1)*(NDIM+1)+I)
  60. 10 CONTINUE
  61. *** 'XCEN' coords de reference du centre de l'element
  62. CALL REEREF(NDIM,ITY1,NOEL1,IZSH,XCEN2,XCEN)
  63. *** 'UREEL' vitesse reelle au centre de l'element reel
  64. CALL VITAPP(NDIM,ITY1,ITYG,NOEL1
  65. $ ,NOUN,DIAM,UELEM,XCEN,UREF,UREEL,IZSH,ITEST)
  66. *** cas ou le Jacobien est nul dans l'approximation de la vitesse
  67. IF (ITEST.EQ.0) THEN
  68. IEL1=-1
  69. RETURN
  70. ENDIF
  71.  
  72. *********************************************************
  73. *** CALCUL DES COEFFICIENTS DE DISPERSION CINEMATIQUE ***
  74. *********************************************************
  75.  
  76. *** recuperation des dimensions associées aux chps par elemt dispersion
  77. I=MELVA1.VELCHE(/1)
  78. J=MELVA1.VELCHE(/2)
  79. K=MELVA2.VELCHE(/1)
  80. L=MELVA2.VELCHE(/2)
  81. IF ((I.EQ.1).AND.(J.EQ.1).AND.(K.EQ.1).AND.(L.EQ.1)) THEN
  82. *** cas du champ par element de dispersion uniforme
  83. ALPHAL=MELVA1.VELCHE(1,1)
  84. ALPHAT=MELVA2.VELCHE(1,1)
  85. ELSEIF ((I.EQ.1).AND.(K.EQ.1)) THEN
  86. *** cas du champ constant par element de dispersion
  87. ALPHAL=MELVA1.VELCHE(1,IEL1)
  88. ALPHAT=MELVA2.VELCHE(1,IEL1)
  89. ELSE
  90. *** cas ou pas de dispersion cinematique
  91. ALPHAL=0.D0
  92. ALPHAT=0.D0
  93. ENDIF
  94.  
  95. ********************************************************
  96. *** CALCUL DES COEFFICIENTS DE DIFFUSION MOLECULAIRE ***
  97. ********************************************************
  98.  
  99. *** recuperation des dimensions associées aux chps par elemt diffusion
  100. I=MELVA3.VELCHE(/1)
  101. J=MELVA3.VELCHE(/2)
  102. IF ((I.EQ.1).AND.(J.EQ.1)) THEN
  103. *** cas du champ par element de diffusion uniforme
  104. DZERO=MELVA3.VELCHE(1,1)
  105. ELSEIF (I.EQ.1) THEN
  106. *** cas du champ constant par element de diffusion
  107. DZERO=MELVA3.VELCHE(1,IEL1)
  108. ELSE
  109. *** cas ou pas de diffusion moleculaire
  110. DZERO=0.D0
  111. ENDIF
  112.  
  113. *********************************************
  114. *** CALCUL DES COEFFICIENTS DE DISPERSION ***
  115. *********************************************
  116.  
  117. *** calcul de la norme de la vitesse au centre
  118. UNORM=0.D0
  119. DO 20 I=1,NDIM
  120. UNORM=UNORM+UREEL(I)**2
  121. 20 CONTINUE
  122. UNORM=SQRT(UNORM)
  123. *** calcul des coefficients dispersion+diffusion dans élément
  124. DIFL=ALPHAL*UNORM+DZERO
  125. DIFT=ALPHAT*UNORM+DZERO
  126. RETURN
  127. END
  128.  
  129.  
  130.  
  131.  
  132.  

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