Download htctran.procedur

Back to the list

   1 : * HTCTRAN   PROCEDUR  AM        11/09/13    21:15:03     7126           
   2 : *-----------------------------------------------------------------------        
   3 : *23456789012345678901234567890123456789012345678901234567890123456789012        
   4 : *-----------------------------------------------------------------------        
   5 : *-----------------------------------------------------------------------        
   6 : 'DEBPROC' HTCTRAN   N_PAS*'ENTIER'  NN_PAS*'ENTIER' N_ITER*'ENTIER'             
   7 :                     T_PAS*'FLOTTANT' MODL1*'MMODEL'   TAV1*'TABLE';            
   8 : *-----------------------------------------------------------------------        
   9 : 'MESS' '--------------------------------------------------------------';        
  10 : 'MESS' '------------------------H T C T R A N-------------------------';
  11 : 'MESS' '                                                              ';
  12 : 'MESS' '---Bazant coupled moisture and heat transfer in concrete------';
  13 : 'MESS' '                                                              ';
  14 : 'MESS' ' Conservation of mass                                         ';
  15 : 'MESS' '                                                              ';
  16 : 'MESS' '     d W   dWd                   a                            ';        
  17 : 'MESS' '     --- - --- = - div J , J= - --- grad P                    ';
  18 : 'MESS' '     d t   d t                   g                            ';
  19 : 'MESS' '                                                              ';
  20 : 'MESS' ' Heat balance                                                 ';
  21 : 'MESS' '                                                              ';
  22 : 'MESS' '         d T      d W                                         '; 
  23 : 'MESS' '  (De Cp)--- - Ca --- - Cw J grad T = - div q , q= - k grad T '; 
  24 : 'MESS' '         d t      d t                                         ';        
  25 : 'MESS' '--------------------------------------------------------------';        
  26 : 'MESS' '---last mod. - : 22-08-11 - hour :-18.00----------------------';        
  27 : 'MESS' '--------------------------------------------------------------';        
  28 : *-----------------------------------------------------------------------        
  29 : * Auteur  : G.M. Giannuzzi, ENEA-UTRINN-PCI    (1998)  
  30 : * ----------------------------------------------------------------------
  31 : * Modifié : G.M. Giannuzzi, ENEA-UTRINN-PCI le 14-07-2011
  32 : *-----------------------------------------------------------------------
  33 : *                                                                               
  34 : * DESCRIPTION:     Procedure for heat and moisture                              
  35 : *                  transfer analysis in concrete based
  36 : *                  on a modified Bazant model.                                  
  37 : *                  Axisymmetric and plane cases and 3D                          
  38 : *                  with several boundaries                                      
  39 : *                  exchanging vapour and heat.
  40 : *         
  41 : *-----------------------------------------------------------------------        
  42 : *
  43 : 'SI'('NON'('EXIS' TAV1 'DETR' ));
  44 :   FDET = VRAI; TAV1.'DETR'= FDET; 
  45 : 'SINON'; 
  46 :   FDET=TAV1.'DETR'; 
  47 : 'FINSI';
  48 : 'SI'('NON'('EXIS' TAV1 'GRAF' ));
  49 :   GRAF = FAUX; TAV1.'GRAF'= GRAF; 
  50 : 'SINON'; 
  51 :   GRAF=TAV1.'GRAF'; 
  52 : 'FINSI';
  53 : 'SI'('NON'('EXIS' TAV1 'FLG1' ));
  54 :   FLG1 = FAUX; TAV1.'FLG1'= FLG1; 
  55 : 'SINON'; 
  56 :   FLG1=TAV1.'FLG1';
  57 : 'FINSI'; 
  58 : 'SI'('NON'('EXIS' TAV1 'FLG' ));
  59 :   FLG = 0; TAV1.'FLG'= FLG; 
  60 : 'SINON'; 
  61 :   FLG=TAV1.'FLG';
  62 : 'FINSI';                                             
  63 : *                                                               
  64 : *  Mesh  and model definition                                   
  65 : *                                                               
  66 : MAGLIA='EXTR' MODL1 'MAIL';                                     
  67 : *                                                               
  68 : 'SI' ('EGA' ('VALE' 'MODE') 'AXIS');                            
  69 :   FF1= 'MOT' 'T,R';                                             
  70 :   FF2= 'MOT' 'T,Z'; 
  71 :   FF3= 'MOT' '  ';    
  72 :   LICF='MOTS'  FF1    FF2; 
  73 :   LICJ='MOTS' 'JX_R' 'JY_Z';                      
  74 : 'SINON' ;                                                       
  75 :  'SI' (('EGA' ('VALE' 'MODE') 'PLANDEFO') 'OU'                  
  76 :        ('EGA' ('VALE' 'MODE') 'PLANCONT'));                     
  77 :    FF1= 'MOT' 'T,X';                                            
  78 :    FF2= 'MOT' 'T,Y';
  79 :    FF3= 'MOT' '  ' ;
  80 :    LICF='MOTS'  FF1    FF2; 
  81 :    LICJ='MOTS' 'JX_R' 'JY_Z';                            
  82 :  'SINON';
  83 :   'SI' ('EGA' ('VALE' 'MODE') 'TRID');
  84 :     FF1= 'MOT' 'T,X';                                            
  85 :     FF2= 'MOT' 'T,Y';                                            
  86 :     FF3= 'MOT' 'T,Z';
  87 :     LICF='MOTS'  FF1    FF2    FF3;
  88 :     LICJ='MOTS' 'JX_R' 'JY_Z' 'JZ_Z';                                           
  89 :   'SINON';                                                                      
  90 :    'MESS' '*** ERREUR -  MODELE INCOMPATIBLE ' ;                  
  91 :    'QUITTER' HTCTRAN;                                            
  92 :   'FINSI';
  93 :  'FINSI';                                                     
  94 : 'FINSI';                                                        
  95 : *                                                               
  96 :  LIPT='MOTS' 'T';                                               
  97 :  LICP='MOTS' 'P'    'LX'  ;                                     
  98 :  LICT='MOTS' 'T'    'LX'  ;                                                     
  99 : *                                                               
 100 : *==================================================             
 101 : *   ANALISYS OF THE DATA SUPPLIED IN INPUT TABLE                
 102 : *==================================================             
 103 : *                                                               
 104 : *PARAMETRI DI CONTROLLO                                         
 105 : *                                                               
 106 : 'SI'('NON'('EXIS' TAV1 'GAMMA'));                               
 107 :   GAMMA=1.;TAV1.'GAMMA'=GAMMA;                                  
 108 : 'SINON';                                                        
 109 :   GAMMA=TAV1.'GAMMA';                                           
 110 : 'FINSI';
 111 : * 
 112 : * VARIAZIONE DI P E T 
 113 : * PER CUI SCATTA LA DERIVATA TANGENTE
 114 : *                                                           
 115 : 'SI'('NON'('EXIS' TAV1 'EPSILON' ));        
 116 :   EPS1=1.E-8;TAV1.'EPSILON'=EPS1;         
 117 : 'SINON';                                  
 118 :   EPS1=TAV1.'EPSILON';                     
 119 : 'FINSI';                                  
 120 : *
 121 : * ERRORI SULLA CONVERGENZA
 122 : *                                                                
 123 : 'SI'('NON'('EXIS' TAV1 'ERPM' ));                                
 124 :   ERPM=1.E-4;TAV1.'ERPM'=ERPM;                                   
 125 : 'SINON';                                                         
 126 :   ERPM=TAV1.'ERPM';                                              
 127 : 'FINSI';                                                         
 128 : 'SI'('NON'('EXIS' TAV1 'ERTM' ));                                
 129 :   ERTM=1.E-4;TAV1.'ERTM'=ERTM;                                   
 130 : 'SINON';                                                         
 131 :   ERTM=TAV1.'ERTM';                                              
 132 : 'FINSI';                                                         
 133 : *                                                                
 134 : *  Crank-Nicholson's scheme: time integration constant    
 135 : *                                                         
 136 : 'SI' ( 'NON' ( 'EXIS' TAV1 'LAMBDA' ));                   
 137 :   LAMBDA=0.5;TAV1 . 'LAMBDA'= LAMBDA;                     
 138 : 'SINON';                                                  
 139 :   LAMBDA= TAV1 . 'LAMBDA';                                
 140 : 'FINSI';                                                  
 141 :  UMLAMBDA=1.-LAMBDA;                                      
 142 : *                                                         
 143 : *  Reference temperature [øC ]                            
 144 : *                                                         
 145 : 'SI' ( 'NON' ( 'EXIST' TAV1 'TEMPERATURE_INITIALE' ));      
 146 :   TREF=25.;TAV1 . 'TEMPERATURE_INITIALE'= TREF;             
 147 : 'SINON';                                                    
 148 :   TREF = TAV1 . 'TEMPERATURE_INITIALE' ;                    
 149 : 'FINSI';                                                    
 150 : *                                                           
 151 : *  Reference pressure [N/mmq= Mpa]                          
 152 : *                                                           
 153 : 'SI' ( 'NON' ( 'EXIST' TAV1 'PRESSION_INITIALE' ));         
 154 :  'MESS' '*** ERREUR - IL MANQUE LA PRESSION INITIALE' ;     
 155 :  'QUITTER' HTCTRAN;                                         
 156 : 'SINON';                                                    
 157 :   PREF = TAV1 . 'PRESSION_INITIALE' ;                       
 158 : 'FINSI';                                                    
 159 : *                                                           
 160 : *  Water saturation content at 25 °C [Kg/mc]                
 161 : *                                                           
 162 : 'SI' ( 'NON' ( 'EXIST' TAV1 'W1' ));                        
 163 :   TAV1.'W1'=100.;                                           
 164 : 'FINSI';
 165 : *
 166 : * Dehydration water specific heat   [J/Kg]
 167 : *                                                              
 168 : 'SI' ( 'NON' ( 'EXIST' TAV1 'CAD' ));                          
 169 :   CAD=0.2328E6;
 170 :   TAV1.'CAD'= CAD;   
 171 : 'SINON';             
 172 :   CAD=TAV1.'CAD';    
 173 : 'FINSI';
 174 : *Heat capacity of interstitial and bound water J/kg-C
 175 :  CBW=3760.;
 176 : *
 177 : * Smooth for Ca as a function of h
 178 : *
 179 : *PL1 = 'PROG' 0. 95. 95.5 96. 96.5 97. 98. 99. 100. 101. 102.
 180 : *          103. 103.5  104. 104.5  105. 1000. ; 
 181 : *PL2 = 'PROG' 0. 0. 0.0062 0.0245 0.0545 0.0955 0.2061 0.3455 0.5 
 182 : *          0.6545 0.7939 0.9045 0.9455 0.9755 0.9938  1.  1. ;
 183 : *
 184 :  PL1 = 'PROG' 0. 1. 'PAS' 0.005 1.06 20. ;
 185 :  PL2 = 'PROG' 1. 1. 0. 0. ;
 186 : 'REPE' LOOPA (('DIME' PL1) - 4) ;
 187 :   I = &LOOPA + 2 ;
 188 :   VPL1 = 'EXTR' PL1 I ;
 189 :   VPL2 = ('COS'((VPL1 - 1.)/0.06*90.))**2;
 190 :   PL2  = 'INSE' PL2 I VPL2 ;
 191 : 'FIN' LOOPA;
 192 :  EVCA = 'EVOL' 'MANU' PL1 'SCAL' PL2 'SCAL' ; 
 193 : *                                               
 194 : *  Cement content [Kg/mc]                       
 195 : *                                               
 196 : 'SI' ( 'NON' ( 'EXIST' TAV1 'C' ));             
 197 :   CC=300.;TAV1.'C'=CC;                          
 198 : 'SINON';                                        
 199 :   CC=TAV1.'C';                                  
 200 : 'FINSI';                                    
 201 : *                                               
 202 : *  Initial permeability [m/s]                   
 203 : *                                               
 204 : 'SI' ( 'NON' ( 'EXIST' TAV1 'A0' ));            
 205 :   TAV1.'A0'=1.E-13;                             
 206 : 'FINSI';                                        
 207 : *                                               
 208 : *  Thermal capacity of the drying concrete [J/(m3*C)]       
 209 : *                                                                               
 210 : *
 211 : * Density of dry concrete a 25 °C Kg/m3
 212 : * 
 213 : 'SI' ( 'NON' ( 'EXIST' TAV1 'DEN_SEC' ));             
 214 :   DEN_SEC= 2400.; TAV1 . 'DEN_SEC' = DEN_SEC;
 215 : 'SINON';
 216 :   DEN_SEC=TAV1 . 'DEN_SEC';
 217 : 'FINSI';
 218 : *
 219 : * Specific heat of dry concrete a 25 °C J/kg-C
 220 : *    
 221 : 'SI' ( 'NON' ( 'EXIST' TAV1 'CCP_SEC' ));             
 222 :   CCP_SEC= 880.; TAV1 . 'CCP_SEC' = CCP_SEC;
 223 : 'SINON';
 224 :   CCP_SEC=TAV1 . 'DEN_SEC';
 225 : 'FINSI';
 226 :  ROCSEC=CCP_SEC * DEN_SEC; 
 227 :  TAV1 . 'ROCSEC' = ROCSEC;    
 228 : *
 229 : * Thermal conductivity of the concrete [W/m*K]
 230 : *                                                                      
 231 : 'SI' ( 'NON' ( 'EXIST' TAV1 'K0_SEC' ));
 232 :   K0_SEC =1.92    ; TAV1 . 'K0_SEC' = K0_SEC;  
 233 :   K1_SEC =-0.00125; TAV1 . 'K1_SEC' = K1_SEC;
 234 : 'SINON';
 235 :   K0_SEC= TAV1 . 'K0_SEC'; 
 236 :   K1_SEC= TAV1 . 'K1_SEC';
 237 : 'FINSI';                                                                        
 238 : *                                                 
 239 : *  Volumetric elasticity modulus MPa              
 240 : *                                                 
 241 : 'SI' ( 'NON' ( 'EXIST' TAV1 'E0' ));              
 242 :   E0=35000. ;TAV1.'E0'= E0 ;                                           
 243 : 'SINON';                                          
 244 :   E0=TAV1.'E0' ;                                  
 245 : 'FINSI';                                          
 246 : 'SI' ( 'NON' ( 'EXIST' TAV1 'NU' ));              
 247 :   NU=.18;TAV1.'NU'=NU;                            
 248 : 'SINON';                                          
 249 :   NU=TAV1.'NU' ;                                  
 250 : 'FINSI';                                          
 251 : * --->  BM = E0/3(1-2v) * E/E0(T)                 
 252 : 'SI' ( 'NON' ( 'EXIST' TAV1 'EE0T' ));            
 253 : * Due to  DTU                             
 254 :   EE01 = 'PROG' 1. 1. .5   .15  .05   ;            
 255 :   TTT1 = 'PROG' 0. 50. 200. 400. 600. ;            
 256 : 'SINON';                                           
 257 :   EE0T= TAV1.'EE0T';                               
 258 :   TTT1='EXTR' EE0T 'ABSC';                         
 259 :   EE01='EXTR' EE0T 'ORDO';                         
 260 : 'FINSI';                                          
 261 :  EE01 =(EE01/(3.*(-2.* NU + 1.)))*E0;             
 262 :  EBM ='EVOL' 'MANU' TTT1 EE01 ;                   
 263 :  TAV1.'EBM'=EBM;                                  
 264 : *                                                 
 265 : *  Coefficient of linear thermal dilatation[/øC]   
 266 : *                                                   
 267 : 'SI' ( 'NON' ( 'EXIST' TAV1 'ALFA' ));              
 268 :   ALFA=9.E-6;TAV1.'ALFA'=ALFA;                      
 269 : 'SINON';                                            
 270 :   ALFA = TAV1.'ALFA';                               
 271 : 'FINSI';                                            
 272 : *                                                   
 273 : * Dehydration curve of concrete                     
 274 : *                                                   
 275 : 'SI' ( 'NON' ( 'EXIST' TAV1 'EWD' ));               
 276 : *  PT  = 'PROG'    0. 105. 180. 200. 220. 240. 260.   
 277 : *                280. 300. 320. 340. 360. 400. 600. ;
 278 : *  PWD = 0.66 * ('PROG'  0.    0.  .264  .302  .498  1.057 3.358 
 279 : *              5.283 6.377 7.019 7.283 7.472 7.660 8.075 )*(CC/100.);
 280 :   'SI' ( 'NON' ( 'EXIST' TAV1 'F_STE'));
 281 : *Stoichiometric factor  
 282 :     F_STE = 0.24; TAV1 . 'F_STE' = F_STE;
 283 :   'SINON';
 284 :     F_STE=TAV1 .'F_STE';
 285 :   'FINSI';
 286 :   'SI' ( 'NON' ( 'EXIST' TAV1 'F_INV'));
 287 : *Aging factor 
 288 :     F_INV = 0.95; TAV1 . 'F_INV' = F_INV;
 289 :   'SINON';
 290 :     F_INV=TAV1 .'F_INV';
 291 :   'FINSI';
 292 :   PT1 = 'PROG' 105. 'PAS' 5. 800.;
 293 :   PT  = ('PROG' 0. ) 'ET' PT1;
 294 :   N_PT1='DIME' PT1; PU='PROG' N_PT1*1.; 
 295 :   PWD=(PU+ (SIN ((180./2.)*
 296 :       (PU-(2.*(EXP (-0.004*(PT1-(105.*PU)))))))))/2.;
 297 :   PWD= (F_STE*F_INV*CC)*(('PROG' 0.) 'ET' PWD);
 298 :   EWD ='EVOL' 'MANU' PT  PWD ;TAV1.'EWD'=EWD;                        
 299 : 'SINON';
 300 :   EWD=TAV1.'EWD';
 301 :   PWD='EXTR' EWD 'ORDO'; 
 302 : 'FINSI';
 303 : *DESS EWD 'TITR' 'Water released by dehydrazion Kg/m3';
 304 : WD0='MAXI' PWD;                                                          
 305 : *                                                                   
 306 : * Thermal stiffness matrix                                          
 307 : *                                                                   
 308 : 'SI' ( 'EXIST' TAV1 'CONDUCTIVITE_THERMIQUE' );                        
 309 :  'MESS' ' CONDUCTIVITE THERMIQUE ' ;                                    
 310 :   RIG_V = TAV1 . 'CONDUCTIVITE_THERMIQUE' ;                         
 311 : 'FINSI';                                                            
 312 : *                                                                   
 313 : *  Thermal load                                                     
 314 : *
 315 :  IFT  =FAUX ; 
 316 :  IFTC =FAUX ;                                                        
 317 : 'SI' ( 'EXIST' TAV1 'CONVECTION_THERMIQUE' );                          
 318 :  'MESS' ' CONVECTION THERMIQUE' ;                               
 319 :   TCHARCT = TAV1 . 'CONVECTION_THERMIQUE' ;
 320 :   TCONDC='EXTR' RIG_V 'RIGI' 'NOMU'; 
 321 :   IFT  =VRAI ;
 322 :   IFTC =VRAI ;                                      
 323 : 'FINSI';
 324 :  IFTB =FAUX ;                                              
 325 : 'SI' (  'EXIST' TAV1 'BLOCAGES_THERMIQUE' );               
 326 :  'MESS' ' BLOCAGES THERMIQUE' ;                           
 327 :   TCHARTI = TAV1 . 'BLOCAGES_THERMIQUE' ;
 328 :   TCONDB='EXTR' RIG_V 'RIGI' 'MULT';         
 329 :   IFT  =VRAI ;  
 330 :   IFTB =VRAI ;                                           
 331 : 'FINSI';        
 332 : 'SI' (  'EXIST' TAV1 'FLUX_THERMIQUE' );      
 333 :  'MESS' ' FLUX THERMIQUE ' ;         
 334 :   TCHARFT = TAV1 . 'FLUX_THERMIQUE' ;
 335 :   IFT = VRAI ;                       
 336 : 'FINSI';                             
 337 : *                                    
 338 : * Hydraulic stiffness matrix         
 339 : *                 
 340 : 'SI' ( 'EXIST' TAV1 'CONDUCTIVITE_HYDRAULIQUE' );                      
 341 :   MESS ' CONDUCTIVITE HYDRAULIQUE';                       
 342 :   PCOND2 = TAV1 . 'CONDUCTIVITE_HYDRAULIQUE' ;         
 343 : 'FINSI';                                               
 344 : *                                                      
 345 : *  Hydraulic load                                      
 346 : *                                                      
 347 :  IFP = FAUX; 
 348 :  IFPC = FAUX;                                           
 349 : 'SI' ( 'EXIST' TAV1 'CONVECTION_HYDRAULIQUE' );                        
 350 :  'MESS' ' CONVECTION HYDRAULIQUE' ;                    
 351 :   PCHARCH = TAV1 . 'CONVECTION_HYDRAULIQUE' ;
 352 :   PCONDC='EXTR' PCOND2 'RIGI' 'NOMU';          
 353 :   IFP = VRAI ;
 354 :   IFPC = VRAI ;                                          
 355 : 'FINSI';                                               
 356 :  IFPB = FAUX ;                                         
 357 : 'SI' ( 'EXIST' TAV1 'BLOCAGES_HYDRAULIQUE' );                          
 358 :  'MESS' ' BLOCAGES_HYDRAULIQUE' ;                         
 359 :   PCHARPI = TAV1 . 'BLOCAGES_HYDRAULIQUE' ;
 360 :   PCONDB='EXTR' PCOND2 'RIGI' 'MULT';             
 361 :   IFP  = VRAI ;                                        
 362 :   IFPB = VRAI ;                                        
 363 : 'FINSI';                                               
 364 : 'SI' ( 'EXIST' TAV1 'FLUX_HYDRAULIQUE' );                              
 365 :  'MESS' ' FLUX_HYDRAULIQUE ' ;                       
 366 :   PCHARFH = TAV1 . 'FLUX_HYDRAULIQUE' ;                
 367 :   IFP = VRAI ;                                         
 368 : 'FINSI';
 369 : 'SI' IFP;
 370 :  'SI' ('EXIST' TAV1 'FRONTIERES_PRESSION');                
 371 :    NFRONT= 'DIME' TAV1.'FRONTIERES_PRESSION'; 
 372 :  'SINON';
 373 :   'MESS' '*** ERREUR - DANS LES CONDITIONS AUX LIMITES'           
 374 :          ' EN PRESSION ' ; 
 375 :  'FINSI';
 376 : 'FINSI';   
 377 : *--------------------------------------------------    
 378 : *               RESTART PROCEDURE                      
 379 : *--------------------------------------------------    
 380 : *                                                      
 381 : 'SI' ( 'NON' ('EXIST' TAV1 'RESULTATS' ));             
 382 :   RESTART1= FAUX;                                      
 383 :   TEMPO = 0.;                                                  
 384 :   T0    =  'MANU' 'CHPO' MAGLIA  1 'SCAL' TREF ;                   
 385 :   P0    =  'MANU' 'CHPO' MAGLIA  1 'SCAL' PREF ;            
 386 :   VT0   =  'MANU' 'CHPO' MAGLIA  1 'SCAL' 0. ;                   
 387 :   VP0   =  'MANU' 'CHPO' MAGLIA  1 'SCAL' 0. ;
 388 :   WI   HI   = HTC_WWW   T0       P0       TAV1 ;  
 389 :   WT1 HT1   = HTC_WWW  (T0 + 1.) P0       TAV1 ;
 390 :   DWT0      = WT1 - WI ;
 391 :   WP1 HP1   = HTC_WWW   T0      (P0 + 0.00001) TAV1 ;
 392 :   DWP0      = (WP1 - WI)/0.00001 ;
 393 :   DWD0      = 'MANU' 'CHPO' MAGLIA 1 'SCAL'  0.;
 394 :   WD        = 'MANU' 'CHPO' MAGLIA  1 'SCAL' 0.;
 395 :   TAV1.'WDM'=  WD;
 396 : *                                
 397 :   CHI='CHAN' 'CHAM' MODL1 WI;    
 398 :   MI ='INTG' MODL1 CHI; 
 399 :   MT = MI ;                                                        
 400 :   PSAT = HTC_WTR TAV1 'SATU' T0 ;
 401 : *
 402 :   TAV1.'TMAX'=T0; 
 403 :   T0='NOMC' 'T'  T0;
 404 :   P0='NOMC' 'T'  P0;
 405 : *
 406 :  'MESS' '-----------------------------------';                                  
 407 :  'MESS' ' MASSE D EAU  INITIALE ' MI;                           
 408 :  'MESS' ' H.R.         INITIALE ' ('MAXI' HI);
 409 :  'MESS' ' PRE. SAT.    INITIALE ' ('MAXI' PSAT);
 410 : *
 411 :   PERMAS=0.;
 412 :   IPAS=0;                                        
 413 : *                  
 414 :   TAV1.'MI'             = MI;                                                   
 415 :   TAV1.'RESULTATS'      = 'TABLE';
 416 :   TAV1.'RESULTATS'.IPAS = 'TABLE';                       
 417 :   TAV1.'RESULTATS'.IPAS.'INSTANT'           = 0. ;              
 418 :   TAV1.'RESULTATS'.IPAS.'TEMPERATURE'       = T0 ;                 
 419 :   TAV1.'RESULTATS'.IPAS.'PRESSION'          ='NOMC' 'P'  P0;  
 420 :   TAV1.'RESULTATS'.IPAS.'HUMIDITE_RELATIVE' ='NOMC' 'HR' HI;      
 421 :   TAV1.'RESULTATS'.IPAS.'EAU_LIBRE'         ='NOMC' 'WF' WI;      
 422 :   TAV1.'RESULTATS'.IPAS.'EAU_LIEE'          ='NOMC' 'WD' WD;  
 423 :   TAV1.'RESULTATS'.IPAS.'MASSE_PERDUE'      = PERMAS;             
 424 : * TAV1.'RESULTATS'.IPAS.'MASSE_FLUX'        = JFL  ;
 425 :   TAV1.'RESULTATS'.IPAS.'MASSE_BILAN'       = MT   ;
 426 :   TAV1.'RESULTATS'.IPAS.'MASSE_RELACHE'     = 0.   ;
 427 :   TAV1.'RESULTATS'.IPAS.'PRES_SAT'          = 'NOMC' 'PSAT' PSAT;              
 428 :   TAV1.'VT0'  = VT0 ;                                               
 429 :   TAV1.'VP0'  = VP0 ;    
 430 :   TAV1.'DWD0' = DWD0 ;
 431 :   TAV1.'DWT0' = DWT0 ;
 432 :   TAV1.'DWP0' = DWP0 ; 
 433 :  'SI' FDET;                                               
 434 :   'DETR' HI  ; 'DETR' WI  ; 'DETR' CHI;
 435 :   'DETR' WT1 ; 'DETR' HT1 ;
 436 :   'DETR' WP1 ; 'DETR' HP1 ;                 
 437 :  'FINSI';                                     
 438 : 'SINON';                                          
 439 :   RESTART1 = VRAI ;                               
 440 :   MI=TAV1.'MI';                                   
 441 :   NPSAUVE= 'DIME' (TAV1 . 'RESULTATS');           
 442 :   IPAS=NPSAUVE-1;                                 
 443 :   TEMPO  = TAV1.'RESULTATS' . IPAS . INSTANT;                     
 444 :   T0     = TAV1.'RESULTATS' . IPAS . 'TEMPERATURE';               
 445 :   P0     ='NOMC' LICP LICT  TAV1.'RESULTATS'.IPAS.'PRESSION';
 446 :   PERMAS = TAV1 . 'RESULTATS' . IPAS . 'MASSE_PERDUE';
 447 :   MT     = TAV1 . 'RESULTATS' . IPAS . 'MASSE_BILAN' ;
 448 :   MD     = TAV1 . 'RESULTATS' . IPAS . 'MASSE_RELACHE';                         
 449 : 'FINSI';                                    
 450 : *                                           
 451 :  USDT = 1./T_PAS ;                          
 452 : *                                           
 453 :  II = 1 ;                                   
 454 :  N1_PAS= 0;                                 
 455 : *                                           
 456 : *===================================        
 457 : *    BOUCLE SUR LES PAS DE TEMPS            
 458 : *===================================        
 459 : *                                           
 460 : 'REPE' TOTO N_PAS;                          
 461 : *
 462 :  ISTANT0 = ((II - 1 )*T_PAS )+ TEMPO ;  
 463 :  ISTANT1 = ( II      *T_PAS )+ TEMPO ;             
 464 :  ITER = 0 ;                                        
 465 : *
 466 : 'MESS' ' ';                                                 
 467 : 'MESS' '---------------------------------------------';     
 468 : 'MESS' '** PAS   ' II ' INSTANT ' ISTANT1 ' **';         
 469 : 'MESS' '---------------------------------------------';     
 470 : *                                                          
 471 : *T0S   temp. comp. scal e senza  lagr. passo pre.         
 472 : *P0S   pres. comp. scal e senza  lagr. passo pre.         
 473 : *T1S   temp. comp. scal e senza  lagr. passo att. iter. pre.    
 474 : *P1S   pres. comp. scal e senza  lagr. passo att. iter. pre.    
 475 : *VT0   velocita temp. iter. o passo pre.                        
 476 : *VP0   velocita pres. iter. o passo pre.                          
 477 : *
 478 : VT0 =TAV1.'VT0';                                               
 479 : VP0 =TAV1.'VP0';    
 480 : DWD0=TAV1.'DWD0';
 481 : DWT0=TAV1.'DWT0';
 482 : DWP0=TAV1.'DWP0';
 483 : *                                                                    
 484 :  T0S = 'EXCO' 'T' T0 'SCAL';                                    
 485 :  P0S = 'EXCO' 'T' P0 'SCAL';                                    
 486 :  T1S = T0S+(T_PAS*GAMMA*VT0);                                   
 487 :  P1S = P0S+(T_PAS*GAMMA*VP0);                                   
 488 : *                                                               
 489 : ISTANTM = (UMLAMBDA*ISTANT0) + (LAMBDA*ISTANT1);                
 490 : *                                                              
 491 : *  Thermal Loads                        
 492 : * 
 493 : 'SI' IFT ;                     
 494 :   TCONV = 0.;                  
 495 :  'SI' ('EXIST' TAV1 'CONVECTION_THERMIQUE' );            
 496 :    TCNVCT = 'TIRE' TCHARCT  ISTANTM  ;                   
 497 :    TCONV  = TCONV + TCNVCT ;                             
 498 :  'FINSI';                                                
 499 :  'SI' ('EXIST' TAV1 'BLOCAGES_THERMIQUE' ); 
 500 : *   TCNVTI = 'TIRE' TCHARTI  ISTANT1  ;             
 501 :    TCNVTI = 'TIRE' TCHARTI  ISTANTM  ;                   
 502 :    TCONV  = TCONV + TCNVTI ;                             
 503 :  'FINSI';                                                
 504 :  'SI' ('EXIST' TAV1 'FLUX_THERMIQUE' );                  
 505 :    TCNVFT = 'TIRE' TCHARFT  ISTANTM  ;                   
 506 :    TCONV  = TCONV + TCNVFT ;                             
 507 :  'FINSI';
 508 : 'FINSI';                                       
 509 : *                                              
 510 : *  Hydraulic Loads                  
 511 : *                                              
 512 : 'SI' IFP ;                                     
 513 :   PCONV = 0.;                                  
 514 :  'SI' ('EXIST' TAV1 'CONVECTION_HYDRAULIQUE' );
 515 :    PCNVCH = 'TIRE' PCHARCH  ISTANTM  ;         
 516 :    PCONV  = PCONV + PCNVCH;                    
 517 :  'FINSI';                                      
 518 :  'SI' ('EXIST' TAV1 'BLOCAGES_HYDRAULIQUE' );  
 519 : *   PCNVPI = 'TIRE' PCHARPI  ISTANT1  ;    
 520 :    PCNVPI = 'TIRE' PCHARPI  ISTANTM  ;       
 521 :    PCONV =PCONV +  PCNVPI;                     
 522 :  'FINSI';                                      
 523 :  'SI' ('EXIST' TAV1 'FLUX_HYDRAULIQUE' );      
 524 :    PCNVFH = 'TIRE' PCHARFH  ISTANTM  ;         
 525 :    PCONV =PCONV +  PCNVFH;                     
 526 :  'FINSI';       
 527 : 'FINSI';    
 528 : IFITER = FAUX ;                               
 529 : *===================================       
 530 : *          ITERATIONS                      
 531 : *===================================       
 532 : 'REPE' OTO  ( N_ITER + 1 );                       
 533 : *                                          
 534 :  ITER= ITER + 1;                           
 535 : 'MESS' '** ITERATION  ' ITER ' **';         
 536 : *                                          
 537 : *------------------------------------      
 538 : * Specific  Water Content of Concrete      
 539 : * Calculation of the derivatives          
 540 : * dW/dT and dW/dP
 541 : * and Relative Humidity                    
 542 : *------------------------------------      
 543 : *                                          
 544 :  DT1A = T1S-T0S ;                           
 545 :  DP1A = P1S-P0S ;
 546 :  DT1Z = 'MASQUE' ('ABS' DT1A) 'EGINFE' EPS1;
 547 :  DP1Z = 'MASQUE' ('ABS' DP1A) 'EGINFE' EPS1;
 548 :  DT1Z1 = 'MASQUE' (1. - DT1Z) 'SUPERIEUR' .9;
 549 :  DP1Z1 = 'MASQUE' (1. - DP1Z) 'SUPERIEUR' .9;
 550 :  DT1 = DT1A + DT1Z;
 551 :  DP1 = DP1A + DP1Z;
 552 : *
 553 : 'SI' FDET ;
 554 :  'DETR' DT1A  ; 'DETR' DP1A  ;
 555 : 'FINSI';
 556 : *
 557 :   'SI' ('EGA' ITER 1); 
 558 :     WT0P0 H00 = HTC_WWW  T0S P0S TAV1 ;
 559 :   'FINSI';
 560 :     WT1P0 H10 = HTC_WWW  T1S P0S TAV1 ;
 561 :     WT1P1 H11 = HTC_WWW  T1S P1S TAV1 ;
 562 :     WT0P1 H01 = HTC_WWW  T0S P1S TAV1 ;
 563 : *---> dW/dT    
 564 :     DWTM=(WT1P0-WT0P0+WT1P1-WT0P1)/2.;
 565 :     DWT =(DWTM / DT1 * DT1Z1) + (DT1Z*DWT0); 
 566 : *---> dW/dP
 567 :     DWPM=(WT0P1-WT0P0+WT1P1-WT1P0)/2.;
 568 :     DWP =(DWPM / DP1 * DP1Z1) + (DP1Z*DWP0);
 569 : *---> W HR
 570 :     PPP=(UMLAMBDA*P0S)+(LAMBDA*P1S);
 571 :     TTT=(UMLAMBDA*T0S)+(LAMBDA*T1S);
 572 :     WWW HHH = HTC_WWW  TTT PPP TAV1 ;
 573 : *
 574 : 'SI' FDET ;
 575 :  'DETR' H11  ;
 576 :  'DETR' H10  ; 'DETR' H01  ;
 577 :  'DETR' WT1P0; 'DETR' WT0P1 ;
 578 :  'DETR' WT1P1;
 579 : 'FINSI';
 580 : *
 581 : 'SI' (FLG '>EG' 4);
 582 :  'MESS' '----------------------------------------------' 
 583 :         '----------------------------------------------';
 584 :  'MESS' 'DWDT-MAX' ('MAXI' DWT )  'DWDT-MIN' ('MINI' DWT )
 585 :         'DWDP-MAX' ('MAXI' DWP )  'DWDP-MIN' ('MINI' DWP );
 586 :  'MESS' '----------------------------------------------'
 587 :         '----------------------------------------------';    
 588 : 'FINSI';
 589 : *                                                                 
 590 : 'SI' GRAF;                                                        
 591 : * titr 'hhh in 'ISTANT1 ITER;                                      
 592 : * trac maglia HHH;                                                
 593 : * titr 'www in 'ISTANT1 ITER;                                      
 594 : * trac maglia WWW;                                                
 595 : * titr 'T in 'ISTANT1 ITER;                                        
 596 : * trac maglia TTT;                                                
 597 : * titr 'P in 'ISTANT1 ITER;                                        
 598 : * trac maglia PPP;                                                
 599 :  titr ' dwp in'ISTANT1 ITER;                                       
 600 :  trac maglia DWP;                                                 
 601 :  titr ' dwt in'ISTANT1 ITER;                                       
 602 :  trac maglia DWT;                                                 
 603 : 'FINSI';                                                          
 604 : *                                                                 
 605 : *--------------------------------------
 606 : * Chemically Bound Water and Derivative
 607 : *--------------------------------------                       
 608 : *                                                     
 609 :      WD DF1= HTC_CHBW T1S HHH TAV1 ;                              
 610 :      DWD   =(DF1 / DT1 * DT1Z1) + (DT1Z * DWD0);       
 611 : *                                                             
 612 : *-------------                                                
 613 : * Permeability                                                
 614 : *-------------                                                
 615 : *                                                             
 616 :      AGDG1=HTC_PER TTT HHH TAV1 ;
 617 :      AGDG = 1.E6 * AGDG1 ;                              
 618 : 'SI' GRAF;                                                    
 619 :   titr 'Permeabilita' ISTANT1 ITER;                           
 620 :   trac AGDG maglia;                                           
 621 : 'FINSI';                                                      
 622 : *                                                             
 623 : 'SI' (FLG '>EG' 5);                                                     
 624 :  'MESS' 'RANGES OF RELATIVE HUMIDITY, WATER CONTENT, PERMEABILITY';             
 625 :  'MESS' 'H  -MAXI ' ('MAXI' HHH)  'H  -MINI ' ('MINI' HHH);   
 626 :  'MESS' 'W  -MAXI ' ('MAXI' WWW)  'W  -MINI ' ('MINI' WWW);   
 627 :  'MESS' 'A  -MAXI ' ('MAXI' AGDG) 'A  -MINI ' ('MINI' AGDG);  
 628 : 'FINSI';                                                      
 629 : *                                                             
 630 : *-----------------------                                      
 631 : * Specific heat of water                                      
 632 : *-----------------------                                      
 633 : *                                                             
 634 :  CW= HTC_WTR TAV1 'CW' TTT;                                        
 635 : *                                                             
 636 : *---------------------------                                  
 637 : * Heat of water vaporization                                  
 638 : *---------------------------                                  
 639 : *                                                             
 640 :  CA= HTC_WTR TAV1 'HFG' TTT;                                       
 641 : *                                                             
 642 : *---------------------                                        
 643 : * Heat convection term                                        
 644 : *---------------------                                        
 645 :  TTTT ='NOMC' 'T' TTT;                                        
 646 :  PPPP ='NOMC' 'T' PPP;                                         
 647 :  GRAP='GRAD' MODL1 PPPP;                                   
 648 :  GRAT='GRAD' MODL1 TTTT; 
 649 :  GRATX='MANU' 'CHML' MODL1 'SCAL' ('EXCO' FF1  GRAT 'SCAL') RIGIDITE;           
 650 :  GRATY='MANU' 'CHML' MODL1 'SCAL' ('EXCO' FF2  GRAT 'SCAL') RIGIDITE;
 651 :  GRAPX='MANU' 'CHML' MODL1 'SCAL' ('EXCO' FF1  GRAP 'SCAL') RIGIDITE;           
 652 :  GRAPY='MANU' 'CHML' MODL1 'SCAL' ('EXCO' FF2  GRAP 'SCAL') RIGIDITE;
 653 :  ZZZZ1    = 'CHAN' 'NOEUD' MODL1 GRAPX;                       
 654 :  GRAPCX   = 'CHAN' 'CHPO'  MODL1 ZZZZ1;                       
 655 :  ZZZZ2    = 'CHAN' 'NOEUD' MODL1 GRAPY;                       
 656 :  GRAPCY   = 'CHAN' 'CHPO'  MODL1 ZZZZ2;
 657 : 'SI' ('NEG' FF3 '  ');  
 658 :   GRATZ='MANU' 'CHML' MODL1 'SCAL' ('EXCO' FF3  GRAT 'SCAL') RIGIDITE;
 659 :   GRAPZ='MANU' 'CHML' MODL1 'SCAL' ('EXCO' FF3  GRAP 'SCAL') RIGIDITE;
 660 :   ZZZZ4    = 'CHAN' 'NOEUD' MODL1 GRAPZ;                       
 661 :   GRAPCZ   = 'CHAN' 'CHPO'  MODL1 ZZZZ4;
 662 : 'FINSI';
 663 :  LM1= 'MOTS' 'SCAL' 'SCAL';
 664 :  LM2= 'MOTS' 'SCAL' 'SCAL';
 665 :  LM3= 'MOTS' 'SCAL' 'SCAL';
 666 :  GRAPTX   = MODL1 GRAPX * GRATX LM1 LM2 LM3;                             
 667 :  GRAPTY   = MODL1 GRAPY * GRATY LM1 LM2 LM3;                 
 668 :  GRAPTXY  = GRAPTX + GRAPTY;
 669 : 'SI' ('NEG' FF3 '  ');
 670 :   GRAPTZ   = MODL1 GRAPZ * GRATZ LM1 LM2 LM3;
 671 :   GRAPTXY  = GRAPTXY + GRAPTZ;            
 672 : 'FINSI';                                   
 673 :  ZZZZ3    = 'CHAN' 'NOEUD' MODL1 GRAPTXY;                     
 674 :  GRAPTCXY = 'CHAN' 'CHPO'  MODL1 ZZZZ3  ;                   
 675 : *--->  - cw * a/g * grad p * grad t                           
 676 :  AGPGT = 'SOURCE' MODL1 (-1. * CW * AGDG * GRAPTCXY);         
 677 : 'SI' FDET;                                                     
 678 :  'DETR' PPPP   ; 'DETR' TTTT    ;                            
 679 :  'DETR' GRAP   ; 'DETR' GRAT    ;                            
 680 :  'DETR' GRATX  ; 'DETR' GRATY   ;                            
 681 :  'DETR' GRAPTX ; 'DETR' GRAPTY  ;                                   
 682 :  'DETR' GRAPTXY; 'DETR' GRAPTCXY; 
 683 :  'DETR' ZZZZ1  ; 'DETR' ZZZZ2   ; 'DETR' ZZZZ3;
 684 :  'SI' ('NEG' FF3 '  ');
 685 :   'DETR' GRATZ   ;'DETR' GRAPTZ  ;'DETR' ZZZZ4;
 686 :  'FINSI';                                                                      
 687 : 'FINSI';                                                     
 688 : *--------------------------------------------                   
 689 : * Water Evaporation Heat on various frontiers                      
 690 : * Ca*J*n                                               
 691 : *--------------------------------------------               
 692 : 'SI' IFP;
 693 :   IFR=0;
 694 :   CAJN_T = 0.;                                                         
 695 :  'REPE' BOUC1 NFRONT;                                             
 696 :    IFR=IFR + 1;                                                   
 697 :    COSXR =TAV1.'FRONTIERES_PRESSION'. IFR .'CODIRXR' ;             
 698 :    COSYZ =TAV1.'FRONTIERES_PRESSION'. IFR .'CODIRYZ' ;             
 699 :    MAI_FP=TAV1.'FRONTIERES_PRESSION'. IFR .'MAILLAGE';
 700 :   'SI' ('NEG' FF3 '  ');
 701 :     COSZZ=TAV1.'FRONTIERES_PRESSION'. IFR .'CODIRZZ' ;             
 702 :     CAJN ='REDU'(1.*AGDG*CA*((GRAPCX*COSXR)+(GRAPCY*COSYZ)
 703 :                                            +(GRAPCZ*COSZZ))) MAI_FP;
 704 :   'SINON';               
 705 :     CAJN ='REDU'(1.*AGDG*CA*((GRAPCX*COSXR)+(GRAPCY*COSYZ))) MAI_FP;
 706 :   'FINSI';
 707 :    FCAJN='FLUX' MODL1 CAJN  ;           
 708 :    CAJN_T  = CAJN_T + FCAJN ;                                     
 709 :  'FIN' BOUC1;
 710 : 'FINSI';                              
 711 : *                                                            
 712 : *---> Ca*dW/dP*dP/dt                                         
 713 : * 
 714 : *list hhh;
 715 :  SMCA = 'NOMC' 'SCAL' ('VARI' EVCA HHH );
 716 : *list smca;                                                           
 717 :  CADWPVP='SOURCE' MODL1 (SMCA * CA * DWPM * USDT);                    
 718 : *                                                            
 719 : *---> (dWd/dT-dW/dT)*dT/dt                                   
 720 : *                                                            
 721 :  DWDMDWT='SOURCE' MODL1 ((DF1 - DWTM) * USDT);                 
 722 : *                                                            
 723 : *-----------------------------------                         
 724 : * Apparent specific heat of concrete                         
 725 : *-----------------------------------                         
 726 : *                                                            
 727 : *---> (roC)sec                                               
 728 : * In caso di dipendenza dalla temperatura ins. qui           
 729 : *---> W*Cw                                                   
 730 :  WCW    = CW * WWW;
 731 : *list  WCW ;                                          
 732 : *--->  Cad*dWd/dT                                           
 733 :  CADDWD= CAD*DWD;
 734 : *list CADDWD;               
 735 : *---> -Ca*dW/dT                                                 
 736 :  CADWT  =-1. * SMCA * CA * DWT;
 737 : *---> (Wd0-Wd)*Cbw
 738 : WD0DCBW=(WD0-(TAV1.'WDM')) * CBW;
 739 : *list   CADWT ;                                        
 740 : *---> Apparent specific heat of concrete                        
 741 :  ROCAP1=ROCSEC+CADDWD+WCW+CADWT+WD0DCBW;                             
 742 :  ROCAP = 'CHAN' 'CHAM' ROCAP1  MODL1 ;  
 743 : *list ROCAP                   
 744 : *  
 745 :  KBET_SEC=K0_SEC   + (K1_SEC * (TAV1.'TMAX'));
 746 :  KBET    =NOMC 'K' (KBET_SEC * (1. + ((4./DEN_SEC)* WWW)));
 747 :  KBET=CHAN 'CHAM' KBET MODL1 'RIGIDITE';              
 748 :  MABET= 'MATE' MODL1  'K' KBET 'RHO' 1. 'C' ROCAP   ;  
 749 : *           
 750 : *=================================================              
 751 : *              THERMAL SOLUTION                                 
 752 : *=================================================
 753 : *   
 754 : 'SI'(NON IFITER );           
 755 : *
 756 : *  Thermal capacity matrix 
 757 : *                                     
 758 :  TCAPM='CAPACITE' MODL1 MABET;
 759 :  A2= USDT * TCAPM ;               
 760 : *                                                               
 761 : *  Thermal stiffness matrix                                     
 762 : * 
 763 :  RIG_M='CONDUCTIVITE' MODL1 MABET; 
 764 : *
 765 :  'SI' IFTC;
 766 :    KT = RIG_M 'ET' TCONDC;
 767 :  'SINON'; 
 768 :    KT = RIG_M;
 769 :  'FINSI';                                                             
 770 :   A1 =         LAMBDA * KT;                                        
 771 :   A3 =(-1. * UMLAMBDA)* KT;                                  
 772 : * 
 773 :  'SI' IFTB;                                          
 774 :    MAT_RIGI = A1 'ET' A2 'ET' TCONDB ;  
 775 :  'SINON';
 776 :    MAT_RIGI = A1 'ET' A2 ;
 777 :  'FINSI'; 
 778 : *                                                             
 779 :   B2 = A2 'ET' A3;                            
 780 : *                                             
 781 : *  Loads                                      
 782 : *                                             
 783 :   B1 = AGPGT + CADWPVP;                       
 784 : *                                             
 785 :  'SI' IFP ;                                   
 786 :    B1 = CAJN_T  + B1;                       
 787 :  'FINSI';
 788 :  'SI' IFT ;
 789 :    B1 = B1 + TCONV ;
 790 :  'FINSI';                                          
 791 :   B3  =  B2 * ('NOMC' 'T' T0S);              
 792 :   MAT_CHPO = B1 + B3;                                      
 793 : *
 794 : * Resolution                                
 795 : *-----                                                
 796 :   T1 = 'RESOU' MAT_RIGI MAT_CHPO;                
 797 : *-----                                                
 798 :   TPS=T1S;                                       
 799 :   T1S='EXCO' 'T' T1 'SCAL';                      
 800 :   VT0=(T1S-T0S)*USDT;
 801 : 'FINSI' ;                            
 802 : *                                                
 803 : *Valori fine iterazione
 804 : *
 805 : 'SI' (FLG '>EG' 2);                  
 806 :  'MESS' 'T1-MAX' ('MAXI' T1S) 'T1-MIN' ('MINI' T1S)      
 807 :         'VT-MAX' ('MAXI' VT0) 'VT-MIN' ('MINI' VT0) ;
 808 : 'FINSI';     
 809 : *                                                              
 810 : *===============================================               
 811 : *          MOISTURE TRANSFER SOLUTION                          
 812 : *===============================================               
 813 : *                                                              
 814 : * Stiffness matrix                                             
 815 : *                                                       
 816 :  CHA1 = 'CHAN' 'CHAM'  AGDG  MODL1 ;                      
 817 :  CHA2 = 'CHAN' 'CHAM'  DWP   MODL1 ;                    
 818 : *                                                       
 819 :  PMATR1 = 'MATR' MODL1 'RHO' 1. 'K' CHA1 'C' CHA2 ;     
 820 :  PCOND1 = 'CONDUCTIVITE' MODL1 PMATR1 ;                 
 821 : *                                                       
 822 : * Capacity matrix                                       
 823 : *                                                       
 824 :  PCAPA1 = 'CAPACITE' MODL1 PMATR1 ; 
 825 : *
 826 :  'SI' IFPC;                                              
 827 :    KP = PCOND1 'ET' PCONDC;
 828 :   'SINON';
 829 :    KP = PCOND1;
 830 :  'FINSI'; 
 831 :  PA1 = KP * LAMBDA ;                  
 832 :  PA2 = PCAPA1 * USDT ;                           
 833 :  PA3 =  -1. * UMLAMBDA * KP ;                
 834 :  PB2 = PA2 'ET' PA3;                             
 835 : 'SI' IFPB;                                       
 836 :   PMAT_RIG = PA1 'ET' PA2 'ET' PCONDB;          
 837 : 'SINON';                                         
 838 :   PMAT_RIG = PA1 'ET' PA2  ;                     
 839 : 'FINSI';                                         
 840 : *                                                
 841 : *  Loads                                         
 842 : * 
 843 :  PB1 = DWDMDWT ;                                               
 844 : 'SI' IFP;                                        
 845 :   PB1 = PCONV + PB1;                        
 846 : 'FINSI';                                         
 847 :  PB3 = PB2 * ('NOMC' 'T' P0S);                   
 848 : *                                                    
 849 : PMAT_CHP = PB1 + PB3 ;                               
 850 : *
 851 : * Resolution                                 
 852 : *-----
 853 :   P1 = 'RESOU' PMAT_RIG PMAT_CHP ;
 854 : *-----                                              
 855 :   PPS=P1S;                                                      
 856 :   P1S='EXCO' 'T' P1 'SCAL';                                     
 857 :   VP0=(P1S-P0S)*USDT;
 858 : *  
 859 : WWW HHH = HTC_WWW  T1S P1S TAV1 ;      
 860 : WD  DF1 = HTC_CHBW T1S HHH TAV1 ;                                      
 861 : CHW     ='CHAN' 'CHAM' MODL1 WWW;                               
 862 : MW      ='INTG' MODL1 CHW;                                      
 863 : CHD     ='CHAN' 'CHAM' MODL1 WD;                                
 864 : MD      ='INTG' MODL1 CHD;                                      
 865 : 'SI' FDET;                                                      
 866 :  'DETR' DF1;'DETR' CHW;'DETR' CHD;                              
 867 : 'FINSI';                                                        
 868 : *
 869 : * --------------------------------------------------     
 870 : 'SI' (FLG '>EG' 2); 
 871 :  'MESS' 'P1-MAX' ('MAXI' P1S) 'P1-MIN' ('MINI' P1S)       
 872 :         'VP-MAX' ('MAXI' VP0) 'VP-MIN' ('MINI' VP0) ;
 873 : 'FINSI';      
 874 : * --------------------------------------------------     
 875 : 'SI' (FLG '>EG' 3); 
 876 : 'MESS' 'H -MAX' ('MAXI' HHH) 'H -MIN' ('MINI' HHH)       
 877 :        'W -MAX' ('MAXI' WWW) 'W -MIN' ('MINI' WWW) ;
 878 : 'FINSI';      
 879 : * --------------------------------------------------     
 880 :  ERPM1 ='MAXI'((P1S - PPS)/PPS) 'ABS' ;                         
 881 :  ERTM1 ='MAXI'((T1S - TPS)/TPS) 'ABS' ;                         
 882 : * --------------------------------------------------     
 883 :       GP_1  ='GRAD'  MODL1 ('NOMC' T P1S);                      
 884 :       GP_2  ='CHAN' 'NOEUD' MODL1  GP_1;                        
 885 :       GP_3  ='CHAN' 'CHPO'  MODL1  GP_2;                        
 886 : * --->  J=-a grad p                                             
 887 :       JFL='NOMC' LICF LICJ (-1.*AGDG * GP_3);                 
 888 :       'SI' FDET ;                                             
 889 :        'DETR' GP_1; 'DETR' GP_2;'DETR' GP_3;                  
 890 :       'FINSI';                                                
 891 : *                                                             
 892 : 'SI' GRAF;                                                    
 893 :   titr ' t1' ISTANT1 ITER;                                    
 894 :   trac maglia t1;                                             
 895 :   titr ' p1' ISTANT1 ITER;                                    
 896 :   trac maglia p1;                                             
 897 :   titr 'hhh' ISTANT1 ITER;                                    
 898 :   trac maglia hhh;                                            
 899 :   titr ' www ' ISTANT1 ITER;                                  
 900 :   trac maglia www;                                            
 901 : *  titr 'jfl_x' ISTANT1 ITER;                                  
 902 : *  trac maglia (exco JX_R jfl);                                
 903 : *  titr ' wd ' ISTANT1 ITER;                                  
 904 : *  trac maglia wd;                                            
 905 : 'FINSI';                                                      
 906 : * ---------------------------------------------------------   
 907 : *PERDITA DI MASSA                                             
 908 : *----------------------------------------------------------   
 909 :  PMAS_T = 0.;
 910 : 'SI' IFP;
 911 :   PPPT = (UMLAMBDA*P0)+(LAMBDA*P1);                                 
 912 :  'SI' ('EXIST' TAV1 'CONVECTION_HYDRAULIQUE' );                     
 913 : *  PCVCH = 'TIRE' PCHARCH  ISTANTM ;
 914 :   PMAS_T=PMAS_T + ('MAXI'(('RESU'((PCONDC * PPPT )- PCNVCH ))*T_PAS)    
 915 :                    'AVEC'('MOTS' 'Q'));                              
 916 :  'FINSI';                                                            
 917 :  'SI' ('EXIST' TAV1 'BLOCAGES_HYDRAULIQUE' );                          
 918 :   PMAS_T=PMAS_T + ('MAXI'(('RESU'(  PCONDB * PPPT)) * T_PAS)    
 919 :                    'AVEC'('MOTS' 'Q')); 
 920 : *  PCVPI = 'TIRE' PCHARPI ISTANT1 ;  
 921 : *  PMAS_T=PMAS_T + ('MAXI'(('RESU'((PCONDB * P1 ) - PCVPI)) * T_PAS)    
 922 : *                   'AVEC'('MOTS' 'Q'));   
 923 :  'FINSI';                                                            
 924 :  'SI' ('EXIST' TAV1 'FLUX_HYDRAULIQUE' );                            
 925 : *  PCVFH = 'TIRE' PCHARFH  ISTANTM ; 
 926 :   PMAS_T=PMAS_T - ('MAXI'(('RESU'  PCNVFH) * T_PAS)    
 927 :                    'AVEC'('MOTS' 'Q'));                             
 928 :  'FINSI';
 929 : 'FINSI';                                                            
 930 :  PMAST1=PMAS_T+PERMAS;
 931 :  M0 = MT ; 
 932 :  MT = MW - MD + PMAST1 ;
 933 :  ERM_ABS = ((MT - MI)/MI*100.);
 934 :  ERM_REL = 'ABS'((MT - M0)/M0)  ;
 935 : 'SI' (FLG '>EG' 1);                                      
 936 :  'MESS''-------------------------------------------------------------'
 937 :        '--------------------------------------------';               
 938 :  'MESS' 'M.IN' MI '=< M.FW' MW '- M.RBW' MD '+ M.LW' PMAST1 '>=' MT ;
 939 : 'FINSI';
 940 : 'MESS''-------------------------------------------------------------'
 941 :       '--------------------------------------------';                           
 942 : 'MESS' 'ER_M_P =' ERPM1 'ER_M_T =' ERTM1 'ERMAS_ABS_% =' ERM_ABS 
 943 :        'ERMAS_REL =' ERM_REL  ;
 944 : 'MESS''-------------------------------------------------------------' 
 945 :       '--------------------------------------------';     
 946 : * ---------------------------------------------------------            
 947 :  CCC =  P1S 'MASQ' 'EGINFE' EPS1;                             
 948 : 'SI' (('MAXI'CCC ) > .9);                                              
 949 :  'MESS' '==> LOW PRESSURE <==';                                    
 950 : * P0 =  (1. * CCC) + (P1EXT * (1. - CCC))  ;'DETR' CCC;               
 951 : 'FINSI';                                                               
 952 : *                                                                      
 953 : 'SI' (ITER < 2) ;
 954 :  'ITER' OTO; 
 955 : 'FINSI'  ; 
 956 : 'SI' IFITER ;
 957 :  'QUITTER' OTO ;
 958 : 'FINSI' ;                               
 959 : *                                                                      
 960 : 'SI' ((ERPM1 <EG ERPM) 'ET' (ERTM1 <EG ERTM));
 961 :  IFITER = VRAI ; 
 962 :  'MESS' '==> CONVERGENCE <=='; 
 963 : *'QUITTER' OTO;                                        
 964 : 'FINSI';                                                               
 965 : *                                                                      
 966 : 'SI' (ITER 'EGA' N_ITER );
 967 :   IFITER = VRAI ;
 968 : 'FINSI';
 969 : *                                           
 970 : 'FIN' OTO ;
 971 : *======================================                                
 972 : *         FIN DES ITERATIONS                                           
 973 : *======================================                                
 974 : *     un peu de ménage                                                 
 975 : *                                                                      
 976 :          'MENAGE';
 977 : *                     
 978 : *====================================== 
 979 : PERMAS=PERMAS + PMAS_T; 
 980 : DWT0 = DWT ; 
 981 : DWD0 = DWD ;
 982 : DWP0 = DWP ;                            
 983 : DTMAX=('EXCO' 'T' T1 'SCAL')- TAV1.'TMAX';
 984 : MDTMAX=MASQUE DTMAX 'SUPERIEUR' 0. ;
 985 : TAV1.'TMAX' = TAV1.'TMAX' + (  DTMAX * MDTMAX);              
 986 : TAV1.'WDM'  = WD; 
 987 : TAV1.'VT0'  = VT0;                                               
 988 : TAV1.'VP0'  = VP0;    
 989 : TAV1.'DWD0' = DWD0 ;
 990 : TAV1.'DWT0' = DWT0 ;
 991 : TAV1.'DWP0' = DWP0 ;   
 992 : *                                                               
 993 : *========================================                       
 994 : *       SAUVEGARDE DES RESULTATS                                
 995 : *========================================                       
 996 :                                                                 
 997 : N1_PAS=N1_PAS + 1;                                              
 998 : 'SI' (( EGA NN_PAS N1_PAS) OU ( EGA II N_PAS) OU (EGA II 1));   
 999 :   IPAS=IPAS+1;                                                  
