Télécharger fluechnak.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : fluechnak.dgibi
  2. GRAPH = faux ;
  3. ******************** CAS TEST : fluechnak.dgibi **********************
  4.  
  5. * --------------------------------------------------------------------
  6. *
  7. * TRANSPORT GEOCHIMIE
  8. *
  9. * ECHANGE IONIQUE AVEC BILAN DE FLUX
  10. *
  11. * --------------------------------------------------------------------
  12. 'OPTION' 'ECHO' 0 ;
  13. 'SAUTER' 'PAGE';
  14.  
  15. * emplacement de COMPOM
  16. emp1 = 'MOT' '/u/castem/divers/COMPOM' ;
  17. *emp1 = 'MOT' 'COMPOM' ;
  18. *emp1 = 'MOT' '/export/home/castem2001/DGIBI/COMPOM' ;
  19.  
  20. ********************************************************
  21. * Données géométriques et physiques
  22. ********************************************************
  23. *
  24. *- Définition du maillage
  25. *
  26. 'OPTION' 'DIME' 2 'ELEM' 'QUA4' 'TRACER' 'PSC' ;
  27. *
  28. *
  29. A = 0. 0. ;
  30. LX = 10. ;
  31. B = LX 0.;
  32. NX = 1 ;
  33. NY1 = 10 ;
  34. LY1 = 10. ;
  35. NY2 = 30 ;
  36. LY2 = 30. ;
  37. LY = LY1 + LY2 ;
  38. NY = NY1 + NY2 ;
  39. AB = ('DROIT' NX A B) ;
  40. G0 = 'TRANSLATION' AB NY1 (0. LY1) ;
  41. CCDD = 'INVERSE' ('COTE' 3 G0) ;
  42. DTOT = 'TRANSLATION' G0 NY2 (0. LY2) ;
  43. BC = 'INVERSE' ('COTE' 2 DTOT) ;
  44. CD = 'INVERSE' ('COTE' 3 DTOT) ;
  45. *
  46. *- création des maillages hybrides
  47. *
  48. MFTOT = 'CHANGER' DTOT 'QUAF' ;
  49. MFAB = 'CHANGER' AB 'QUAF' ;
  50. MFBC = 'CHANGER' BC 'QUAF' ;
  51. MFCD = 'CHANGER' CD 'QUAF' ;
  52. MFG0 = 'CHANGER' G0 'QUAF' ;
  53. MFCCDD = 'CHANGER' CCDD 'QUAF' ;
  54. 'ELIMINATION' 0.001 (MFTOT 'ET' MFAB 'ET' MFBC 'ET' MFCD 'ET' MFG0
  55. 'ET' MFCCDD);
  56. *
  57. *- modèles
  58. *
  59. MODHYB = 'MODELE' MFTOT 'DARCY' 'ISOTROPE' ;
  60. MMAB = 'MODELE' MFAB 'DARCY' 'ISOTROPE' ;
  61. MMBC = 'MODELE' MFBC 'DARCY' 'ISOTROPE' ;
  62. MMCD = 'MODELE' MFCD 'DARCY' 'ISOTROPE' ;
  63. MMG0 = 'MODELE' MFG0 'DARCY' 'ISOTROPE' ;
  64. MMCCDD = 'MODELE' MFCCDD 'DARCY' 'ISOTROPE' ;
  65. *
  66. CHYB1 = 'DOMA' MODHYB 'SURFACE' ;
  67. CHYB2 = 'DOMA' MODHYB 'NORMALE' ;
  68. MCHYB = 'DOMA' MODHYB 'ORIENTAT';
  69. XVOLU = 'DOMA' MODHYB 'VOLUME' ;
  70. FATOT = 'DOMA' MODHYB 'FACE' ;
  71. CETOT = 'DOMA' MODHYB 'CENTRE' ;
  72. CEAB = 'DOMA' MMAB 'CENTRE' ;
  73. CEBC = 'DOMA' MMBC 'CENTRE' ;
  74. CECCDD = 'DOMA' MMCCDD 'CENTRE' ;
  75. *
  76. *- Définition de maillages lignes pour le post traitement
  77. *
  78. NBCC = 'NBNO' CEBC ;
  79. PI1 = 'POINT' CEBC 1 ;
  80. PI0 = PI1 ;
  81. I = 2 ;
  82. SI ( NBCC > 1 ) ;
  83. PI2 = 'POINT' CEBC I ;
  84. BCSEG = 'QUELCONQUE' 'SEG2' PI1 PI2 ;
  85. SI ( NBCC > 2 ) ;
  86. NBCC2 = NBCC - 2 ;
  87. 'REPETER' BLOC6 NBCC2 ;
  88. PI1 = PI2 ;
  89. I = I + 1 ;
  90. PI2 = 'POINT' CEBC I ;
  91. LILI = 'QUELCONQUE' 'SEG2' PI1 PI2 ;
  92. BCSEG = BCSEG 'ET' LILI ;
  93. FIN BLOC6 ;
  94. FINSI ;
  95. FINSI ;
  96. VV = 0.5 * B ;
  97. MAFACC = 'MOIN' ('INVERSE' BC) VV ;
  98. ELIM 0.01 MAFACC FATOT ;
  99. MMP = 'ELEM' MAFACC 'APPUYE' 'LARGEMENT' ('POINT' MAFACC FINAL) ;
  100. MC = 'DIFF' MAFACC MMP ;
  101. VVY = LY / NY * 0.5 ;
  102. VVVY = 0. VVY ;
  103. MACENT = 'PLUS' MC VVVY ;
  104. MACENT = 'COULEUR' MACENT 'ROUGE' ;
  105. 'ELIMINATION' 0.01 MACENT CETOT ;
  106. *
  107. *- on entre la vitesse on en deduit le flux aux faces
  108. *
  109. V = 'MANU' 'CHPO' FATOT 'NATURE' 'DISCRET' 2 'UX' 0. 'UY' 1.;
  110. MOT1 = 'MOTS' UX UY ;
  111. VAVN = 'PSCAL' V CHYB2 MOT1 MOT1 ;
  112. VAVN = 'NOMC' 'SCAL' VAVN ;
  113. QFACE = VAVN * CHYB1 ;
  114. QFACE = 'NOMC' QFACE 'FLUX' ;
  115. *
  116. *-coefficient de diffusion
  117. *
  118. VK = 1. ;
  119. MAT1 = 'MATERIAU' MODHYB 'K' VK ;
  120. *
  121. *- ce qui est indépendant du composant et du temps
  122. *
  123. EPSS = 0.005 ;
  124. DELTAT = 0.5D0 ;
  125. TETA = 1.00D0 ;
  126. BBBAS = 'BLOQ' CEAB 'TH' ;
  127. *
  128. ********************************************************
  129. * CALCUL CHI1
  130. ********************************************************
  131. TABDON = 'OBJET' DONCHI1 ;
  132. TABDON%GIDEN ('LECT' 5 4 103 50) ;
  133. COMP1 = 'OBJET' LINVCOMP ;
  134. COMP1%COM_IDEN 75 ;
  135. COMP1%COM_NOM X075 ;
  136. COMP1%COM_CHAR 0 ;
  137. TABDON%GNVCOMP 1 COMP1 ;
  138. TABESP1= 'OBJET' LIESPECE ;
  139. TABESP1%ESP_IDEN 1815 ;
  140. TABESP1%ESP_LOGK 10.;
  141. TABESP1%ESP_ITYP 2 ;
  142. TABESP1%ESP_COMP ('LECT' 75 5) ;
  143. TABESP1%ESP_STOE ('PROG' 1. 1.) ;
  144. TABESP2= 'OBJET' LIESPECE ;
  145. TABESP2%ESP_IDEN 1816;
  146. TABESP2%ESP_LOGK 10. ;
  147. TABESP2%ESP_ITYP 2 ;
  148. TABESP2%ESP_COMP ('LECT' 75 4) ;
  149. TABESP2%ESP_STOE ('PROG' 1. 1. ) ;
  150. TABDON%GNVESP 1 TABESP1 ;
  151. TABDON%GNVESP 2 TABESP2 ;
  152. TABDON%GECHANGE ('LECT' 75) ;
  153. TABDON%GCLIM TYP3 ('LECT' 50) ;
  154. *
  155. TB1 = 'CHI1' TABDON 'COMP' emp1 'LOGK' emp1 ;
  156. *
  157. ********************************************************
  158. * Initialisation du transport
  159. ********************************************************
  160. *
  161. * CTOTC:concentrations au centre
  162. * CTOT:traces de concentrations
  163. * on se donne CTOT on en deduit CTOTC
  164. *
  165. TOTNA2 = 'MANU' 'CHPO' CEAB 1 X005 1.D-4;
  166. TOTNA = 'KCHT' MODHYB 'SCAL' 'FACE' 'COMP' X005 1.D-3 TOTNA2 ;
  167. TOTK2 = 'MANU' 'CHPO' CEAB 1 X004 1.D-3 ;
  168. TOTK = 'KCHT' MODHYB 'SCAL' 'FACE' COMP X004 1.D-5 TOTK2 ;
  169. TOTCL2 = 'MANU' 'CHPO' CEAB 1 X103 6.D-4 ;
  170. TOTCL = 'KCHT' MODHYB 'SCAL' 'FACE' COMP X103 5.1D-4 TOTCL2 ;
  171. TOTH = 'MANU' 'CHPO' FATOT 1 X050 0.D0 ;
  172. TOT75 = 'MANU' 'CHPO' FATOT 1 X075 5.D-4 ;
  173. CTOT = TOTNA + TOTK + TOTCL + TOTH + TOT75 ;
  174. TT1 = 'EXTR' CTOT 'COMP' ;
  175. NOCOMP = 'EXTR' TT1 1 ;
  176. CTOTC = 'MANU' 'CHPO' CETOT 1 NOCOMP 0. ;
  177. NBCOMP = 'DIME' TT1 ;
  178. MASHYB = 'MHYB' MODHYB MAT1 ;
  179. REPETER BOUC1 NBCOMP ;
  180. NOCOMP = 'EXTR' TT1 &BOUC1 ;
  181. TPR = 'EXCO' CTOT NOCOMP 'TH' ;
  182. TPC = 'HYBP' MODHYB MASHYB TPR ;
  183. TPC = 'NOMC' NOCOMP TPC ;
  184. CTOTC = CTOTC + TPC ;
  185. 'FIN' BOUC1 ;
  186. CFIONI = 'MANU' 'CHPO' CETOT 1 'SCAL' 0.001 ;
  187. CLOGC = 'MANU' 'CHPO' CETOT 5 X005 -2. X004 -2.
  188. X103 -2. X050 -4. X075 -5. ;
  189. CCLIM = 'MANU' 'CHPO' CETOT 1 W007 7.D0 ;
  190. FFIONI = 'MANU' 'CHPO' FATOT 1 'SCAL' 0.001 ;
  191. FLOGC = 'MANU' 'CHPO' FATOT 5 X005 -2. X004 -2.
  192. X103 -2. X050 -4. X075 -5. ;
  193. FCLIM = 'MANU' 'CHPO' FATOT 1 W007 7.D0 ;
  194. *
  195. * Initialisation des traces de concentrations aqueux
  196. * à l'aide d'un calcul CHI2
  197. *
  198. TBPAR2 = 'OBJET' PARMCHI2 ;
  199. TBPAR2%GITMAX 80 ;
  200. TBPAR2%GEPS 1.D-5 ;
  201. TBPAR2%GNFI 4 ;
  202. TBPAR2%GITERSOL 15 ;
  203. TBPAR2%GIMPRIM ('LECT' 1) ;
  204. TBDO2 = 'OBJET' DONCHI2 ;
  205. TBDO2%GFIONI FFIONI ;
  206. TBDO2%GLOGC FLOGC ;
  207. TBDO2%GTOT CTOT ;
  208. TBDO2%GCLIM FCLIM ;
  209. *
  210. TB4 = 'CHI2' TB1 TBPAR2 TBDO2 ;
  211. *
  212. TAQU0 = TB4.AQUE ;
  213. TAQU = TAQU0 ;
  214. *
  215. LIMAB= 'REDU' TAQU CEAB ;
  216. ********************************************************
  217. * TRANSPORT
  218. ********************************************************
  219. *
  220. TABTRAN= TABLE ;
  221. TABTRAN.'SOUSTYPE' = MOT 'GEOCHIMIE' ;
  222. TABTRAN.'MODELE' = MODHYB ;
  223. TABTRAN.'DIFFUSION' = MAT1 ;
  224. TABTRAN.'POROSITE' = 'MANU' 'CHPO' CETOT 1 'CK' 1. ;
  225. TABTRAN.'CONVECTION' = QFACE ;
  226. TABTRAN.'CHIMI1' = TB1 ;
  227. TABTRAN.'TAQU' = TABLE;
  228. TABTRAN.'TAQU'. 0 = TAQU ;
  229. TABTRAN.ITMAX = 80;
  230. TABTRAN.EPS = 1.D-6 ;
  231. TABTRAN.NFI = 4 ;
  232. TABTRAN.ITERSOLI = 15 ;
  233. TABTRAN.FION = TABLE ;
  234. TABTRAN.FION. 0 = CFIONI ;
  235. TABTRAN.LOGC = TABLE ;
  236. TABTRAN.LOGC. 0 = CLOGC ;
  237. TABTRAN.TOT = TABLE ;
  238. TABTRAN.TOT. 0 = CTOTC ;
  239. TABTRAN.CLIM = CCLIM ;
  240. TABTRAN.SORTIE = 'MOTS' 'FION' ;
  241. TABTRAN.'BLOCAGE' = BBBAS ;
  242. TABTRAN.'TRACE_IMPOSE' = 'CHARGEMENT' LIMAB
  243. ('EVOL' 'MANU' ('PROG' 0. 45.) (PROG 1. 1.) ) ;
  244. *TABTRAN.'PRECISION' = 1.D-4 ;
  245. TABTRAN.'PAS_DE_TEMPS' = 0.5 ;
  246. *TABTRAN.'TEMPS_FINAL' = 45. ;
  247. TABTRAN.'TEMPS_FINAL' = 5. ;
  248. TABTRAN.'THETA' = 1.D0 ;
  249. *
  250. CHITRNSP TABTRAN ;
  251. *
  252. TITRE 'Test des flux ' ;
  253. IPPI = 1 ;
  254. IPPF = 10 ;
  255. VOLG0 = 'DOMA' MMG0 'VOLUME' ;
  256. QQG0 = (TABTRAN.TOT. IPPF - TABTRAN.TOT. (IPPI-1) ) * VOLG0 ;
  257. QQQQ = 'RESULT' QQG0 ;
  258. SI (GRAPH);
  259. LISMD = 'MOTS' 'X004' ;
  260. DBTE1 = TRACHIS TABTRAN 'FLUX' ('LECT' 1 5 10) LISMD MAFACC ;
  261. DESTRA DBTE1 ;
  262. DBTE2 = TRACHIS TABTRAN 'FIXE' ('LECT' 1 5 10) MACENT ;
  263. DESTRA DBTE2 ;
  264. LISMB = MOTS 'X005' ;
  265. DBTE3 = TRACHIS TABTRAN 'FLUX' ('LECT' 1 5 10) LISMB MAFACC ;
  266. DESTRA DBTE3 ;
  267. DBTE4 = TRACHIS TABTRAN 'FIXE' ('LECT' 1 5 10) LISMB MACENT ;
  268. DESTRA DBTE4 ;
  269. nnn7 = 'POINT' mafacc 7 ;
  270. nnn8 = 'POINT' mafacc 8 ;
  271. nnn9 = 'POINT' MAFACC 9 ;
  272. nnn10 = 'POINT' MAFACC 10 ;
  273. nnn11 = 'POINT' mafacc 11 ;
  274. nono = nnn7 'ET' nnn8 'ET' nnn9 'ET' nnn10 'ET' nnn11 ;
  275. DBTEE = TRACHIT TABTRAN FLUX LISMB NONO ;
  276. DESTRA DBTEE ;
  277. TBDES = TRACHIS TABTRAN 'TOT' ('LECT' 1 5 10) LISMD MACENT ;
  278. DESTRA TBDES ;
  279. TBDE7 = TRACHIS TABTRAN 'TAQU' ('LECT' 1 5 10) LISMD MAFACC ;
  280. DESTRA TBDE7 ;
  281. DESTRA TBDES ;
  282. DBTE8 = TRACHIS TABTRAN 'FLUX' ('LECT' 1 5 10) LISMC MAFACC ;
  283. DESTRA DBTE8 ;
  284. NORMA = 'DOMA' MODHYB 'NORMALE' ;
  285. LMOCOMP = 'EXTR' TABTRAN.'FLUX'.IPPF 'COMP' ;
  286. NBCOMP = 'DIME' LMOCOMP ;
  287. 'REPETER' BOUCMP NBCOMP ;
  288. MOCOMP= 'EXTR' LMOCOMP &BOUCMP ;
  289. TITRE MOCOMP ;
  290. FIFY = 'PSCAL' NORMA TABTRAN.'FLUX'.IPPF
  291. ('MOTS' 'UY') ('MOTS' MOCOMP);
  292. EVFY = 'EVOL' 'CHPO' FIFY 'SCAL' MAFACC ;
  293. 'DESSIN' EVFY ;
  294. 'FIN' BOUCMP ;
  295. 'FINSI' ;
  296.  
  297. FIA = 'REDU' CEAB TABTRAN.'FLUX'.(IPPI) ;
  298. FIB = 'REDU' CECCDD TABTRAN.'FLUX'.(IPPI) ;
  299. SS1 = FIA + FIB ;
  300. NNCAL = IPPF - IPPI ;
  301. 'REPETER' BOUBOU NNCAL ;
  302. FIA = REDU CEAB TABTRAN.'FLUX'.(&BOUBOU + IPPI) ;
  303. FIB = REDU CECCDD TABTRAN.'FLUX'.(&BOUBOU + IPPI) ;
  304. SS1 = SS1 + FIA + FIB ;
  305. 'FIN' BOUBOU ;
  306. SS = ('RESULT' SS1) * DELTAT ;
  307.  
  308. ERRFLU= 'RESULT' (SS + QQQQ) ;
  309. 'LISTE' ERRFLU ;
  310. DIFFLU= 'ABS' ERRFLU ;
  311. 'SI' (('MAXIMUM' DIFFLU) < 1.E-4 ) ;
  312. 'ERRE' 0 ;
  313. 'SINO' ;
  314. 'ERRE' 5 ;
  315. 'FINSI';
  316.  
  317. FIN ;
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  

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