Télécharger @paramec.procedur

Retour à la liste

Numérotation des lignes :

  1. * @PARAMEC PROCEDUR FD218221 26/02/16 21:15:08 12474
  2. *---------------------------------------------------------------------*
  3. * PROCEDURE @PARAMEC *
  4. *---------------------------------------------------------------------*
  5. * NOM : @PARAMEC *
  6. * *
  7. * LANGAGE : GIBIANE-CAST3M *
  8. * AUTEUR : G. Sciumè (I2M - University of Bordeaux) *
  9. * COURRIEL : giuseppe.sciume@u-bordeuax.fr *
  10. *---------------------------------------------------------------------*
  11. * COMMENTAIRE: mise a jour parametres avec le degre d'hydratation *
  12. *---------------------------------------------------------------------*
  13. * VERSION : v1, 31/10/2024, version initiale *
  14. * HISTORIQUE : v2, XX/XX/20XX, *
  15. *---------------------------------------------------------------------*
  16. DEBP @PARAMEC TABGEN*'TABLE' ;
  17.  
  18. WTAB = TABGEN. 'WTABLE' ;
  19. *
  20. *****BET_TOT = TABGEN. 'BETON' ;
  21. BET_TOT = EXTR WTAB.'MOD_MEC' 'COMP' 'BETON_THM';
  22. MAT_TOT = REDU TABGEN. 'CARACTERISTIQUES' BET_TOT;
  23. TAB_ZONE = EXTR BET_TOT 'ZONE';
  24. NZONE = ('DIME' TAB_ZONE)/2;
  25.  
  26.  
  27. *----------------------------------------------------------------------
  28. INDH1 = (DIME (TABGEN.DEPLACEMENTS)) - 1;
  29. INDH2 = INDH1 + 1;
  30. *
  31. SI (WTAB.'COUPLAGE_BETON_THM');
  32. SI (WTAB . 'HT_SOL1' 'EGA' 0.);
  33. WTAB .'TET1' = TABGEN . 'CONTINUATION' . 'TEMPERATURES' ;
  34. WTAB .'TET2' = TABGEN . 'CONTINUATION' . 'TEMPERATURES' ;
  35. SINO;
  36. WTAB .'TET1' = WTAB . 'HT_SOL1' ;
  37. WTAB .'TET2' = WTAB . 'HT_SOL2' ;
  38. FINS;
  39. SI ('EXIS' WTAB 'VAR_THM1') ;
  40. WTAB .'HYD1' = WTAB . 'VAR_THM1' ;
  41. WTAB .'HYD2' = WTAB . 'VAR_THM2' ;
  42. SINO;
  43. WTAB .'HYD1' = TABGEN . 'VARIABLES_THM' . 0;
  44. WTAB .'HYD2' = TABGEN . 'VARIABLES_THM' . 0;
  45. FINS;
  46. SINO;
  47. WTAB .'TET1' = TABGEN.'TEMPERATURES' . INDH1;
  48. WTAB .'TET2' = TABGEN.'TEMPERATURES' . INDH2;
  49. WTAB .'HYD1' = TABGEN.'VARIABLES_THM' . INDH1;
  50. WTAB .'HYD2' = TABGEN.'VARIABLES_THM' . INDH2;
  51. FINS;
  52. *
  53. SI (INDH1 'EGA' 0);
  54. TEMPO0 = 'EXTR' TABGEN.'TEMPS_CALCULES' 1;
  55. TEMPO1 = 'EXTR' TABGEN.'TEMPS_CALCULES' 2;
  56. DELTAT0 = TEMPO1 - TEMPO0;
  57. DELTAT = DELTAT0;
  58. SINO;
  59. DELTAT = WTAB.'DT';
  60. FINS;
  61. *----------------------------------------------------------------------
  62.  
  63. DT = DELTAT;
  64.  
  65.  
  66. 'SI' (DT 'EGA' 0.);
  67. DT = 1.e-12 ;
  68. 'FINSI';
  69.  
  70. *LIST DT;
  71.  
  72.  
  73. *** BOUCLE SUR LES DIFFERENTS ZONES DU MODELE TOTAL
  74. INDZ = 1;
  75. *
  76. 'REPETER' BOUCLE_Z NZONE;
  77. *
  78. MOD_i = TAB_ZONE.indz;
  79. MAT_i = 'REDU' MAT_TOT MOD_i;
  80. MAIL_i = 'EXTR' MOD_i 'MAIL';
  81. *
  82. SI (EXIS MAT_i 'TREF');
  83. TETA1 = 'REDU' MAIL_i (WTAB. 'TET1');
  84. TETA2 = 'REDU' MAIL_i (WTAB. 'TET2');
  85. FINS;
  86. *
  87. *HYDR1 = 'REDU' WTAB.HYD1 MOD_i;
  88. *HYDR2 = 'REDU' WTAB.HYD2 MOD_i;
  89. HYDR1 = PROI MOD_i WTAB.HYD1;
  90. HYDR2 = PROI MOD_i WTAB.HYD2;
  91.  
  92. *LIST 'RESUME' HYDR1;
  93.  
  94. *
  95. *LIST 'RESUME' MAT_i;
  96. *
  97. **********************************************************************
  98. * MISE A JOURS DU MATERIAU SI FORMULATION VISCOELSTIQUE *
  99. **********************************************************************
  100. *
  101. * Parametri posso convertire direttamente in CHPO
  102. YOUN = CHAN CHPO MOD_i (('EXCO' 'YOUN' MAT_i) 'NOMC' 'SCAL');
  103. NU = CHAN CHPO MOD_i (('EXCO' 'NU' MAT_i) 'NOMC' 'SCAL');
  104. KTR0 = CHAN CHPO MOD_i (('EXCO' 'KTR0' MAT_i) 'NOMC' 'SCAL');
  105. BTRA = CHAN CHPO MOD_i (('EXCO' 'BTRA' MAT_i) 'NOMC' 'SCAL');
  106. NUPO = CHAN CHPO MOD_i (('EXCO' 'NUPO' MAT_i) 'NOMC' 'SCAL');
  107. EKV1 = CHAN CHPO MOD_i (('EXCO' 'EKV1' MAT_i) 'NOMC' 'SCAL');
  108. AYOU = CHAN CHPO MOD_i (('EXCO' 'AYOU' MAT_i) 'NOMC' 'SCAL');
  109. AFTR = CHAN CHPO MOD_i (('EXCO' 'AFTR' MAT_i) 'NOMC' 'SCAL');
  110. AGFT = CHAN CHPO MOD_i (('EXCO' 'AGFT' MAT_i) 'NOMC' 'SCAL');
  111. AFLU = CHAN CHPO MOD_i (('EXCO' 'AFLU' MAT_i) 'NOMC' 'SCAL');
  112. GA0 = CHAN CHPO MOD_i (('EXCO' 'GAM0' MAT_i) 'NOMC' 'SCAL');
  113. BIOT1 = CHAN CHPO MOD_i (('EXCO' 'BIOT' MAT_i) 'NOMC' 'SCAL');
  114. *
  115. * Parametri che NON vengono aggiornati nella procedura
  116. * li tengo in CHAM e poi converto in CHPO quelli che uso
  117. ALPHA_e = (('EXCO' 'ALPH' MAT_i) 'NOMC' 'SCAL');
  118. ATRA_e = (('EXCO' 'ATRA' MAT_i) 'NOMC' 'SCAL');
  119. ACOM_e = (('EXCO' 'ACOM' MAT_i) 'NOMC' 'SCAL');
  120. BCOM_e = (('EXCO' 'BCOM' MAT_i) 'NOMC' 'SCAL');
  121. TKV1_e = (('EXCO' 'TKV1' MAT_i) 'NOMC' 'SCAL');
  122. ETA2_e = (('EXCO' 'ETA2' MAT_i) 'NOMC' 'SCAL');
  123. BETA_e = (('EXCO' 'BETA' MAT_i) 'NOMC' 'SCAL');
  124. XFDE_e = (('EXCO' 'XFDE' MAT_i) 'NOMC' 'SCAL');
  125. LCAR_e = (('EXCO' 'LCAR' MAT_i) 'NOMC' 'SCAL');
  126. YOUN_e = (('EXCO' 'YOUN' MAT_i) 'NOMC' 'SCAL');
  127. NU_e = (('EXCO' 'NU' MAT_i) 'NOMC' 'SCAL');
  128. KTR0_e = (('EXCO' 'KTR0' MAT_i) 'NOMC' 'SCAL');
  129. BTRA_e = (('EXCO' 'BTRA' MAT_i) 'NOMC' 'SCAL');
  130. EKV1_e = (('EXCO' 'EKV1' MAT_i) 'NOMC' 'SCAL');
  131. NUPO_e = (('EXCO' 'NUPO' MAT_i) 'NOMC' 'SCAL');
  132. OMEG_e = (('EXCO' 'OMEG' MAT_i) 'NOMC' 'SCAL');
  133. VGA_e = (('EXCO' 'VGA' MAT_i) 'NOMC' 'SCAL');
  134. VGB_e = (('EXCO' 'VGB' MAT_i) 'NOMC' 'SCAL');
  135. VGC_e = (('EXCO' 'VGC' MAT_i) 'NOMC' 'SCAL');
  136.  
  137. SI (EXIS MAT_i 'TREF');
  138. TREF_e = (('EXCO' 'TREF' MAT_i) 'NOMC' 'SCAL');
  139. TALP_e = (('EXCO' 'TALP' MAT_i) 'NOMC' 'SCAL');
  140. FINS;
  141.  
  142. *-------------------------------
  143. ATRA = CHAN CHPO MOD_i ATRA_e;
  144. TKV1 = CHAN CHPO MOD_i TKV1_e;
  145. LCA1 = CHAN CHPO MOD_i LCAR_e;
  146. FTR = YOUN * KTR0;
  147. *--------------------------------------------------------------------
  148.  
  149. *LIST 'RESUME' HYDR1;
  150.  
  151. * GESTION DU DEGRE DE HYDRATATION
  152. *GA1 = (CHAN CHPO MOD_i (PROI MOD_i HYDR1)) 'NOMC' 'SCAL';
  153. *GA2 = (CHAN CHPO MOD_i (PROI MOD_i HYDR2)) 'NOMC' 'SCAL';
  154. GA1 = (CHAN CHPO MOD_i HYDR1) 'NOMC' 'SCAL';
  155. GA2 = (CHAN CHPO MOD_i HYDR2) 'NOMC' 'SCAL';
  156. GAm = 0.5 * (GA1 + GA2);
  157. Hmin = 0.05;
  158. MATUR1 = 'BORN' ((GA1 - GA0)*((1. - GA0)**-1.)) 'SCAL' 'MINIMUM' Hmin;
  159. MATUR2 = 'BORN' ((GA2 - GA0)*((1. - GA0)**-1.)) 'SCAL' 'MINIMUM' Hmin;
  160. MATUR = 'BORN' ((GAm - GA0)*((1. - GA0)**-1.)) 'SCAL' 'MINIMUM' Hmin;
  161.  
  162. * MISE A JOURS DU MATERIAU
  163. * Estraggo scalare
  164. AYOU_SC = MAXI AYOU;
  165. AFTR_SC = MAXI AFTR;
  166. AGFT_SC = MAXI AGFT;
  167. AFLU_SC = MAXI AFLU;
  168. GAM01_SC = MAXI GA0;
  169. YOUN_mod = YOUN * (MATUR ** AYOU_SC);
  170. FTR_mod = FTR * (MATUR ** AFTR_SC);
  171. GFT_mod = BTRA * (MATUR ** AGFT_SC);
  172. KTR0_mod = FTR_mod * (YOUN_mod ** (-1.)) ;
  173. BTRA_mod = GFT_mod;
  174.  
  175. *** Conversion en CHAM
  176. YOUN_mod = 'CHAN' 'CHAM' YOUN_mod MOD_i ;
  177. KTR0_mod = 'CHAN' 'CHAM' KTR0_mod MOD_i ;
  178. BTRA_mod = 'CHAN' 'CHAM' BTRA_mod MOD_i ;
  179. ***
  180.  
  181. *** GESTION PARTIE FLUAGE
  182. EKV1_1 = (EKV1 * 0.473 * ((2.081 - (1.608 * MATUR1))**(-1.)) *
  183. (MATUR1 ** AFLU_SC));
  184. EKV1_2 = (EKV1 * 0.473 * ((2.081 - (1.608 * MATUR2))**(-1.)) *
  185. (MATUR2 ** AFLU_SC));
  186. EKV1_moy = (EKV1 * 0.473 * ((2.081 - (1.608 * MATUR))**(-1.)) *
  187. (MATUR ** AFLU_SC));
  188. *
  189. DEKV1 = (EKV1_2 - EKV1_1) * (1./dt);
  190. OMEGA = 1. + (DEKV1 * TKV1 * (EKV1_moy ** (-1.)));
  191. EKV1_mod = 'CHAN' 'CHAM' EKV1_moy MOD_i ;
  192. OME_mod = 'CHAN' 'CHAM' OMEGA MOD_i ;
  193.  
  194. BIOT1_SC = MAXI BIOT1;
  195.  
  196. * Partie necessaire pour le fluagede dessiccation
  197.  
  198. SI (EXIS MAT_i 'TREF');
  199. PC1 = (EXCO 'PC' TETA1) 'NOMC' 'SCAL';
  200. PC2 = (EXCO 'PC' TETA2) 'NOMC' 'SCAL';
  201. DPC = (PC2 - PC1) * (1./dt);
  202. DPC_e = 'CHAN' 'CHAM' DPC MOD_i ;
  203. FINS;
  204. ***********************************************
  205.  
  206. MAT_imod = MATE MOD_i 'YOUN' YOUN_mod 'NU' NU_e 'KTR0' KTR0_mod
  207. 'ALPH' alpha_e 'ATRA' atra_e 'BTRA' BTRA_mod 'ACOM' acom_e
  208. 'BCOM' bcom_e 'EKV1' EKV1_mod 'TKV1' TKV1_e 'ETA2' eta2_e
  209. 'NUPO' NUPO_e 'BETA' beta_e 'XFDE' XFDE_e 'LCAR' LCAR_e
  210. 'OMEG' OME_MOD 'DPC' 0. 'GAM0' GAM01_SC 'AYOU' AYOU_SC
  211. 'AFTR' AFTR_SC 'AFLU' AFLU_SC 'AGFT' AGFT_SC 'BIOT' BIOT1_SC
  212. 'VGA' VGA_e 'VGB' VGB_e 'VGC' VGC_e;
  213.  
  214. SI (EXIS MAT_i 'TREF');
  215. MAT_imod = MATE MOD_i 'YOUN' YOUN_mod 'NU' NU_e 'KTR0' KTR0_mod
  216. 'ALPH' alpha_e 'ATRA' atra_e 'BTRA' BTRA_mod 'ACOM' acom_e
  217. 'BCOM' bcom_e 'EKV1' EKV1_mod 'TKV1' TKV1_e 'ETA2' eta2_e
  218. 'NUPO' NUPO_e 'BETA' beta_e 'XFDE' XFDE_e 'LCAR' LCAR_e
  219. 'OMEG' OME_MOD 'DPC' DPC_e 'GAM0' GAM01_SC 'AYOU' AYOU_SC
  220. 'AFTR' AFTR_SC 'AFLU' AFLU_SC 'AGFT' AGFT_SC 'BIOT' BIOT1_SC
  221. 'VGA' VGA_e 'VGB' VGB_e 'VGC' VGC_e
  222. 'TREF' TREF_e 'TALP' TALP_e;
  223. FINS;
  224.  
  225. 'SI' (indz EGA 1);
  226. MAT_fin = MAT_imod;
  227. 'SINON';
  228. MAT_fin = MAT_fin et MAT_imod;
  229. 'FINSI';
  230.  
  231. indz = indz + 2;
  232. 'FIN' BOUCLE_Z;
  233.  
  234. SI (EXIS TABGEN 'MATE_AGGR');
  235. MAT_fin = MAT_fin ET (TABGEN. 'MATE_AGGR' );
  236. FINS;
  237.  
  238. FINPROC MAT_fin;
  239. ***********************************************************************
  240. * FIN PROCEDURE @PARAMEC
  241. ***********************************************************************
  242.  
  243.  

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