1000 :  'MESS' ' ';                                                    
1001 :  'MESS' 'SAUVEGARDE  - PAS ' II ' INSTANT ' ISTANT1;                            
1002 :   TAV1.'RESULTATS'.IPAS = 'TABLE';                    
1003 :   TAV1.'RESULTATS'.IPAS.'INSTANT'           = ISTANT1;              
1004 :   TAV1.'RESULTATS'.IPAS.'TEMPERATURE'       = T1 ;                 
1005 :   TAV1.'RESULTATS'.IPAS.'PRESSION'          ='NOMC' LICT LICP P1;  
1006 :   TAV1.'RESULTATS'.IPAS.'HUMIDITE_RELATIVE' ='NOMC' 'HR' HHH;      
1007 :   TAV1.'RESULTATS'.IPAS.'EAU_LIBRE'         ='NOMC' 'WF' WWW;      
1008 :   TAV1.'RESULTATS'.IPAS.'EAU_LIEE'          ='NOMC' 'WD' WD ;      
1009 :   TAV1.'RESULTATS'.IPAS.'MASSE_PERDUE'      = PERMAS;             
1010 :   TAV1.'RESULTATS'.IPAS.'MASSE_FLUX'        = JFL  ;
1011 :   TAV1.'RESULTATS'.IPAS.'MASSE_BILAN'       = MT   ;
1012 :   TAV1.'RESULTATS'.IPAS.'MASSE_RELACHE'     = MD   ;
1013 :   PSAT = 'NOMC' 'PSAT' (HTC_WTR TAV1 'SATU' T1);
1014 :   TAV1.'RESULTATS'.IPAS.'PRES_SAT'          = PSAT;
1015 : *                                                    
1016 :  'SI' (EGA NN_PAS N1_PAS);                           
1017 :    N1_PAS=0;                                         
1018 :  'FINSI';                                            
1019 : 'FINSI';                                             
1020 : *                                                                               
1021 : *                                                    
1022 : II = II + 1 ;                                        
1023 : *
1024 : P0  =  P1 ;                                                   
1025 : T0  =  T1 ;                                                   
1026 : *                                                             
1027 : *=======================================                      
1028 : *                                                             
1029 : *             FIN DES PAS                                     
1030 : *                                             
1031 : *=======================================                      
1032 : *                                             
1033 : 'FIN' TOTO; 
1034 : *                                  
1035 : 'FINPROC' TAV1;
1036 : 
1037 : 
1038 :  

© Cast3M 2003 - All rights reserved.
Disclaimer