Download coefdi.eso

Back to the list

   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
  59 :       CALL REEREF(NDIM,ITY1,NOEL1,IZSH,XCEN2,XCEN)
  60 : ***   'UREEL' vitesse reelle au centre de l'element reel
  60 :       CALL VITAPP(NDIM,ITY1,ITYG,NOEL1
  61 :      $     ,NOUN,DIAM,UELEM,XCEN,UREF,UREEL,IZSH,ITEST)
  62 : ***   cas ou le Jacobien est nul dans l'approximation de la vitesse
  63 :       IF (ITEST.EQ.0) THEN
  64 :          IEL1=-1
  65 :          RETURN
  66 :       ENDIF
  67 : 
  68 : *********************************************************
  69 : *** CALCUL DES COEFFICIENTS DE DISPERSION CINEMATIQUE ***
  70 : *********************************************************
  71 : 
  72 : ***   recuperation des dimensions associées aux chps par elemt dispersion
  73 :       I=MELVA1.VELCHE(/1)
  74 :       J=MELVA1.VELCHE(/2)
  75 :       K=MELVA2.VELCHE(/1)
  76 :       L=MELVA2.VELCHE(/2)
  77 :       IF ((I.EQ.1).AND.(J.EQ.1).AND.(K.EQ.1).AND.(L.EQ.1)) THEN
  78 : ***      cas du champ par element de dispersion uniforme
  79 :          ALPHAL=MELVA1.VELCHE(1,1)
  80 :          ALPHAT=MELVA2.VELCHE(1,1)
  81 :       ELSEIF ((I.EQ.1).AND.(K.EQ.1)) THEN
  82 : ***      cas du champ constant par element de dispersion
  83 :          ALPHAL=MELVA1.VELCHE(1,IEL1)
  84 :          ALPHAT=MELVA2.VELCHE(1,IEL1)
  85 :       ELSE
  86 : ***      cas ou pas de dispersion cinematique
  87 :          ALPHAL=0.D0
  88 :          ALPHAT=0.D0
  89 :       ENDIF
  90 : 
  91 : ********************************************************
  92 : *** CALCUL DES COEFFICIENTS DE DIFFUSION MOLECULAIRE ***
  93 : ********************************************************
  94 : 
  95 : ***   recuperation des dimensions associées aux chps par elemt diffusion
  96 :       I=MELVA3.VELCHE(/1)
  97 :       J=MELVA3.VELCHE(/2)
  98 :       IF ((I.EQ.1).AND.(J.EQ.1)) THEN
  99 : ***      cas du champ par element de diffusion uniforme
 100 :          DZERO=MELVA3.VELCHE(1,1)
 101 :       ELSEIF (I.EQ.1) THEN
 102 : ***      cas du champ constant par element de diffusion
 103 :          DZERO=MELVA3.VELCHE(1,IEL1)
 104 :       ELSE
 105 : ***      cas ou pas de diffusion moleculaire
 106 :          DZERO=0.D0
 107 :       ENDIF
 108 : 
 109 : *********************************************
 110 : *** CALCUL DES COEFFICIENTS DE DISPERSION ***
 111 : *********************************************
 112 : 
 113 : ***   calcul de la norme de la vitesse au centre
 114 :       UNORM=0.D0
 115 :       DO 20 I=1,NDIM
 116 :          UNORM=UNORM+UREEL(I)**2
 117 :  20   CONTINUE
 118 :       UNORM=SQRT(UNORM)
 119 : ***   calcul des coefficients dispersion+diffusion dans élément
 120 :       DIFL=ALPHAL*UNORM+DZERO
 121 :       DIFT=ALPHAT*UNORM+DZERO
 122 :       RETURN                                                                    
 123 :       END                                                                       
 124 :  
 125 :  
 126 :  
 127 :  

© Cast3M 2003 - All rights reserved.
Disclaimer