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