Télécharger beton_thm1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : beton_thm1.dgibi
  2. *---------------------------------------------------------------------*
  3. * *
  4. * Cas-test du modele THERMOHYDRIQUE BETON_THM *
  5. * *
  6. * Description : Beton au jeune age. Simulation d'un essai de *
  7. * calorimetrie adiabatique *
  8. * *
  9. * Comparaison de la solution numerique avec une *
  10. * solution semi-analytique de reference *
  11. * *
  12. *---------------------------------------------------------------------*
  13.  
  14.  
  15. OPTI 'ECHO' 0 ;
  16.  
  17. * Traces : ITRAC1 = VRAI ;
  18. ITRAC1 = FAUX ;
  19.  
  20. *---------------------------------------------------------------------*
  21. * CONSTANT PHYSICAL PARAMEMTERS
  22. *---------------------------------------------------------------------*
  23. RGP1 = 8.3145 ;
  24. MMGW1 = 18.0153E-3 ;
  25. RHOW0 = 1000. ;
  26. *---------------------------------------------------------------------*
  27.  
  28.  
  29. *---------------------------------------------------------------------*
  30. * TIME DISCRETIZATION
  31. *---------------------------------------------------------------------*
  32. heure = 3600.;
  33. jour1 = 24. * heure;
  34. t_fin = 3. * (24. * heure);
  35. dt = 100.;
  36. ltemps = PROG 0. 'PAS' dt t_fin;
  37. ltsauv = PROG 0. 'PAS' heure t_fin;
  38. *---------------------------------------------------------------------*
  39.  
  40.  
  41. *---------------------------------------------------------------------*
  42. * FE MESH
  43. *---------------------------------------------------------------------*
  44. OPTI 'DIME' 2 'ELEM' 'QUA4' 'MODE' 'PLAN' 'CONT';
  45. * Geometry
  46. L1 = 0.10 ;
  47. P1 = 0. 0.;
  48. P2 = L1 0.;
  49. L12 = DROI 10 P1 P2;
  50. MAIL1 = L12 TRAN 10 (0. 0.10);
  51. CONTT = COTE 2 MAIL1;
  52. CONTH = COTE 2 MAIL1;
  53. *---------------------------------------------------------------------*
  54.  
  55.  
  56. *---------------------------------------------------------------------*
  57. * MATERIAL DATA (THC PART)
  58. *---------------------------------------------------------------------*
  59. * MIX DATA
  60. cem = 400. ;
  61. aggr = 1806. ;
  62. wc = 0.4625 ;
  63. sc = 0. ;
  64.  
  65. * HYDRATION PROCESS DATA (affinity. activation energy. hydration heat)
  66. * Ref. Sciumè PhD thesis
  67. AI = 10. ;
  68. AP = 1340. ;
  69. GAMP = 0.289 ;
  70. ALFA = 32. ;
  71. EAR1 = 5369. ;
  72. lat1 = 1.171e8 ;
  73.  
  74. * INTRINSIC PERMEABILITY
  75. KINT = 1.E-20 ;
  76.  
  77. * DESORPTION ISOTHERME MODEL PARAMETERS
  78. a1 = 20.E6 ;
  79. b1 = 2. ;
  80. c1 = 1. ;
  81.  
  82. * THERMAL PARAMETERS (porous solid dryed)
  83. CS = 730. ;
  84. KS = 1.386 ;
  85. *---------------------------------------------------------------------*
  86.  
  87.  
  88. *---------------------------------------------------------------------*
  89. * SELECTION OF THE MATHEMATICAL MODEL
  90. *---------------------------------------------------------------------*
  91. MODTHC = MODE MAIL1 'THERMOHYDRIQUE' 'BETON_THM' 'CONS' 'BO';
  92. MODCOT = MODE CONTT 'THERMIQUE' 'CONVECTION';
  93. MOD_TOT = MODCOT ET MODTHC;
  94. *---------------------------------------------------------------------*
  95.  
  96. *---------------------------------------------------------------------*
  97. * DEFINITION OF THE MATERIAL
  98. *---------------------------------------------------------------------*
  99. * Computing of stechiometric parameters with the Powers' model
  100. WINF GAM0 POR1 APOR = @POWERS cem aggr wc sc;
  101.  
  102. MATTHC = MATE MODTHC 'CS' CS 'KS' KS 'GAM0' GAM0 'WINF' WINF
  103. 'VGA' a1 'VGB' b1 'VGC' c1 'K1' KINT 'AK' 7. 'BK' 1.
  104. 'KLI1' 20000. 'AKLI' 1. 'BKLI' 1. 'POR1' POR1 'APOR' APOR
  105. 'AFF1' Ai 'AFF2' Ap 'AFF3' GAMP 'AFF4' ALFA 'EAR' EAR1 'QLAT' lat1;
  106. MATCOT = MATE MODCOT 'H' 0.;
  107. MAT_TOT = MATCOT ET MATTHC ;
  108. *---------------------------------------------------------------------*
  109.  
  110.  
  111. *---------------------------------------------------------------------*
  112. * INITIAL CODITION
  113. * - Hydration degre HY_0 = 0
  114. * - Temperature TC_0 = 23.8°C
  115. * - Gas pressure PG_0 = p_atm
  116. * - Relative humidity HR_0 = 0.999
  117. HY_0 = 0. ;
  118. TC_0 = 23.8 ;
  119. TK_0 = 273.15 + TC_0 ;
  120. PG_0 = 101325. ;
  121. HR_0 = 0.99995 ;
  122.  
  123. ZERO1 = MANU 'CHPO' MAIL1 'SCAL' 0. ;
  124. CHTK_0 = MANU 'CHPO' MAIL1 'T' TK_0 ;
  125. PVS_0 XX YY ZZ KK JJ= @PVSAT ZERO1 ZERO1 CHTK_0 ;
  126.  
  127. * Clapeyron
  128. PC_0 = PG_0 - PVS_0 + ((-1.)*(RGP1*TK_0*RHOW0*(LOG HR_0)/MMGW1));
  129. PC_0 = PC_0 NOMC 'PC';
  130.  
  131. * Calcul degre de saturation correspondant
  132. CHPC_0 = MANU 'CHPO' MAIL1 1 'SCAL' (MAXI PC_0);
  133. CHTK_0 = MANU 'CHPO' MAIL1 1 'SCAL' TK_0;
  134. HYDR = MANU 'CHPO' MAIL1 1 'SCAL' HY_0;
  135. cha1 = MANU 'CHPO' MAIL1 1 'SCAL' a1;
  136. chb1 = MANU 'CHPO' MAIL1 1 'SCAL' b1;
  137. chc1 = MANU 'CHPO' MAIL1 1 'SCAL' c1;
  138. chgam0 = MANU 'CHPO' MAIL1 1 'SCAL' gam0;
  139. SW0 = @SATURA CHPC_0 CHTK_0 HYDR cha1 chb1 chc1 chgam0;
  140. CI_TH = (MANU 'CHPO' MAIL1 2 'PG' PG_0 'T' TK_0) + PC_0;
  141. *---------------------------------------------------------------------*
  142.  
  143.  
  144. *---------------------------------------------------------------------*
  145. * BOUNDARY CONDITIONS
  146. * - PG_surface = p_atm (Dirichlet)
  147. *
  148. * - TC_ext = 23.8°C (Convection with h = 0 --> adiabatic)
  149. *
  150. * - Natural condition for the mass balance of water species (Sealed)
  151. *---------------------------------------------------------------------*
  152. TK_E = TK_0;
  153. PG_E = PG_0;
  154. HR_E1 = 0.95;
  155. HR_E2 = 0.50;
  156.  
  157. * PG: imposed gas pressure
  158. EV_PG = EVOL 'MANU' 'TEMPS' (PROG 0. t_fin) (PROG 1. 1.);
  159. CLPG1 = BLOQ 'PG' CONTH;
  160. CHPG1 = DEPI CLPG1 PG_E;
  161. CGPG1 = CHAR 'TIMP' CHPG1 EV_PG;
  162.  
  163. * T: Thermal convection
  164. TK_EXT = 273.15 + TC_0 ;
  165. CHT_EXT = MANU 'CHPO' CONTH 1 'T' 1.;
  166. EVT_EXT = EVOL 'MANU' 'TEMPS' (PROG 0. t_fin )
  167. (PROG TK_EXT TK_EXT);
  168. CGTK1 = CHAR 'TECO' CHT_EXT EVT_EXT ;
  169. *---------------------------------------------------------------------*
  170.  
  171.  
  172. *---------------------------------------------------------------------*
  173. * RESOLUTION
  174. *---------------------------------------------------------------------*
  175. TAB2 = TABL ;
  176. TAB2 . 'MODELE' = MOD_TOT ;
  177. TAB2 . 'CARACTERISTIQUES' = MAT_TOT ;
  178. TAB2 . 'CHARGEMENT' = CGTK1;
  179. TAB2 . 'TEMPS_CALCULES' = ltemps ;
  180. TAB2 . 'TEMPS_SAUVES' = ltsauv ;
  181. TAB2 . 'PROCEDURE_THERMIQUE' = 'NONLINEAIRE' ;
  182. TAB2 . 'RELAXATION_THETA' = 0.5;
  183. TAB2 . 'TEMPERATURES' = TABL ;
  184. TAB2 . 'TEMPERATURES' . 0 = CI_TH ;
  185. TAB2 . 'VARIABLES_THM' = TABL ;
  186. TAB2 . 'VARIABLES_THM' . 0 = MANU 'CHML' MODTHC 'HYDR' 0.;
  187. *---------------------------------------------------------------------*
  188. PASAPAS TAB2;
  189. *---------------------------------------------------------------------*
  190.  
  191.  
  192. *---------------------------------------------------------------------*
  193. * POST-TREATEMENT OF RESULTS
  194. *---------------------------------------------------------------------*
  195.  
  196. * Evolution of TC, PG, PC, HY and SW during 3 days at a given point
  197. p0 = P1;
  198. nfin1 = DIME TAB2.temperatures;
  199.  
  200. n4 = 0;
  201.  
  202. PG_P0 = PROG;
  203. PC_P0 = PROG;
  204. TK_P0 = PROG;
  205. HY_P0 = PROG;
  206. SW_P0 = PROG;
  207. l_time = PROG;
  208.  
  209. REPETER BOU_T nfin1;
  210. tmps1 = EXTR ltsauv (n4 + 1);
  211. tmps1 = tmps1 / 3600.;
  212. l_time = l_time ET (PROG tmps1);
  213. val1g0 = EXTR TAB2.temperatures.n4 'PG' p0;
  214. val1p0 = EXTR TAB2.temperatures.n4 'PC' p0;
  215. val1t0 = (EXTR TAB2.temperatures.n4 'T' p0);
  216. val1tk0 = (EXTR TAB2.temperatures.n4 'T' p0);
  217. HYDRAi = CHAN CHPO (TAB2 . 'VARIABLES_THM' . n4) MODTHC;
  218. val1h0 = EXTR HYDRAi 'HYDR' p0;
  219. *
  220. * Calcolo grado di saturazione
  221. CHPG1 = MANU 'CHPO' MAIL1 1 'SCAL' val1g0;
  222. CHPC1 = MANU 'CHPO' MAIL1 1 'SCAL' val1p0;
  223. CHTK1 = MANU 'CHPO' MAIL1 1 'SCAL' val1tk0;
  224. HYDR = MANU 'CHPO' MAIL1 1 'SCAL' val1h0;
  225. cha1 = MANU 'CHPO' MAIL1 1 'SCAL' a1;
  226. chb1 = MANU 'CHPO' MAIL1 1 'SCAL' b1;
  227. chc1 = MANU 'CHPO' MAIL1 1 'SCAL' c1;
  228. chgam0 = MANU 'CHPO' MAIL1 1 'SCAL' gam0;
  229. SW0 = @satura CHPC1 CHTK1 HYDR cha1 chb1 chc1 chgam0;
  230. val1sw0= MAXI SW0;
  231. *
  232. PG_P0 = PG_P0 ET (PROG val1g0);
  233. PC_P0 = PC_P0 ET (PROG val1p0);
  234. TK_P0 = TK_P0 ET (PROG val1t0);
  235. HY_P0 = HY_P0 ET (PROG val1h0);
  236. SW_P0 = SW_P0 ET (PROG val1sw0);
  237. n4 = n4 + 1;
  238. FIN BOU_T;
  239.  
  240. evpg_P1 = EVOL 'CYAN' MANU l_time PG_P0;
  241. evpc_P1 = EVOL 'BLEU' MANU l_time PC_P0;
  242. evt_P1 = EVOL 'ROUG' MANU l_time TK_P0;
  243. evh_P1 = EVOL 'VERT' MANU l_time HY_P0;
  244. evsw_P1 = EVOL 'BLEU' MANU l_time SW_P0;
  245.  
  246.  
  247. TAB_LEG = TABLE ;
  248. TAB_LEG . 1 = MOT 'MARQ ROND NOLI';
  249. *
  250. TAB_LEG . 'TITRE' = TABLE ;
  251. TAB_LEG . 'TITRE' . 1 = 'Ref. solution';
  252. TAB_LEG . 'TITRE' . 2 = 'Num. solution';
  253. *---------------------------------------------------------------------*
  254.  
  255.  
  256. *---------------------------------------------------------------------*
  257. * REFERENCE SOLUTIONS
  258. *---------------------------------------------------------------------*
  259. TE_V11 = PROG 0. 'PAS' 6. 72.;
  260. TK_V11 = PROG 296.95 297.52 304.95 334.22 342.68 346.39 348.02 348.71
  261. 349.01 349.13 349.18 349.20 349.21;
  262. ETK_V11 = EVOL 'ROUG' 'MANU' TE_V11 TK_V11;
  263.  
  264. HY_V11 = PROG 0.0000 1.13163E-02 0.15841 0.72157 0.87938 0.94809
  265. 0.97807 0.99083 0.99619 0.99842 0.99935 0.99973 0.99989;
  266. EHY_V11 = EVOL 'VERT' 'MANU' TE_V11 HY_V11;
  267.  
  268. SW_V11 = PROG 0.99830 0.99718 0.98173 0.90911 0.88406 0.87231
  269. 0.86701 0.86472 0.86375 0.86335 0.86318 0.86311 0.86308;
  270. ESW_V11 = EVOL 'BLEU' 'MANU' TE_V11 SW_V11;
  271. *---------------------------------------------------------------------*
  272.  
  273.  
  274. *---------------------------------------------------------------------*
  275. * VISUALIZATION OF RESULTS
  276. *---------------------------------------------------------------------*
  277. SI ITRAC1;
  278. DESS (ETK_V11 ET evt_P1) 'LEGE' TAB_LEG 'TITR' 'Verification test with a reference solution';
  279. DESS (EHY_V11 ET evh_P1) 'LEGE' TAB_LEG 'TITR' 'Verification test with a reference solution';
  280. DESS (ESW_V11 ET evsw_P1) 'LEGE' TAB_LEG 'TITR' 'Verification test with a reference solution';
  281. FINS;
  282. *---------------------------------------------------------------------*
  283.  
  284.  
  285. *---------------------------------------------------------------------*
  286. * COMPUTING OF NORMALIZED ERRORS
  287. *---------------------------------------------------------------------*
  288. NORM_TK = (MAXI TK_V11) - (MINI TK_V11);
  289. NORM_HY = (MAXI HY_V11) - (MINI HY_V11);
  290. NORM_SW = (MAXI SW_V11) - (MINI SW_V11);
  291.  
  292. * Estraction of corresponding times
  293. TK_P0_RED = PROG;
  294. HY_P0_RED = PROG;
  295. SW_P0_RED = PROG;
  296.  
  297. n0 = 1;
  298.  
  299. REPETER BOU_EXTR 13;
  300. TK_P0i = EXTR TK_P0 n0;
  301. HY_P0i = EXTR HY_P0 n0;
  302. SW_P0i = EXTR SW_P0 n0;
  303. TK_P0_RED = TK_P0_RED ET (PROG TK_P0i);
  304. HY_P0_RED = HY_P0_RED ET (PROG HY_P0i);
  305. SW_P0_RED = SW_P0_RED ET (PROG SW_P0i);
  306. n0 = n0 + 6;
  307. FIN BOU_EXTR;
  308.  
  309. E_TK_R = (MAXI (ABS (TK_V11 - TK_P0_RED))) / NORM_TK;
  310. E_HY_R = (MAXI (ABS (HY_V11 - HY_P0_RED))) / NORM_HY;
  311. E_SW_R = (MAXI (ABS (SW_V11 - SW_P0_RED))) / NORM_SW;
  312.  
  313. ERR0 = MAXI (PROG E_TK_R E_HY_R E_SW_R) ;
  314. MESS ' ****** Ecart relatif max. solution de reference =' ERR0 ;
  315. *---------------------------------------------------------------------*
  316.  
  317. SI (ERR0 > 1.E-2) ;
  318. ERRE 5 ;
  319. FIN ;
  320. SINO ;
  321. SAUT 1 'LIGN' ;
  322. MESS '------------------CAS-TEST BETON_THM1 REUSSI ! ------------------' ;
  323. SAUT 1 'LIGN' ;
  324. FINS ;
  325.  
  326.  
  327. FIN ;
  328.  
  329.  
  330.  

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