Télécharger diffu3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : diffu3.dgibi
  2.  
  3. ************************************************************************
  4. ************************************************************************
  5.  
  6. *----------------------------------------------------------------------*
  7. * diffu3.dgibi : exemple d'utilisation du modele de DIFFUSION (FICK) *
  8. * *
  9. * On modelise la diffusion simulatee de 2 especes (C6, C8) dans un *
  10. * massif semi-infini en imposant leur concentration au bord a t=0, *
  11. * les concentrations en C6 & C8 etant nulles initialement. *
  12. * On compare a la solution analytique. *
  13. * Le calcul est realise avec PASAPAS. *
  14. * *
  15. * Difference avec diffu1.dgibi : *
  16. * - Ajout de l'indice 'CAPACITE_CONSTANTE' dans PASAPAS *
  17. * - Ajout de l'indice 'CONDUCTIVITE_CONSTANTE' dans PASAPAS *
  18. * *
  19. *----------------------------------------------------------------------*
  20. * IG1 = VRAI : affichage des traces ; *
  21. IG1 = FAUX ;
  22. * *
  23. *------------------------------ MAILLAGE ------------------------------*
  24. * *
  25. OPTI DIME 2 ELEM QUA8 ;
  26. * *
  27. * Repere : *
  28. O1 = 0. 0. ;
  29. X1 = 1. 0. ;
  30. Y1 = 0. 1. ;
  31. * *
  32. * Dimensions : *
  33. DG1 = 15.E-9 ;
  34. LG1 = 300.E-9 ;
  35. * *
  36. * Parametre / Maillage : *
  37. NEX1 = 30 ;
  38. L1 = O1 'DROI' 1 (DG1 * Y1) ;
  39. SG1 = L1 'TRAN' (-1 * NEX1) 'DINI' 5.E-9 'DFIN' 20.E-9 (LG1 * X1) ;
  40. * *
  41. 'SI' IG1 ;
  42. 'TITR'
  43. ' Maillage & C.L. : concentration imposee sur bord rouge (L1) ' ;
  44. 'TRAC' 'QUAL' (SG1 'ET' (L1 'COUL' 'ROUG')) ;
  45. 'FINS' ;
  46. * *
  47. *--------------------- MODELE / CARACTERISTIQUES ----------------------*
  48. * *
  49. * L'option 'INCO' de 'MODE' permet de definir le nom des inconnues *
  50. * primales et duales du modele (CO / QCO par defaut). *
  51. * Attention ! limite a 2 caracteres pour le nom de l'inconnue primale *
  52. MOD1 = 'MODE' SG1 'DIFFUSION' 'FICK' 'INCO' 'C6' 'QC6' ;
  53. MOD2 = 'MODE' SG1 'DIFFUSION' 'FICK' 'INCO' 'C8' 'QC8' ;
  54. KD1 = 2.E-18 ;
  55. KD2 = 4.E-19 ;
  56. MAT1 = 'MATE' MOD1 'KD' KD1 'CDIF' 1. ;
  57. MAT2 = 'MATE' MOD2 'KD' KD2 'CDIF' 1. ;
  58.  
  59. MAT21 = 'MATE' MOD2 'KD' (0.9*KD2) 'CDIF' (0.7*1.) ;
  60.  
  61. MAT22 = 'MATE' MOD2 'KD' (0.1*KD2) 'CDIF' (0.3*1.) ;
  62. CAP22 = 'CAPA' MOD2 MAT22 ;
  63. KD22 = 'COND' MOD2 MAT22 ;
  64. * *
  65. *------------------------- C.L. / CHARGEMENTS -------------------------*
  66. * *
  67. * Blocages : *
  68. CL1 = 'BLOQ' L1 'C6' ;
  69. CL2 = 'BLOQ' L1 'C8' ;
  70. CL0 = CL1 'ET' CL2 ;
  71. * *
  72. * C1 / C2 : concentrations au bord : *
  73. C1 = 0.8 ;
  74. C2 = 0.5 ;
  75. DCL1 = 'DEPI' CL1 C1 ;
  76. DCL2 = 'DEPI' CL2 C2 ;
  77. * *
  78. * A Noter : concentrations imposees => chargement 'CIMP' : *
  79. * Chargement : *
  80. TFIN1 = 1800. ;
  81. LTPS1 = 'PROG' 0. TFIN1 ;
  82. LAMP1 = 'PROG' 1. 1. ;
  83. EV1 = 'EVOL' 'MANU' 'TEMP' LTPS1 'AMPL' LAMP1 ;
  84. CG1 = 'CHAR' 'CIMP' DCL1 EV1 ;
  85. CG2 = 'CHAR' 'CIMP' DCL2 EV1 ;
  86. CG0 = CG1 'ET' CG2 ;
  87. * *
  88. *------------------------------ PASAPAS -------------------------------*
  89. * *
  90. * A Noter : indice 'BLOCAGES_DIFFUSIONS' de la table PASAPAS ; *
  91. * *
  92. TAB1 = 'TABL' ;
  93. TAB1 . 'MODELE' = MOD1 'ET' MOD2 ;
  94. TAB1 . 'CARACTERISTIQUES' = MAT1 'ET' MAT21 ;
  95. TAB1 . 'BLOCAGES_DIFFUSIONS' = CL0 ;
  96. TAB1 . 'CHARGEMENT' = CG0 ;
  97. TAB1 . 'RELAXATION_THETA' = 1. ;
  98. TAB1 . 'TEMPS_CALCULES' = 'PROG' 0. 30. PAS 30. TFIN1 ;
  99. TAB1 . 'CAPACITE_CONSTANTE' = CAP22 ;
  100. TAB1 . 'CONDUCTIVITE_CONSTANTE' = KD22 ;
  101. *
  102. PASAPAS TAB1 ;
  103. *
  104. *-------------------------- POST-TRAITEMENT ---------------------------*
  105. * *
  106. * Table legende dessins : *
  107. TDESS1 = 'TABL' ;
  108. TDESS1 . 3 = 'MOT' 'MARQ S LOSA NOLI' ;
  109. TDESS1 . 4 = 'MOT' 'MARQ S LOSA NOLI' ;
  110. TDESS1 . 'TITRE' = 'TABL' ;
  111. TDESS1 . 'TITRE' . 1 = ' Concentration C6 ' ;
  112. TDESS1 . 'TITRE' . 2 = ' Concentration C8 ' ;
  113. TDESS1 . 'TITRE' . 3 = ' Reference C6 ' ;
  114. TDESS1 . 'TITRE' . 4 = ' Reference C8 ' ;
  115. * *
  116. * Solutions analytiques : *
  117. L2 = SG1 'COTE' 2 ;
  118. LX0 = ('EVOL' 'CHPO' (L2 'COOR' 1) 'SCAL' L2) 'EXTR' 'ABSC' ;
  119. L1 = 'PROG' ('DIME' LX0) * 1. ;
  120. LX1 = 0.5 * LX0 * (KD1 ** -0.5) ;
  121. LX2 = 0.5 * LX0 * (KD2 ** -0.5) ;
  122. * *
  123. * A Noter : indice 'CONCENTRATIONS' de la table PASAPAS ; *
  124. * *
  125. NB1 = 'DIME' (TAB1 . TEMPS) ;
  126. LDESS1 = 'LECT' 1 PAS 10 NB1 ;
  127. ERRM1 = 0. ;
  128. I1 = 0 ;
  129. 'REPE' B1 NB1 ;
  130. TPSI1 = TAB1 . 'TEMPS' . I1 ;
  131. 'SI' (I1 'EGA' 0 ) ;
  132. LCI1 = 0. * L1 ;
  133. LCI2 = 0. * L1 ;
  134. 'SINO' ;
  135. LCI1 = C1 * (L1 - ('ERF' (LX1 / (TPSI1 ** 0.5)))) ;
  136. LCI2 = C2 * (L1 - ('ERF' (LX2 / (TPSI1 ** 0.5)))) ;
  137. 'FINS' ;
  138. EVREFI1 = 'EVOL' 'ROUG' 'MANU' 'SCAL' LX0 'C6' LCI1 ;
  139. EVREFI2 = 'EVOL' 'VERT' 'MANU' 'SCAL' LX0 'C8' LCI2 ;
  140. CHCI1 = TAB1 . 'CONCENTRATIONS' . I1 ;
  141. CHC6I1 SG2 = (CHCI1 'EXCO' 'C6') SG1 'PLUS' (3. * DG1 * Y1) ;
  142. CHC8I1 = CHCI1 'EXCO' 'C8' ;
  143. EVCI1 = 'EVOL' 'ROUG' 'CHPO' CHCI1 'C6' L2 ;
  144. EVCI2 = 'EVOL' 'VERT' 'CHPO' CHCI1 'C8' L2 ;
  145. ERRMI1 = 'MAXI' 'ABS' (LCI1 - ('EXTR' EVCI1 'ORDO')) / C1 ;
  146. ERRMI2 = 'MAXI' 'ABS' (LCI2 - ('EXTR' EVCI2 'ORDO')) / C2 ;
  147. ERRM1 = 'MAXI' ('PROG' ERRMI1 ERRMI2) ;
  148. 'SI' (&B1 'EGA' 2) ;
  149. 'MESS' ' **** Ecart relatif max. ./ ref. sur C6 & C8 : ' ;
  150. 'FINS' ;
  151. 'MESS' ' >' ERRM1 ;
  152. 'SI' (IG1 'ET' ('DANS' ('LECT' &B1) LDESS1)) ;
  153. 'TITR' ' Concentration au temps ' TPSI1 ' s' ;
  154. 'TRAC' (CHC6I1 'ET' CHC8I1) (SG1 'ET' SG2) ;
  155. 'DESS' (EVCI1 'ET' EVCI2 'ET' EVREFI1 'ET' EVREFI2) 'LEGE' TDESS1 ;
  156. 'FINS' ;
  157. I1 = I1 + 1 ;
  158. 'FIN' B1 ;
  159. * *
  160. * Message d'erreur : *
  161. IERRP1 = ERRM1 '>' 5.E-3 ;
  162. IREAC1 = 'EXIS' TAB1 'REACTIONS_DIFFUSIONS' ;
  163. * *
  164. 'SI' IERRP1 ;
  165. 'OPTI' 'ECHO' 0 ;
  166. 'SAUT' 1 'LIGN' ;
  167. 'MESS'
  168. '***** Ecart relatif max. / solution de ref. au dernier pas > 5.E-3 ' ;
  169. 'SAUT' 1 'LIGN' ;
  170. 'ERRE' 5 ;
  171. 'OPTI' 'ECHO' 1 ;
  172. 'FINS' ;
  173. * *
  174. 'SI' ('NON' IREAC1) ;
  175. 'OPTI' 'ECHO' 0 ;
  176. 'SAUT' 1 'LIGN' ;
  177. 'MESS'
  178. '***** ERREUR : il manque les Reactions de Diffusion ' ;
  179. 'SAUT' 1 'LIGN' ;
  180. 'ERRE' 5 ;
  181. 'OPTI' 'ECHO' 1 ;
  182. 'FINS' ;
  183. * *
  184. 'FIN' ;
  185.  
  186.  
  187.  
  188.  

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