1 : C DOFICK SOURCE FANDEUR 10/12/17 21:16:19 6427 2 : 3 : C======================================================================= 4 : C= D O F I C K = 5 : C= ----------- = 6 : C= = 7 : C= Fonction : = 8 : C= ---------- = 9 : C= Calcul de la matrice de "DIFFUSION LINEAIRE" (loi de Fick) = 10 : C= = 11 : C= Parametres : (E)=Entree (S)=Sortie = 12 : C= ------------ = 13 : C= MATE (E) Valeurs des parametres de permittivite du materiau = 14 : C= IDIM (E) Dimension du probleme (= LPERM aussi) = 15 : C= IWKELT (S) Segment de travail (ACTIF) contenant, notamment, = 16 : C= matrice de diffusion Fick dans le repere GLOBAL = 17 : C= IWKMAT (S) Segment de travail (ACTIF) = 18 : C======================================================================= 19 : 20 : SUBROUTINE DOFICK (MATE,IDIM, IWKELT,IWKMAT) 21 : 22 : IMPLICIT INTEGER(I-N) 23 : IMPLICIT REAL*8(A-H,O-Z) 24 : 25 : -INC CCREEL 26 : 27 : SEGMENT MWKELT 28 : REAL*8 DFICK(LDIFF,LDIFF),BGRDIF(LDIFF,LRE) 29 : REAL*8 XEL(3,NBNN),SHP(6,NBNN) 30 : REAL*8 VALMAT(NVMAT) 31 : ENDSEGMENT 32 : 33 : SEGMENT MWKMAT 34 : REAL*8 XLOC(IDIM,IDIM),XGLOB(IDIM,IDIM),TXR(IDIM,IDIM) 35 : REAL*8 DFICK1(LDIFF,LDIFF) 36 : ENDSEGMENT 37 : 38 : MWKELT = IWKELT 39 : 40 : C Cas ISOTROPE 41 : C-------------- 42 : IF (MATE.EQ.1) THEN 43 : DO i = 1, IDIM 44 : DFICK(i,i) = VALMAT(1) 45 : ENDDO 46 : 47 : C Cas ORTHOTROPE et ANISOTROPE 48 : C------------------------------ 49 : ELSE 50 : C- Calcul de la matrice de "diffusion de Fick" (DFICK1) dans le 51 : C- repere de "tropie" et de la matrice des cosinus directeurs 52 : C- (XLOC) des directions de "tropie" dans le repere LOCAL 53 : MWKMAT = IWKMAT 54 : C- Cas des elements massifs 2D 55 : IF (IDIM.EQ.2) THEN 56 : C-- Cas d'un materiau ORTHOTROPE 57 : IF (MATE.EQ.2) THEN 58 : DFICK1(1,1) = VALMAT(1) 59 : DFICK1(2,1) = XZERO 60 : DFICK1(1,2) = XZERO 61 : DFICK1(2,2) = VALMAT(2) 62 : XLOC(1,1) = VALMAT(3) 63 : XLOC(2,1) = VALMAT(4) 64 : XLOC(1,2) = -VALMAT(4) 65 : XLOC(2,2) = VALMAT(3) 66 : C-- Cas d'un materiau ANISOTROPE 67 : ELSE IF(MATE.EQ.3) THEN 68 : DFICK1(1,1) = VALMAT(1) 69 : DFICK1(2,1) = VALMAT(3) 70 : DFICK1(1,2) = VALMAT(3) 71 : DFICK1(2,2) = VALMAT(2) 72 : XLOC(1,1) = VALMAT(4) 73 : XLOC(2,1) = VALMAT(5) 74 : XLOC(1,2) = -VALMAT(5) 75 : XLOC(2,2) = VALMAT(4) 76 : ENDIF 77 : C- Cas des elements massifs 3D 78 : ELSE 79 : C-- Cas d'un materiau ORTHOTROPE 80 : IF (MATE.EQ.2) THEN 81 : DFICK1(1,1) = VALMAT(1) 82 : DFICK1(2,1) = XZERO 83 : DFICK1(3,1) = XZERO 84 : DFICK1(1,2) = XZERO 85 : DFICK1(2,2) = VALMAT(2) 86 : DFICK1(3,2) = XZERO 87 : DFICK1(1,3) = XZERO 88 : DFICK1(2,3) = XZERO 89 : DFICK1(3,3) = VALMAT(3) 90 : XLOC(1,1) = VALMAT(4) 91 : XLOC(2,1) = VALMAT(5) 92 : XLOC(3,1) = VALMAT(6) 93 : XLOC(1,2) = VALMAT(7) 94 : XLOC(2,2) = VALMAT(8) 95 : XLOC(3,2) = VALMAT(9) 96 : C-- Cas d'un materiau ANISOTROPE 97 : ELSE IF (MATE.EQ.3) THEN 98 : DFICK1(1,1) = VALMAT(1) 99 : DFICK1(2,1) = VALMAT(4) 100 : DFICK1(3,1) = VALMAT(5) 101 : DFICK1(1,2) = VALMAT(4) 102 : DFICK1(2,2) = VALMAT(2) 103 : DFICK1(3,2) = VALMAT(6) 104 : DFICK1(1,3) = VALMAT(5) 105 : DFICK1(2,3) = VALMAT(6) 106 : DFICK1(3,3) = VALMAT(3) 107 : XLOC(1,1) = VALMAT(7) 108 : XLOC(2,1) = VALMAT(8) 109 : XLOC(3,1) = VALMAT(9) 110 : XLOC(1,2) = VALMAT(10) 111 : XLOC(2,2) = VALMAT(11) 112 : XLOC(3,2) = VALMAT(12) 113 : ENDIF 114 : C-- Calcul de la troisieme direction de "tropie" 114 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),iOK) 115 : C*AV test sur iOK 116 : ENDIF 117 : C- Calcul de la matrice XGLOB des cosinus directeurs par rapport 118 : C- au repere global 119 : DO j = 1, IDIM 120 : DO k = 1, IDIM 121 : r_z = XZERO 122 : DO i = 1, IDIM 123 : r_z = r_z + TXR(j,i)*XLOC(i,k) 124 : ENDDO 125 : XGLOB(k,j) = r_z 126 : ENDDO 127 : ENDDO 128 : C- Calcul de la matrice de "diffusion de Fick" dans le repere global 128 : CALL PRODT(DFICK,DFICK1,XGLOB,IDIM,IDIM) 129 : ENDIF 130 : 131 : RETURN 132 : END 133 : 134 :
© Cast3M 2003 - All rights reserved.
Disclaimer