* KR_PRO PROCEDUR GBM 07/08/08 21:15:04 5841 ************************************************************************ * Fonction qui calcule la perméabilité en fonction de la * saturation réduite. * * * Entrée : * -------- * LOI : table de données décrite ci-dessus * ALPHA : coef. B (s.d.) * PERMSAT : coef. Ks, perméabilité à saturation (m/s) * ('FLOTTANT', ou 'CHPOINT', * 1 composante nom quelconque, (voir 'MODE' 'DARCY') * sous-modèle autorisé : ISOTROPE. * SAT : saturation réduite ou pression d'eau selon la loi utilisée * * Sortie : * -------- * K1 : perméabilité totale en eau (m/s) * ************************************************************************ * SAT est une saturation SI (EGA LOI.'SOUSTYPE' (CHAINE 'PUISSANCE')) ; alf = LOI.'ALPHA' ; * K1 = SAT '+' 1.E-10 ; TSM1 = SAT MASQUE 'SUPERIEUR' 0.0 ; TSM2 = SAT MASQUE 'INFERIEUR' 1.0 ; TSM3 = TSM1 * TSM2 ; * On laisse la saturation à 1 si elle dépasse et à 0 en dessous de 0 K1 = (SAT * TSM3) '+' (1.D0 '-' TSM2) ; K1 = K1 '**' alf ; FINSI ; * SAT est une saturation SI (EGA LOI.'SOUSTYPE' (CHAINE 'MUALEM')) ; TSM1 = SAT MASQUE 'SUPERIEUR' 0.0 ; TSM2 = SAT MASQUE 'INFERIEUR' 1.0 ; TSM3 = TSM1 * TSM2 ; SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2) ; K1 = SAT '**' (LOI . 'COEF_M' '**' -1) ; K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_M') ; K1 = (1.D0 '-' K1) '**' 2 ; FINSI ; * SAT est une saturation SI (EGA LOI.'SOUSTYPE' (CHAINE 'BURDINE')) ; TSM1 = SAT MASQUE 'SUPERIEUR' 0.0 ; TSM2 = SAT MASQUE 'INFERIEUR' 1.0 ; TSM3 = TSM1 * TSM2 ; SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2) ; K1 = SAT '**' (LOI . 'COEF_M' '**' -1) ; K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_M') ; K1 = (1.D0 '-' K1) ; FINSI ; SI (EGA LOI.'SOUSTYPE' (CHAINE 'MUALEM_BURDINE')) ; TSM1 = SAT MASQUE 'SUPERIEUR' 0.0 ; TSM2 = SAT MASQUE 'INFERIEUR' 1.0 ; TSM3 = TSM1 * TSM2 ; SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2) ; K1 = SAT '**' ((LOI . 'COEF_M') '**' -1) ; K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_M') ; K1 = (1.D0 '-' K1) '**' (LOI . 'COEF_B') ; FINSI ; ; SI (EGA LOI.'SOUSTYPE' (CHAINE 'BROOKS_COREY')) ; TSM1 = SAT MASQUE 'SUPERIEUR' 0.0 ; TSM2 = SAT MASQUE 'INFERIEUR' 1.0 ; TSM3 = TSM1 * TSM2 ; SAT = (SAT * TSM3) '+' (1.D0 '-' TSM2) ; FINSI ; * l'argument SAT est une pression d'eau pour la suite PW = SAT ; SI (EGA LOI.'SOUSTYPE' (CHAINE 'EXPONENTIELLE')) ; K1 = -1.D0 * PW '*' LOI.'ALPHA' ; K1 = 'ABS' (K1) ; K1 = 'EXP' (K1) ; K1 = K1 '**' LOI.'COEF_N' ; K1 = K1 '+' LOI.'COEF_C' ; K1 = (K1 '-' 1.) '**' -1. ; K1 = K1 '*' LOI.'COEF_C' ; FINSI ; SI (EGA LOI.'SOUSTYPE' (CHAINE 'LOGARITHMIQUE')) ; K1 = PW '*' LOI.'ALPHA' ; SOT = 'MASQUE'('ABS' K1) SUPERIEUR 1.D0 ; * on tronque à 1 si inferieur à 1, C'est dans la loi K1 = (K1 * SOT) '+' (1.D0 '-' SOT) ; K1 = 'LOG' (('ABS' K1) '+' 1.e-30) ; K1 = ('ABS' K1) '**' LOI.'COEF_N' ; K1 = K1 '+' LOI.'COEF_C' ; K1 = K1 '**' -1. ; K1 = K1 '*' LOI.'COEF_C' ; FINSI ; K1 = K1 * LOI . 'PERMSAT' ; 'FINPROC' K1 ; ************************************************************************
© Cast3M 2003 - Tous droits réservés.
Mentions légales