Télécharger dofick.eso

Retour à la liste

Numérotation des lignes :

dofick
  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"
  115. CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),iOK)
  116. C*AV test sur iOK
  117. ENDIF
  118. C- Calcul de la matrice XGLOB des cosinus directeurs par rapport
  119. C- au repere global
  120. DO j = 1, IDIM
  121. DO k = 1, IDIM
  122. r_z = XZERO
  123. DO i = 1, IDIM
  124. r_z = r_z + TXR(j,i)*XLOC(i,k)
  125. ENDDO
  126. XGLOB(k,j) = r_z
  127. ENDDO
  128. ENDDO
  129. C- Calcul de la matrice de "diffusion de Fick" dans le repere global
  130. CALL PRODT(DFICK,DFICK1,XGLOB,IDIM,IDIM)
  131. ENDIF
  132.  
  133. RETURN
  134. END
  135.  
  136.  
  137.  

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