Télécharger diffu1.dgibi

Retour à la liste

Numérotation des lignes :

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

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