Télécharger @bet_thm.procedur

Retour à la liste

Numérotation des lignes :

  1. * @BET_THM PROCEDUR FD218221 26/02/16 21:15:05 12474
  2. *---------------------------------------------------------------------*
  3. * @BET_THM PROCEDUR *
  4. * PROCEDURE @BET_THM *
  5. * APPELLE PAR : @MATETHM *
  6. *---------------------------------------------------------------------*
  7. * NOM : @BET_THM *
  8. * *
  9. * LANGAGE : GIBIANE-CAST3M *
  10. * AUTEURs : G. Sciumè (I2M - University of Bordeaux) *
  11. * S. Dal Pont (3SR - Université Grenoble-Alpes) *
  12. * COURRIEL : giuseppe.sciume@u-bordeaux.fr *
  13. * stefano.dalpont@univ-grenoble-alpes.fr *
  14. *---------------------------------------------------------------------*
  15. * VERSION : v1, 31/10/2025, version initiale *
  16. * HISTORIQUE : v2, XX/XX/20XX, *
  17. *---------------------------------------------------------------------*
  18. DEBP @BET_THM MO_THM*'MMODEL' CH_glob*'CHPOINT';
  19. PRO_TRAC = FAUX;
  20.  
  21. SI PRO_TRAC;
  22. 'MESS' '*************************************************************';
  23. 'MESS' ' ENTRA IN @BET_THM ';
  24. 'MESS' '*************************************************************';
  25. 'MESS' ' ';
  26. FINS;
  27.  
  28. TAB_GEN = PRECED;
  29. WORKTAB = PRECED .'WTABLE' ;
  30. THETA_W = WORKTAB . 'RELAXATION_THETA';
  31. DT = WORKTAB . 'DT';
  32.  
  33. SI (WORKTAB . 'HT_SOL1' 'EGA' 0.);
  34. CH_glob1 = CH_glob;
  35. CH_glob2 = CH_glob ;
  36. SINO;
  37. CH_glob1 = WORKTAB . 'HT_SOL1' ;
  38. CH_glob2 = WORKTAB . 'HT_SOL2' ;
  39. FINS;
  40.  
  41. CH_W = CH_glob1 + ((CH_glob2 - CH_glob1) * THETA_W);
  42.  
  43.  
  44. *-------------------- CARACTERISTIQUES CONSTANTES --------------------*
  45. * *
  46. * RGP1 : Constante des gaz parfaits (J/mol/K) *
  47. * MMGA1 : Masse molaire de l'air (kg/m3) *
  48. * MMGW1 : Masse molaire de l'eau (kg/m3) *
  49. * RHOS1 : Masse volumique du solide (kg/m3) *
  50. * RHOW0 : Masse volumique de l'eau (kg/m3) *
  51. * CPS0 : CAPACITE CALORIFIQUE DU SOLIDE *
  52. * CPW1 : Capacite calorifique a P constante de l'eau (J/kg/K) *
  53. * CPGW1 : Capacite calorifique a P constante de la vapeur (J/kg/K) *
  54. * CPGA1 : Capacite calorifique a P constante de l'air (J/kg/K) *
  55. RGP1 = 8.3145 ;
  56. MMGA1 = 28.9645E-3 ;
  57. MMGW1 = 18.0153E-3 ;
  58. RHOS1 = 2625.8 ;
  59. RHOW0 = 1000.;
  60. CPW1 = 4181.0 ;
  61. CPGW1 = 1805.0 ;
  62. CPGA1 = 1005.7 ;
  63. DRHOWDT0 = 0.;
  64. *---------------------------------------------------------------------*
  65.  
  66. *---------------------------------------------------------------------*
  67. *---------------------------------------------------------------------*
  68. *---------------------------------------------------------------------*
  69. * BOUCLE SUR LES DIFFERENTS ZONES THERMOHYDRIQUES
  70. *
  71. SI PRO_TRAC;
  72. 'MESS' '-------------------------------------------------------------';
  73. 'MESS' '--------------- Entra ciclo materiale THM -------------------';
  74. 'MESS' '-------------------------------------------------------------';
  75. 'MESS' ' ';
  76. FINS;
  77. *---------------------------------------------------------------------*
  78. *---------------------------------------------------------------------*
  79. *---------------------------------------------------------------------*
  80. tab_zone = EXTR MO_THM 'ZONE';
  81. nzone = (dime tab_zone)/2;
  82.  
  83. indz = 1;
  84.  
  85. REPETER BOUCLE_Z nzone;
  86. *
  87. MO_THMi = tab_zone.indz;
  88. ME_THMi = 'EXTR' MO_THMi 'MAIL';
  89.  
  90. CH0 = 'REDU' ME_THMi CH_W;
  91. *VIT_HYDR = CHAN CHPO MOD1 ('REDU' MAIL_REF VHW_tot);
  92. *HYDR = CHAN CHPO MOD1 ('REDU' MAIL_REF HW_tot );
  93.  
  94. *--------------------------------------------------------------------*
  95. * UPDATE OF PARAMETERS OF ZONEi
  96. * From this point the index i is omitted for sumplicity of notation
  97. * but all variables/parameters are those of the i-zone
  98. *--------------------------------------------------------------------*
  99.  
  100. PARA_i = REDU (WORKTAB . 'MAT_THM') MO_THMi;
  101. *
  102. CPS0 = CHAN CHPO MO_THMi (('EXCO' 'CS' PARA_i) 'NOMC' 'SCAL');
  103. KS1 = CHAN CHPO MO_THMi (('EXCO' 'KS' PARA_i) 'NOMC' 'SCAL');
  104. N1 = CHAN CHPO MO_THMi (('EXCO' 'POR1' PARA_i) 'NOMC' 'SCAL');
  105. APOR = CHAN CHPO MO_THMi (('EXCO' 'APOR' PARA_i) 'NOMC' 'SCAL');
  106. GAM0 = CHAN CHPO MO_THMi (('EXCO' 'GAM0' PARA_i) 'NOMC' 'SCAL');
  107. VGA = CHAN CHPO MO_THMi (('EXCO' 'VGA' PARA_i) 'NOMC' 'SCAL');
  108. VGB = CHAN CHPO MO_THMi (('EXCO' 'VGB' PARA_i) 'NOMC' 'SCAL');
  109. VGC = CHAN CHPO MO_THMi (('EXCO' 'VGC' PARA_i) 'NOMC' 'SCAL');
  110. KK0 = CHAN CHPO MO_THMi (('EXCO' 'K1' PARA_i) 'NOMC' 'SCAL');
  111. AK = CHAN CHPO MO_THMi (('EXCO' 'AK' PARA_i) 'NOMC' 'SCAL');
  112. KLI1 = CHAN CHPO MO_THMi (('EXCO' 'KLI1' PARA_i) 'NOMC' 'SCAL');
  113. AKLI = CHAN CHPO MO_THMi (('EXCO' 'AKLI' PARA_i) 'NOMC' 'SCAL');
  114. EAR = CHAN CHPO MO_THMi (('EXCO' 'EAR' PARA_i) 'NOMC' 'SCAL');
  115. QLAT = CHAN CHPO MO_THMi (('EXCO' 'QLAT' PARA_i) 'NOMC' 'SCAL');
  116. AFF1 = CHAN CHPO MO_THMi (('EXCO' 'AFF1' PARA_i) 'NOMC' 'SCAL');
  117. AFF2 = CHAN CHPO MO_THMi (('EXCO' 'AFF2' PARA_i) 'NOMC' 'SCAL');
  118. AFF3 = CHAN CHPO MO_THMi (('EXCO' 'AFF3' PARA_i) 'NOMC' 'SCAL');
  119. AFF4 = CHAN CHPO MO_THMi (('EXCO' 'AFF4' PARA_i) 'NOMC' 'SCAL');
  120. WINF = CHAN CHPO MO_THMi (('EXCO' 'WINF' PARA_i) 'NOMC' 'SCAL');
  121.  
  122. * Construction of two CHPO (CHPO0 = 0 and CHPO1 = 1)
  123. CHPO0 = MANU CHPO ME_THMi 1 'SCAL' 0.;
  124. CHPO1 = MANU CHPO ME_THMi 1 'SCAL' 1.;
  125.  
  126. * Construction of two CHELEM (CHEL0 = 0 and CHEL1 = 1)
  127. CHEL0 = MANU 'CHML' MO_THMi 'SCAL' 0.;
  128. CHEL1 = MANU 'CHML' MO_THMi 'SCAL' 1.;
  129. *--------------------------------------------------------------------*
  130.  
  131.  
  132.  
  133. *--------------------------------------------------------------------*
  134. * EXTRACTION OF PRYMARY VARIABLE (W-value)
  135. * u = u(tn + theta*dt)
  136. *--------------------------------------------------------------------*
  137. SI PRO_TRAC;
  138. 'MESS' '--- Call of PRIMARY VARIABLES -------------------------------';
  139. FINS;
  140.  
  141. CHPGSC0 = ('EXCO' CH0 'PG') 'NOMC' 'SCAL' ;
  142. CHPCSC0 = ('EXCO' CH0 'PC') 'NOMC' 'SCAL' ;
  143. CHTKSC0 = ('EXCO' CH0 'T' ) 'NOMC' 'SCAL' ;
  144. CHTCSC0 = CHTKSC0 - 273.15 ;
  145.  
  146. * Variables de travail :
  147. CHTKSCM1 = CHTKSC0 ** -1 ;
  148. FGPGA0 = (MMGA1 / RGP1 )* CHTKSCM1 ;
  149. FGPGW0 = (MMGW1 / RGP1 )* CHTKSCM1 ;
  150. CHPGSCM1 = CHPGSC0 ** -1 ;
  151. CHPGSCM2 = CHPGSC0 ** -2 ;
  152. EASUTR = EAR * CHTKSCM1 ;
  153. *--------------------------------------------------------------------*
  154.  
  155.  
  156.  
  157. *--------------------------------------------------------------------*
  158. * UPDATE OF CHEMICAL DAMAGE : (1-value) ---> (W-value)
  159. * - from DCH(tn) to DCH(tn + theta*dt)
  160. * - output : DCH and V_DCH (W-values)
  161. *--------------------------------------------------------------------*
  162. SI PRO_TRAC;
  163. 'MESS' '--- Update of CHEMICAL DAMAGE ------------------------------';
  164. FINS;
  165.  
  166. VDCH_W DCH_W = @CH_DAMA WORKTAB CH_W;
  167. DCH = CHAN CHPO MO_THMi DCH_W;
  168. V_DCH = CHAN CHPO MO_THMi VDCH_W;
  169. *--------------------------------------------------------------------*
  170.  
  171.  
  172.  
  173. *--------------------------------------------------------------------*
  174. * UPDATE OF HYDRATION DEGREE : (1-value) ---> (W-value)
  175. * - from HYDR(tn) to HYDR(tn + theta*dt)
  176. * - output : HYDR and V_HYDR (W-values)
  177. *--------------------------------------------------------------------*
  178. SI PRO_TRAC;
  179. 'MESS' '--- Update of HYDRATION DEGREE ------------------------------';
  180. FINS;
  181.  
  182. VH_W HYD_W = @VI_HYDR WORKTAB CH_W;
  183. V_HYDR = CHAN CHPO MO_THMi VH_W;
  184. HYDR = CHAN CHPO MO_THMi HYD_W;
  185. *--------------------------------------------------------------------*
  186.  
  187.  
  188.  
  189. *--------------------------------------------------------------------*
  190. * Vitesse de dehydratation
  191. V_DHYDR = -1. * HYDR * V_DCH * (1./(DT + 1.e-6)) * (DT/(DT + 1.e-6));
  192.  
  193. * Degree de hydratation equivalent
  194. HYDR = (1. - DCH) * HYDR;
  195. *--------------------------------------------------------------------*
  196.  
  197.  
  198.  
  199.  
  200. *--------------------------------------------------------------------*
  201. * UPDATE OF C AND K MATRICES
  202. *--------------------------------------------------------------------*
  203. SI PRO_TRAC;
  204. 'MESS' '--- Update of C and K matrices ------------------------------';
  205. FINS;
  206.  
  207.  
  208. *---------------------------- SATURATION LIQU-------------------------*
  209. SW0 = @SATURA CHPCSC0 CHTKSC0 HYDR VGA VGB VGC GAM0;
  210.  
  211. * Derivee de la staturation par rapport a Pc : Ok !
  212. DSWDPC0 = (@SATURA (CHPCSC0 + 0.001) CHTKSC0 HYDR VGA VGB VGC GAM0)
  213. - (@SATURA (CHPCSC0 - 0.001) CHTKSC0 HYDR VGA VGB VGC GAM0) ;
  214. DSWDPC0 = DSWDPC0 * (1./0.002);
  215.  
  216. * Derivee de la staturation par rapport a la temperature : Ok !
  217. DSWDT0 = (@SATURA CHPCSC0 (CHTKSC0 + 0.001) HYDR VGA VGB VGC GAM0)
  218. - (@SATURA CHPCSC0 (CHTKSC0 - 0.001) HYDR VGA VGB VGC GAM0);
  219. DSWDT0 = DSWDT0 * (1./0.002);
  220.  
  221. * Derivee de la saturation par rapport a Gamma : Ok !
  222. DSWDHY0 =
  223. (@SATURA CHPCSC0 CHTKSC0 (HYDR + 0.001) VGA VGB VGC GAM0)
  224. - (@SATURA CHPCSC0 CHTKSC0 (HYDR - 0.001) VGA VGB VGC GAM0);
  225. DSWDHY0 = DSWDHY0 * (1./0.002);
  226.  
  227.  
  228. *---------------------------- SATURATION GAS--------------------------*
  229. SG0 = 1. - SW0 ;
  230.  
  231.  
  232. *----------------------------- POROSITE ------------------------------*
  233. N0 = N1 + (APOR * (1. - HYDR));
  234. DNDHY = -1.* APOR;
  235.  
  236.  
  237. *------------------- PRESSION DE VAPEUR SATURANTE --------------------*
  238. * ENTREE
  239. * - Temperature (K)
  240. * SORTIES
  241. * - Pression de vapeur saturante (Pa) : CHPVSAT0
  242. * - Derivee -/- T (Pa/K) : DPSATDT0
  243. * PARAMETRES
  244. * GCi : facteurs polynomiaux
  245. GC1 = -5.8002206E+03 ;
  246. GC2 = 1.3914993E+00 ;
  247. GC3 = -4.8640239E-02 ;
  248. GC4 = 4.1764768E-05 ;
  249. GC5 = -1.4452093E-08 ;
  250. GC6 = 6.5459673E+00 ;
  251. * Pression de vapeur saturante :
  252. CHPVSAT0 = (GC1 * CHTKSCM1) + GC2 + (GC3 * CHTKSC0)
  253. + (GC4 * (CHTKSC0 ** 2)) + (GC5 * (CHTKSC0 ** 3))
  254. + (GC6 * ('LOG'CHTKSC0)) ;
  255. CHPVSAT0 = 'EXP' CHPVSAT0 ;
  256. * Derivee -/- T :
  257. DPSATDT0 = (-1. * GC1 * (CHTKSCM1 ** 2)) + GC3 + (2. * GC4 * CHTKSC0)
  258. + (3. * GC5 * (CHTKSC0 ** 2)) + (GC6 * CHTKSCM1) ;
  259. DPSATDT0 = DPSATDT0 * CHPVSAT0 ;
  260.  
  261.  
  262. *--------------------- ENTHALPIE DE VAPORISATION ---------------------*
  263. HVAP0 = 2.5e6;
  264. DHVAPDT1 = 0.;
  265.  
  266.  
  267.  
  268. *--------------------- PERMEABILITE INTRINSEQUE ----------------------*
  269. F_MAX = 100.;
  270. HYEFF_K = EXP (2.302585 * AK * (1. - HYDR));
  271. HYEFF_K2 = BORN HYEFF_K 'SCAL' 'MAXIMUM' F_MAX;
  272. P_ATM = 101325.;
  273. PG_EFF = (CHPGSC0 * (1./P_ATM))**0.36848;
  274.  
  275. * Klinkemberg effect
  276. KK0L = KK0;
  277. BKLI = 1.635 * 1.E-8 * (KK0**-0.5227);
  278. PMBAR = CHPGSC0 * (1.E-5);
  279. KK0G = KK0 * (1. + (BKLI * (PMBAR**-1.)));
  280. KINTL = KK0L * HYEFF_K2 * PG_EFF;
  281. KINTG = KK0G * HYEFF_K2 * PG_EFF;
  282.  
  283.  
  284.  
  285. *------------------- PERMEABILITE RELATIVE AU GAZ --------------------*
  286. * ENTREE
  287. * - Saturation (-) : SW0
  288. * SORTIE
  289. * - Permeabilite relative au gaz (---) : KRG0
  290. * PARAMETRES
  291. * SCR1 : Saturation critique
  292. * AG1 : exposant
  293. SCR1 = 1. ;
  294. AG1 = 2. ;
  295. KRG0 = 1. - ((SW0 / SCR1) ** AG1) ;
  296.  
  297.  
  298. *------------------- PERMEABILITE RELATIVE A L'EAU -------------------*
  299. * ENTREE
  300. * - Saturation (-) : SW0
  301. * SORTIE
  302. * - Permeabilite relative a l'eau (---) : KRW0
  303. * PARAMETRES
  304. * VGB
  305. temp1 = EXP(VGB*(LOG(SW0)));
  306. temp2 = 1 - temp1;
  307. temp3 = EXP((VGB**(-1.))*(LOG(temp2)));
  308. temp4 = 1 - temp3;
  309. temp5 = temp4**2;
  310. temp6 = SW0**(0.5);
  311. KRW0 = temp5 * temp6 ;
  312.  
  313.  
  314. *------------------------- VISCOSITE DE L'EAU ------------------------*
  315. * ENTREE
  316. * - Temperature (K)
  317. * SORTIE
  318. * - Viscosite de l'eau (---) : MUW0
  319. * PARAMETRES
  320. * T0 : Temperature de reference (K)
  321. * ALPHW1 : coef. sur temperature
  322. * EXPOW1 : exposant
  323. T0 = 229. ;
  324. ALPHGW1 = 0.6612 ;
  325. EXPOW1 = -1.562 ;
  326. MUW0 = ALPHGW1 * ((CHTKSC0 - T0) ** EXPOW1) ;
  327.  
  328.  
  329. *------------------- VISCOSITE DE LA VAPEUR D'EAU --------------------*
  330. * ENTREE
  331. * - Temperature (C)
  332. * SORTIE
  333. * - Viscosite de la vapeur d'eau (---) : MUGW0
  334. * PARAMETRES
  335. * MUGW1 : Viscosite a 0 degre Celcius
  336. * ALPHGW1 : coef. sur temperature
  337. MUGW1 = 8.85E-6 ;
  338. ALPHGW1 = 3.633E-8 ;
  339. MUGW0 = MUGW1 + (ALPHGW1 * CHTCSC0) ;
  340.  
  341.  
  342. *---------------------- VISCOSITE DE L'AIR SEC -----------------------*
  343. * ENTREE
  344. * - Temperature (C)
  345. * SORTIE
  346. * - Viscosite de l'air sec (---) : MUGA0
  347. * PARAMETRES
  348. * MUGA1 : Viscosite a 0 degre Celcius
  349. * ALPHGA1 : coef. sur temperature
  350. * ALPHGA2 : coef. sur temperature au carre
  351. MUGA1 = 17.17E-6 ;
  352. ALPHGA1 = 4.733E-8 ;
  353. ALPHGA2 = -2.222E-11 ;
  354. MUGA0 = MUGA1 + (ALPHGA1 * CHTCSC0) + (ALPHGA2 * (CHTCSC0 ** 2)) ;
  355.  
  356.  
  357. *-------------- DIFFUSITE DE LA VAPEUR D'EAU DANS l'AIR --------------*
  358. * ENTREES
  359. * - Temperature (K)
  360. * - Pression gazeuse (Pa)
  361. * SORTIE
  362. * - Diffusivite de la vapeur d'eau dans l'air (---) : DGWGA0
  363. * PARAMETRES
  364. * T0 : Temperature de reference (0 degre C)
  365. * P0 : Pression e reference (1 atm.)
  366. * DGWGA1 : Diffusite a (T0,P0)
  367. * ET1 : Exposant sur la temperature
  368. DGWGA1 = 2.58E-5 ;
  369. T0 = 273.15 ;
  370. P0 = 101325. ;
  371. ET1 = 1.88 ;
  372. DGWGA0 = DGWGA1 * (CHPGSCM1 * P0) * ((CHTKSC0 / T0) ** ET1) ;
  373.  
  374.  
  375. *------------------------ DIFFUSITE EFFECTIVE ------------------------*
  376. * ENTREES
  377. * - Saturation (-) : SW0
  378. * - Porosite (-) : N0
  379. * - Diffusivite de la vapeur d'eau dans l'air (---) : DGWGA0
  380. * SORTIE
  381. * - Diffusivite effective (---) : DEFF0
  382. HYEFF_D = HYEFF_K2;
  383.  
  384. UNTIERS1 = 1. / 3. ;
  385. TORT1 = (N0 ** UNTIERS1) * (SG0 ** (7. * UNTIERS1)) ;
  386. TORT0 = HYEFF_D * TORT1;
  387. DEFF0 = SG0 * N0 * TORT0 * DGWGA0 ;
  388.  
  389.  
  390. *----------------- CONDUCTIVITE THERMIQUE DU SOLIDE ------------------*
  391. * ENTREES
  392. * - Temperature (K)
  393. * SORTIE
  394. * - Conductivite thermique du solide (W/m/K) : KS0
  395. * PARAMETRES
  396. * T0 : Temperature de reference (25 degres C)
  397. * KS1 : Conductivite thermique a T0
  398. * AKS1 : Coeff. de proportionalite en temperature
  399. T0 = 298. ;
  400. AKS1 = -1.017E-3 ;
  401. KS0 = KS1 + (AKS1 * (CHTKSC0 - T0)) ;
  402.  
  403.  
  404. *---------------------------------------------------------------------*
  405. * *
  406. * CALCUL DES TERMES DE LA MATRICE DU SYSTEME *
  407. * *
  408. *---------------------------------------------------------------------*
  409.  
  410. *---------------------- Quantites intermediaires ---------------------*
  411. * Modificata Dal Pont & sciume 15/02/2018
  412. *
  413. * CHPGWSC0 : Pression de vapeur d'eau (Pa, Clapeyron) :
  414. CHXX = -1. * FGPGW0 * (RHOW0 ** -1) ;
  415. CHPRE = CHPCSC0 - CHPGSC0 + CHPVSAT0;
  416. CHYY = 'EXP' (CHXX * CHPRE) ;
  417. CHPGWSC0 = CHPVSAT0 * CHYY;
  418. *
  419. * Derivées partielles de la pression de la vapeur
  420. * DPGWDPG0 : Derivee -/- Pg (-) :
  421. DPGWDPG0 = -1. * CHXX * CHPGWSC0;
  422. * DPGWDPC0 : Derivee -/- Pc (-) :
  423. DPGWDPC0 = -1. * DPGWDPG0;
  424. * DPGWDT0 : Derivee -/- T (Pa/K) :
  425. TEMP1 = ((CHPGWSC0 * (CHPVSAT0**-1.)) + DPGWDPC0) * DPSATDT0;
  426. TEMP2 = DPGWDPC0 * (-1. * CHPRE) * (((RHOW0**-1)* DRHOWDT0)
  427. + CHTKSCM1);
  428. DPGWDT0 = TEMP1 + TEMP2;
  429.  
  430. * Derivées partielles de la pression de l'air sec
  431. * DPGADPG0 : Derivee -/- Pg (-) :
  432. DPGADPG0 = 1. - DPGWDPG0;
  433. * DPGADPC0 : Derivee -/- Pc (-) :
  434. DPGADPC0 = -1. * DPGWDPC0;
  435. * DPGADT0 : Derivee -/- T (Pa/K) :
  436. DPGADT0 = -1. * DPGWDT0;
  437.  
  438. * Rho air sec et ses derivées partielles
  439. * RHOGA0 : Masse volumique de l'air sec (kg/m3) :
  440. RHOGA0 = (CHPGSC0 - CHPGWSC0) * FGPGA0 ;
  441. * DRHOGADT : Derivee -/- T (kg/m3/K) : Ok !
  442. DRHOGADT = -1. * ((RHOGA0 * CHTKSCM1) + (FGPGA0 * DPGWDT0)) ;
  443. * DRHGADPG : Derivee -/- PG (kg/m3/Pa) : Ok !
  444. DRHOGADG = FGPGA0 * DPGADPG0;
  445. * DRHGADPC : Derivee -/- PC (kg/m3/Pa) : Ok !
  446. DRHOGADC = FGPGA0 * DPGADPC0;
  447.  
  448. * Rho vapeur et ses derivées partielles
  449. * RHOGW0 : Masse volumique de la vapeur (kg/m3) :
  450. RHOGW0 = FGPGW0 * CHPGWSC0 ;
  451. * DRHOGWDT : Derivee -/- T (kg/m3/K) : Ok !
  452. DRHOGWDT = (FGPGW0 * DPGWDT0) - (RHOGW0 * CHTKSCM1) ;
  453. * DRHOGWDPG : Derivee -/- PG (kg/m3/Pa) : Ok !
  454. DRHOGWDG = FGPGW0 * DPGWDPG0 ;
  455. * DRHOGWDC : Derivee -/- PC (kg/m3/Pa) : Ok !
  456. DRHOGWDC = FGPGW0 * DPGWDPC0 ;
  457.  
  458. * MUG0 : Viscosite de la phase gazeuse :
  459. MASQ1 = (CHPGSC0 - CHPGWSC0) 'MASQ' 'SUPE' 0. ;
  460. CHXX = (1. - (CHPGWSC0 * CHPGSCM1)) * MASQ1 ;
  461. MUG0 = MUGW0 + ((MUGA0 - MUGW0) * (CHXX ** 0.6083)) ;
  462.  
  463. * RHOG0 : Masse volumique de la phase gazeuse (kg/m3) :
  464. RHOG0 = (FGPGA0 * CHPGSC0) + ((FGPGW0 - FGPGA0) * CHPGWSC0) ;
  465.  
  466. * CPG0 : Capacite calorifique a P constante du gaz (J/kg/K)
  467. CPG0 = (RHOG0 * CPGA1) + (RHOGW0 * (CPGW1 - CPGA1)) ;
  468.  
  469. * Masse Molaire du gaz (kg/mol) :
  470. MMG0 = MMGA1 + ((MMGW1 - MMGA1) * (CHPGWSC0 * CHPGSCM1)) ;
  471. *---------------------------------------------------------------------*
  472.  
  473.  
  474. *------------------------ Matrice de Capacite ------------------------*
  475.  
  476. * Pression de Gaz (PG) :
  477. CGG0 = N0 * SG0 * DRHOGADG ;
  478. CGC0 = (N0 * SG0 * DRHOGADC) - (N0 * RHOGA0 * DSWDPC0);
  479. CGT0 = (N0 * SG0 * DRHOGADT) - (N0 * RHOGA0 * DSWDT0 );
  480. CGU0 = 0;
  481.  
  482. * Pression Capillaire (PC) :
  483. CCG0 = N0 * SG0 * DRHOGWDG;
  484. CCC0 = (N0 * SG0 * DRHOGWDC) + (N0 * (RHOW0 - RHOGW0) * DSWDPC0);
  485. CCT0 = (N0 * SG0 * DRHOGWDT) + (N0 * (RHOW0 - RHOGW0) * DSWDT0 )
  486. + (N0 * SW0 * DRHOWDT0);
  487. CCU0 = 0.;
  488.  
  489. * Temperature (T):
  490. CTVE = ((1. - N0) * RHOS1 * CPS0) + (N0 * SW0 * RHOW0 * CPW1);
  491. CTG0 = 0. ;
  492. CTC0 = -1. * HVAP0 * N0 * RHOW0 * DSWDPC0 ;
  493. CTT0 = CTVE - (HVAP0 * N0 * RHOW0 * DSWDT0) -
  494. (HVAP0*N0*SW0*DRHOWDT0);
  495. CTU0 = 0.;
  496.  
  497. * Transformation en CHML pour la definition du materiau
  498. CGG0 = 'CHAN' 'CHAM' CGG0 MO_THMi ;
  499. CGC0 = 'CHAN' 'CHAM' CGC0 MO_THMi ;
  500. CGT0 = 'CHAN' 'CHAM' CGT0 MO_THMi ;
  501. CCC0 = 'CHAN' 'CHAM' CCC0 MO_THMi ;
  502. CCG0 = 'CHAN' 'CHAM' CCG0 MO_THMi ;
  503. CCT0 = 'CHAN' 'CHAM' CCT0 MO_THMi ;
  504. CTT0 = 'CHAN' 'CHAM' CTT0 MO_THMi ;
  505. CTC0 = 'CHAN' 'CHAM' CTC0 MO_THMi ;
  506.  
  507.  
  508. *---------------------- Matrice de conductivite ----------------------*
  509. * Pression de Gaz (PG) :
  510. RPERMGA0 = RHOGA0 * KINTG * KRG0 * (MUG0 ** -1) ;
  511. CHFDIFF0 = RHOG0 * MMGA1 * MMGW1 * (MMG0 ** -2) * DEFF0 ;
  512. KGG0 = RPERMGA0 +
  513. (-1. * CHFDIFF0 * CHPGSCM1 * (DPGWDPG0 - (CHPGWSC0*CHPGSCM1)));
  514. KGC0 = -1. * CHFDIFF0 * CHPGSCM1 * DPGWDPC0 ;
  515. KGT0 = -1. * CHFDIFF0 * CHPGSCM1 * DPGWDT0 ;
  516. KGU0 = 0. ;
  517.  
  518. * Pression Capillaire (PC) :
  519. RPERMGW0 = RHOGW0 * KINTG * KRG0 * (MUG0 ** -1) ;
  520. RPERMW0 = RHOW0 * KINTL * KRW0 * (MUW0 ** -1) ;
  521. KCG0 = RPERMGW0 + RPERMW0 +
  522. (CHFDIFF0 * CHPGSCM1 * (DPGWDPG0 - (CHPGWSC0 * CHPGSCM1)));
  523. KCC0 = (-1. * RPERMW0) + (CHFDIFF0 * CHPGSCM1 * DPGWDPC0) ;
  524. KCT0 = -1. * KGT0 ;
  525. KCU0 = 0. ;
  526.  
  527. * Temperature (T):
  528. KTG0 = -1. * HVAP0 * RPERMW0 ;
  529. KTC0 = -1. * KTG0 ;
  530. KTT0 = KS0 * ((4. * N0 * SW0 * RHOW0 *
  531. (((1. - N0) * RHOS1) ** -1)) + 1.) ;
  532. KTTGPG0 = 0. ;
  533. KTTGPC0 = 0. ;
  534. KTU0 = 0. ;
  535.  
  536. * Transformation en CHML pour la definition du materiau
  537. KGG0 = 'CHAN' 'CHAM' KGG0 MO_THMi ;
  538. KGC0 = 'CHAN' 'CHAM' KGC0 MO_THMi ;
  539. KGT0 = 'CHAN' 'CHAM' KGT0 MO_THMi ;
  540. KCG0 = 'CHAN' 'CHAM' KCG0 MO_THMi ;
  541. KCC0 = 'CHAN' 'CHAM' KCC0 MO_THMi ;
  542. KCT0 = 'CHAN' 'CHAM' KCT0 MO_THMi ;
  543. KTG0 = 'CHAN' 'CHAM' KTG0 MO_THMi ;
  544. KTC0 = 'CHAN' 'CHAM' KTC0 MO_THMi ;
  545. KTT0 = 'CHAN' 'CHAM' KTT0 MO_THMi ;
  546. KTGGT0 = 0. ;
  547. KTCGT0 = 0. ;
  548. *---------------------------------------------------------------------*
  549.  
  550. * Calculation of swelling strain
  551. DSWEi = MANU 'CHML' MO_THMi 'SCAL' 0.;
  552.  
  553.  
  554. *----- Construction du MCHAML de Caracteristiques : appel a MATE -----*
  555.  
  556. MAT1_ZOi = 'MATE' MO_THMi 'CGG' CGG0 'CGC' CGC0 'CGT' CGT0 'CCG' CCG0
  557. 'CCC' CCC0 'CCT' CCT0 'CTG' CTG0 'CTC' CTC0 'CTT' CTT0 'KGG' KGG0 'KGC'
  558. KGC0 'KGT' KGT0 'KCG' KCG0 'KCC' KCC0 'KCT' KCT0 'KTG' KTG0 'KTC' KTC0
  559. 'KTT' KTT0 'KTGG' KTGGT0 'KTCG' KTCGT0 'DSWE' 0. 'DHYD' 0.
  560. 'DDCH' 0.;
  561.  
  562. MAT1_ZOi = MAT1_ZOi + PARA_i;
  563.  
  564. *LIST 'RESUME' MAT1_ZOi;
  565. *TRAC MAIL_REF;
  566. *---------------------------------------------------------------------*
  567. * *
  568. * CALCUL DES TERMES DU SECOND MEMBRE *
  569. * *
  570. *---------------------------------------------------------------------*
  571. *** P_GAS *********************************************************
  572. FG_HYD1 = ((RHOGA0 * N0 * DSWDHY0) + (RHOGA0 * SG0 * APOR));
  573. FG_HYD = FG_HYD1 * (V_HYDR + V_DHYDR);
  574. FG0_TOT = 'CHAN' 'CHAM' ((-1.) * FG_HYD) MO_THMi;
  575. FG0 = ('EXCO' 'QG' ('SOUR' MO_THMi FG0_TOT )) 'NOMC' 'QG';
  576. *******************************************************************
  577.  
  578. *** P_CAP *********************************************************
  579. FC_HYD1 = ((RHOW0 * SW0) + (RHOGW0 * SG0)) * APOR;
  580. FC_HYD2 = -1. * WINF ;
  581. FC_HYD3 = -1. * N0 * (RHOW0 - RHOGW0) * DSWDHY0 ;
  582. FC_HYD = (FC_HYD1 + FC_HYD2 + FC_HYD3) * (V_HYDR + V_DHYDR);
  583. FC0_TOT = 'CHAN' 'CHAM' ((-1.) * FC_HYD) MO_THMi;
  584. FC0 = ('EXCO' 'QC' ('SOUR' MO_THMi FC0_TOT)) 'NOMC' 'QC' ;
  585. *******************************************************************
  586. *
  587. *** TEMPERATURE****************************************************
  588. FT_HYD1 = QLAT ;
  589. FT_HYD2 = HVAP0 * WINF;
  590. FT_HYD3 = HVAP0 * RHOW0 * N0 * DSWDHY0;
  591. FT_HYD4 = HVAP0 * RHOW0 * SW0 * APOR * -1.;
  592. FT_HYD = (FT_HYD1 + FT_HYD2 + FT_HYD3 + FT_HYD4) *
  593. (V_HYDR + V_DHYDR);
  594. FT0_TOT = 'CHAN' 'CHAM' ((-1.) * FT_HYD) MO_THMi;
  595. *FT0 = 'SOUR' MO_THMi FT0_TOT 'Q' ;
  596. FT0 = ('EXCO' 'Q' ('SOUR' MO_THMi FT0_TOT)) 'NOMC' 'Q' ;
  597. *******************************************************************
  598. *
  599. F0_ZOi = FG0 + FC0 + FT0 ;
  600. ***********************************************************************
  601. ***********************************************************************
  602. 'SI' (indz EGA 1);
  603. MAT1 = MAT1_ZOi;
  604. F0 = F0_ZOi;
  605. 'SINON';
  606. MAT1 = MAT1 et MAT1_ZOi;
  607. F0 = F0 + F0_ZOi;
  608. 'FINSI';
  609.  
  610. indz = indz + 2;
  611. 'FIN' BOUCLE_Z;
  612.  
  613.  
  614. ***********************************************************************
  615. ***********************************************************************
  616. * Mis à jours hydratation FORSE NON SERVA PIUIR
  617. ***********************************************************************
  618. ***********************************************************************
  619. VH_W HYD_W = @VI_HYDR WORKTAB CH_W;
  620. DE_HYD = CHAN 'NOEUD' (VH_W * DT) WORKTAB.'MOD_THM';
  621. DE_HYD = DE_HYD 'NOMC' 'HYDR';
  622.  
  623. SI ('EXIS' WORKTAB 'VAR_THM1') ;
  624. WORKTAB . 'VAR_THM2' = (WORKTAB . 'VAR_THM1') + DE_HYD;
  625. SINO;
  626. WORKTAB . 'VAR_THM1' = 'REDU' (PRECED . 'VARIABLES_THM' . 0) MO_THM;
  627. WORKTAB . 'VAR_THM2' = (WORKTAB . 'VAR_THM1') + DE_HYD;
  628. FINS;
  629.  
  630. *SALVARE DANNO CHIMICO = MOD;
  631.  
  632. * Sauvegarde
  633. I_COUR = ('DIME' PRECED . 'TEMPERATURES') - 1;
  634. PRECED . 'VARIABLES_THM' . (I_COUR + 1) = WORKTAB .'VAR_THM2';
  635. ***********************************************************************
  636. ***********************************************************************
  637.  
  638.  
  639. 'FINP' MAT1 F0;
  640. *---------------------------------------------------------------------*
  641.  
  642.  

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