Download kr_pro.procedur

Back to the list

   1 : * KR_PRO    PROCEDUR  GBM       07/08/08    21:15:04     5841           
   2 : * KR_PRO    PROCEDUR  MAUGIS    02/12/19    12:57:20     4522           
   3 : ************************************************************************
   4 : *  Fonction qui calcule la perméabilité en fonction de la
   5 : *  saturation réduite.
   6 : *
   7 : *
   8 : *  Entrée :
   9 : *  --------
  10 : *    LOI  : table de données décrite ci-dessus
  11 : *             ALPHA   : coef. B (s.d.)
  12 : *             PERMSAT : coef. Ks, perméabilité à saturation (m/s)
  13 : *                       ('FLOTTANT', ou 'CHPOINT',
  14 : *                       1 composante nom quelconque, (voir 'MODE' 'DARCY')
  15 : *                       sous-modèle autorisé : ISOTROPE.
  16 : *    SAT  : saturation réduite ou pression d'eau selon la loi utilisée
  17 : *
  18 : *  Sortie :
  19 : *  --------
  20 : *    K1   : perméabilité totale en eau (m/s)
  21 : *
  22 : ************************************************************************
  23 : 'DEBPROC' KR_PRO LOI*'TABLE' SAT*'CHPOINT'                             ;
  24 : 
  25 : * SAT est une saturation
  26 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'PUISSANCE'))                         ;
  27 :     alf = LOI.'ALPHA'                                                  ;
  28 : *    K1 =  SAT '+' 1.E-10                                              ;
  29 :     TSM1 = SAT MASQUE 'SUPERIEUR' 0.0                                  ;
  30 :     TSM2 = SAT MASQUE 'INFERIEUR' 1.0                                  ;
  31 :     TSM3 = TSM1 * TSM2                                                 ;
  32 : *   On laisse la saturation à 1 si elle dépasse et à 0 en dessous de 0
  33 :     K1 = (SAT * TSM3) '+' (1.D0 '-' TSM2)                              ;
  34 :     K1 =  K1 '**' alf                                                  ;
  35 :   FINSI                                                                ;
  36 : * SAT est une saturation
  37 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'MUALEM'))                            ;
  38 :     TSM1 = SAT MASQUE 'SUPERIEUR' 0.0                                  ;
  39 :     TSM2 = SAT MASQUE 'INFERIEUR' 1.0                                  ;
  40 :     TSM3 = TSM1 * TSM2                                                 ;
  41 :     SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2)                             ;
  42 :     K1 =  SAT '**' (LOI . 'COEF_M' '**' -1)                            ;
  43 :     K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_M')                           ;
  44 :     K1 = (1.D0 '-' K1) '**' 2                                          ;    
  45 :     K1 = ('NOMC' 'SCAL' K1) * (SAT '**' 0.5D0)                         ;
  46 :   FINSI                                                                ;
  47 : * SAT est une saturation
  48 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'BURDINE'))                           ;
  49 :     TSM1 = SAT MASQUE 'SUPERIEUR' 0.0                                  ;
  50 :     TSM2 = SAT MASQUE 'INFERIEUR' 1.0                                  ;
  51 :     TSM3 = TSM1 * TSM2                                                 ;
  52 :     SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2)                             ;
  53 :     K1 =  SAT '**' (LOI . 'COEF_M' '**' -1)                            ;
  54 :     K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_M')                           ;
  55 :     K1 = (1.D0 '-' K1)                                                 ;       
  56 :     K1 = ('NOMC' 'SCAL' K1) * (SAT '**' 2.D0)                          ;
  57 :   FINSI                                                                ;
  58 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'MUALEM_BURDINE'))                    ;
  59 :     TSM1 = SAT MASQUE 'SUPERIEUR' 0.0                                  ;
  60 :     TSM2 = SAT MASQUE 'INFERIEUR' 1.0                                  ;
  61 :     TSM3 = TSM1 * TSM2                                                 ;
  62 :     SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2)                             ;
  63 :     K1 =  SAT '**' ((LOI . 'COEF_M') '**' -1)                          ;
  64 :     K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_M')                           ;
  65 :     K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_B')                           ;    
  66 :     K1 = ('NOMC' 'SCAL' K1) * (SAT '**' (LOI . 'COEF_A'))              ;
  67 :   FINSI                                                                ;
  68 :                                                               ;
  69 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'BROOKS_COREY'))                      ;
  70 :     TSM1 = SAT MASQUE 'SUPERIEUR' 0.0                                  ;
  71 :     TSM2 = SAT MASQUE 'INFERIEUR' 1.0                                  ;
  72 :     TSM3 = TSM1 * TSM2                                                 ;
  73 :     SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2)                             ; 
  74 :     K1 = 'KOPS' SAT '**' (LOI.'LAMBDA' ** -1. * 2. + LOI.'COEF_B')     ;
  75 :     K1 = 'KOPS' K1 '*' ('KOPS' SAT '**' LOI.'COEF_A') ;
  76 :   FINSI                                                                ;
  77 :   
  78 : * l'argument SAT est une pression d'eau pour la suite  
  79 :   PW = SAT                                                             ;
  80 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'EXPONENTIELLE'))                     ;
  81 :     K1 =  -1.D0 * PW '*' LOI.'ALPHA'                                   ;
  82 :     K1 =  'ABS'  (K1)                                                  ;
  83 :     K1 =  'EXP'  (K1)                                                  ;
  84 :     K1 =  K1 '**' LOI.'COEF_N'                                         ;
  85 :     K1 =  K1 '+' LOI.'COEF_C'                                          ;
  86 :     K1 = (K1 '-' 1.) '**' -1.                                          ;
  87 :     K1 =  K1 '*' LOI.'COEF_C'                                          ;
  88 :   FINSI                                                                ;  
  89 :   SI (EGA LOI.'SOUSTYPE' (CHAINE 'LOGARITHMIQUE'))                     ;
  90 :     K1 =  PW '*' LOI.'ALPHA'                                           ;
  91 :     SOT = 'MASQUE'('ABS'  K1) SUPERIEUR 1.D0                           ;
  92 : * on tronque à 1 si inferieur à 1, C'est dans la loi
  93 :     K1 = (K1 * SOT) '+' (1.D0 '-' SOT)                                 ;
  94 :     K1 =  'LOG'  (('ABS'  K1) '+' 1.e-30)                              ;
  95 :     K1 = ('ABS' K1) '**' LOI.'COEF_N'                                  ;
  96 :     K1 = K1 '+' LOI.'COEF_C'                                           ;
  97 :     K1 = K1  '**' -1.                                                  ;
  98 :     K1 = K1 '*' LOI.'COEF_C'                                           ;
  99 :   FINSI                                                                ;  
 100 : 
 101 :   K1 = K1 * LOI . 'PERMSAT'                                            ;
 102 : 
 103 : 'FINPROC' K1                                                           ;
 104 : ************************************************************************
 105 :  
 106 :  

© Cast3M 2003 - All rights reserved.
Disclaimer