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