u4.84.47 Macro-commande CALC_STAB_PENTE#
Syntaxe#
Détail de la syntaxe
/ evol_noli
/ table = CALC_STAB_PENTE(
◆ CHAM_MATER = cham_mater,
◇ METHODE_STAB = / "LEM",
/ "SRM" (par défaut),
# Si: equal_to("METHODE_STAB", "SRM")
◆ MODELE = modele,
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
◇ EXCIT = _F(
◆ CHARGE = char_cine_meca / char_meca,
◇ FONC_MULT = fonction / formule / nappe,
◇ TYPE_CHARGE = / "DIDI",
/ "FIXE_CSTE" (par défaut),
/ "SUIV",
),
◆ INCREMENT = _F(
# Si: exists("INST_INIT") or exists("INST_FIN")
◇ CRITERE = "RELATIF",
# Si: (equal_to("CRITERE", 'RELATIF'))
◇ PRECISION = float (défaut: 1e-06),
◆ LIST_INST = list_inst / listr8,
◇ / NUME_INST_INIT = int,
/ INST_INIT = float,
◇ / NUME_INST_FIN = int,
/ INST_FIN = float,
),
⟐ CONVERGENCE = _F(
# Si: exists("RESI_REFE_RELA")
◆ | EFFORT_REFE = float,
| SIGM_REFE = float,
| EPSI_REFE = float,
| FLUX_THER_REFE = float,
| MOMENT_REFE = float,
| FLUX_HYD1_REFE = float,
| FLUX_HYD2_REFE = float,
| VARI_REFE = float,
| DEPL_REFE = float,
| LAGR_REFE = float,
| PI_REFE = float,
◆ | RESI_REFE_RELA = float,
| RESI_GLOB_MAXI = float,
| RESI_GLOB_RELA = float,
◇ / RESI_COMP_RELA = float,
◇ ITER_GLOB_MAXI = int (défaut: 10),
◇ ITER_GLOB_ELAS = int (défaut: 25),
◇ ARRET = / "NON",
/ "OUI" (par défaut),
◇ VERIF = / "AU_MOINS_UN",
/ "TOUT" (par défaut),
),
⟐ COMPORTEMENT = _F(
# Si: is_in("RELATION", ('VMIS_ISOT_LINE','VMIS_ISOT_TRAC','VISCOCHAB','VISC_ISOT_LINE','VISC_ISOT_TRAC',))
◇ POST_ITER = "CRIT_RUPT" (ou non renseigné),
# Si: is_in("RELATION", ('VMIS_ISOT_LINE','VMIS_CINE_LINE','VMIS_ECMI_LINE','VMIS_ISOT_TRAC','VMIS_CIN1_CHAB','VMIS_CIN2_CHAB'))
◇ POST_INCR = / "REST_ECRO",
/ "SANS",
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
◇ RELATION = / "ARME",
/ "ASSE_CORN",
/ "BETON_AGEING",
/ "BETON_BURGER",
/ "BETON_DOUBLE_DP",
/ "BETON_GRANGER",
/ "BETON_GRANGER_V",
/ "BETON_RAG",
/ "BETON_REGLE_PR",
/ "BETON_UMLV",
/ "Barcelone",
/ "CABLE",
/ "CABLE_GAINE_FROT",
/ "CAM_CLAY",
/ "CHOC_ELAS_TRAC",
/ "CHOC_ENDO",
/ "CHOC_ENDO_PENA",
/ "CJS",
/ "CORR_ACIER",
/ "CSSM",
/ "CZM_ELAS_MIX",
/ "CZM_EXP_MIX",
/ "CZM_EXP_REG",
/ "CZM_FAT_MIX",
/ "CZM_LAB_MIX",
/ "CZM_LIN_REG",
/ "CZM_OUV_MIX",
/ "CZM_TAC_MIX",
/ "CZM_TRA_MIX",
/ "CZM_TURON",
/ "DASHPOT",
/ "DHRC",
/ "DIS_BILI_ELAS",
/ "DIS_CHOC",
/ "DIS_CONTACT",
/ "DIS_ECRO_CINE",
/ "DIS_ECRO_TRAC",
/ "DIS_GOUJ2E_ELAS",
/ "DIS_GOUJ2E_PLAS",
/ "DIS_GRICRA",
/ "DIS_VISC",
/ "DRUCK_PRAGER",
/ "DRUCK_PRAG_N_A",
/ "ELAS" (par défaut),
/ "ELAS_HYPER",
/ "ELAS_HYPER_VISC",
/ "ELAS_MEMBRANE_NH",
/ "ELAS_MEMBRANE_SV",
/ "ELAS_POUTRE_GR",
/ "ELAS_VMIS_LINE",
/ "ELAS_VMIS_PUIS",
/ "ELAS_VMIS_TRAC",
/ "ENDO_CARRE",
/ "ENDO_FISS_EXP",
/ "ENDO_HETEROGENE",
/ "ENDO_ISOT_BETON",
/ "ENDO_LOCA_EXP",
/ "ENDO_LOCA_TC",
/ "ENDO_ORTH_BETON",
/ "ENDO_PORO_BETON",
/ "ENDO_SCALAIRE",
/ "FLUA_ENDO_PORO",
/ "FLUA_PORO_BETON",
/ "FONDATION",
/ "GLRC_DAMAGE",
/ "GLRC_DM",
/ "GRAN_IRRA_LOG",
/ "GRILLE_CINE_LINE",
/ "GRILLE_ISOT_LINE",
/ "GTN",
/ "GonfElas",
/ "HAYHURST",
/ "HOEK_BROWN",
/ "HOEK_BROWN_EFF",
/ "HOEK_BROWN_TOT",
/ "HUJEUX",
/ "HYPER_HILL",
/ "IRRAD3M",
/ "Iwan",
/ "JOINT_BA",
/ "JOINT_BANDIS",
/ "JOINT_MECA_ENDO",
/ "JOINT_MECA_FROT",
/ "JOINT_MECA_RUPT",
/ "JONC_ENDO_PLAS",
/ "KICHENIN_NL",
/ "KIT_CG",
/ "KIT_DDI",
/ "KIT_H",
/ "KIT_HH",
/ "KIT_HH2",
/ "KIT_HH2M",
/ "KIT_HHM",
/ "KIT_HM",
/ "KIT_THH",
/ "KIT_THH2",
/ "KIT_THH2M",
/ "KIT_THHM",
/ "KIT_THM",
/ "KIT_THV",
/ "LAIGLE",
/ "LEMAITRE",
/ "LEMAITRE_IRRA",
/ "LEMA_SEUIL",
/ "LETK",
/ "LKR",
/ "MAZARS",
/ "MAZARS_UNIL",
/ "MCC",
/ "META_LEMA_ANI",
/ "META_LEMA_ANI",
/ "META_P_CL",
/ "META_P_CL_PT",
/ "META_P_CL_PT_RE",
/ "META_P_CL_RE",
/ "META_P_IL",
/ "META_P_IL_PT",
/ "META_P_IL_PT_RE",
/ "META_P_IL_RE",
/ "META_P_INL",
/ "META_P_INL_PT",
/ "META_P_INL_PT_RE",
/ "META_P_INL_RE",
/ "META_V_CL",
/ "META_V_CL_PT",
/ "META_V_CL_PT_RE",
/ "META_V_CL_RE",
/ "META_V_IL",
/ "META_V_IL_PT",
/ "META_V_IL_PT_RE",
/ "META_V_IL_RE",
/ "META_V_INL",
/ "META_V_INL_PT",
/ "META_V_INL_PT_RE",
/ "META_V_INL_RE",
/ "MFRONT",
/ "MOHR_COULOMB",
/ "MONOCRISTAL",
/ "MULTIFIBRE",
/ "MetaAcierEPIL_PT",
/ "MohrCoulombAS",
/ "NLH_CSRM",
/ "NORTON",
/ "NORTON_HOFF",
/ "POLYCRISTAL",
/ "RANKINE",
/ "RELAX_ACIER",
/ "RGI_BETON",
/ "RGI_BETON_BA",
/ "ROUSSELIER",
/ "ROUSS_PR",
/ "ROUSS_VISC",
/ "RUPT_FRAG",
/ "SANS",
/ "UMAT",
/ "VENDOCHAB",
/ "VISCOCHAB",
/ "VISC_CIN1_CHAB",
/ "VISC_CIN2_CHAB",
/ "VISC_CIN2_MEMO",
/ "VISC_CIN2_NRAD",
/ "VISC_DRUC_PRAG",
/ "VISC_ENDO_LEMA",
/ "VISC_GTN",
/ "VISC_IRRA_LOG",
/ "VISC_ISOT_LINE",
/ "VISC_ISOT_NL",
/ "VISC_ISOT_TRAC",
/ "VISC_MAXWELL",
/ "VISC_MAXWELL_MT",
/ "VISC_MEMO_NRAD",
/ "VISC_TAHERI",
/ "VMIS_ASYM_LINE",
/ "VMIS_CIN1_CHAB",
/ "VMIS_CIN2_CHAB",
/ "VMIS_CIN2_MEMO",
/ "VMIS_CIN2_NRAD",
/ "VMIS_CINE_GC",
/ "VMIS_CINE_LINE",
/ "VMIS_CINE_LINE",
/ "VMIS_ECMI_LINE",
/ "VMIS_ECMI_TRAC",
/ "VMIS_ISOT_LINE",
/ "VMIS_ISOT_NL",
/ "VMIS_ISOT_PUIS",
/ "VMIS_ISOT_TRAC",
/ "VMIS_JOHN_COOK",
/ "VMIS_MEMO_NRAD",
◇ REGU_VISC = / "NON" (par défaut),
/ "OUI",
# Si: equal_to("RELATION", 'MONOCRISTAL')
◆ COMPOR = compor,
# Si: equal_to("RELATION", 'MULTIFIBRE')
◇ RIGI_GEOM = / "DEFAUT" (par défaut),
/ "OUI",
# Si: equal_to("RELATION", 'POLYCRISTAL')
◆ COMPOR = compor,
# Si: equal_to("RELATION", 'UMAT')
◆ NB_VARI = int,
◆ LIBRAIRIE = text,
◆ NOM_ROUTINE = text,
# Si: equal_to("RELATION", 'MFRONT')
◆ COMPOR_MFRONT = compor_mgis,
◇ VERI_BORNE = / "ARRET" (par défaut),
/ "MESSAGE",
/ "SANS",
◇ ALGO_CPLAN = / "ANALYTIQUE",
/ "DEBORST" (par défaut),
◇ SYME_MATR_TANG = / "NON",
/ "OUI" (par défaut),
# Si: not equal_to('RELATION', 'MFRONT')
# Si: equal_to("RELATION", 'KIT_DDI')
◆ RELATION_KIT = / "BETON_DOUBLE_DP",
/ "BETON_GRANGER",
/ "BETON_GRANGER_V",
/ "BETON_UMLV",
/ "ENDO_ISOT_BETON",
/ "GLRC_DM",
/ "MAZARS",
/ "ROUSS_PR",
/ "VMIS_CINE_LINE",
/ "VMIS_ISOT_LINE",
/ "VMIS_ISOT_PUIS",
/ "VMIS_ISOT_TRAC",
# Si: equal_to("RELATION", 'KIT_CG')
◆ RELATION_KIT = / "CABLE_GAINE_FROT",
/ "ELAS",
/ "SANS",
/ "VMIS_CINE_LINE",
/ "VMIS_ISOT_LINE",
/ "VMIS_ISOT_TRAC",
# Si: is_in("RELATION", ['KIT_HHM','KIT_HH', 'KIT_H','KIT_HM','KIT_THHM', 'KIT_THH','KIT_THM','KIT_THV','KIT_THH2M','KIT_HH2M','KIT_HH2','KIT_THH2'])
◆ RELATION_KIT = / "BETON_AGEING",
/ "Barcelone",
/ "CAM_CLAY",
/ "CJS",
/ "CSSM",
/ "CZM_EXP_REG",
/ "CZM_LIN_REG",
/ "DRUCK_PRAGER",
/ "DRUCK_PRAG_N_A",
/ "ELAS",
/ "ENDO_ISOT_BETON",
/ "GAZ",
/ "GonfElas",
/ "HOEK_BROWN_EFF",
/ "HOEK_BROWN_TOT",
/ "HUJEUX",
/ "HYDR_ENDO",
/ "HYDR_TABBAL",
/ "HYDR_UTIL",
/ "HYDR_VGC",
/ "HYDR_VGM",
/ "Iwan",
/ "JOINT_BANDIS",
/ "LAIGLE",
/ "LETK",
/ "LIQU_AD_GAZ",
/ "LIQU_AD_GAZ_VAPE",
/ "LIQU_GAZ",
/ "LIQU_GAZ_ATM",
/ "LIQU_SATU",
/ "LIQU_VAPE",
/ "LIQU_VAPE_GAZ",
/ "LKR",
/ "MAZARS",
/ "MCC",
/ "MFRONT",
/ "MOHR_COULOMB",
/ "NLH_CSRM",
/ "RANKINE",
/ "VISC_DRUC_PRAG",
/ "VISC_MAXWELL",
/ "VISC_MAXWELL_MT",
# Si: 'MFRONT' in value("RELATION_KIT")
◆ COMPOR_MFRONT = compor_mgis,
◇ VERI_BORNE = / "ARRET" (par défaut),
/ "MESSAGE",
/ "SANS",
◇ ALGO_CPLAN = / "ANALYTIQUE",
/ "DEBORST" (par défaut),
◇ RESI_INTE = float (défaut: 1e-08),
◇ ITER_INTE_MAXI = int,
◇ SYME_MATR_TANG = / "NON",
/ "OUI" (par défaut),
# Si: 'MFRONT' not in value("RELATION_KIT")
# Si: value("RELATION").startswith('META_') and not value("RELATION").startswith('META_LEMA_ANI')
◆ RELATION_KIT = / "ACIER",
/ "ZIRC",
◇ DEFORMATION = / "GDEF_LOG",
/ "GREEN_LAGRANGE",
/ "GROT_GDEP",
/ "PETIT" (par défaut),
/ "PETIT_REAC",
/ "SIMO_MIEHE",
◇ RESI_CPLAN_MAXI = float,
# Si: not exists("RESI_CPLAN_MAXI")
◇ RESI_CPLAN_RELA = float (défaut: 1e-06),
◇ ITER_CPLAN_MAXI = int (défaut: 10),
# Si: (equal_to("RELATION", 'MFRONT'))
◇ RESI_INTE = float,
◇ ITER_INTE_MAXI = int,
# Si: is_in("RELATION", ('RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO', 'RGI_BETON_BA',))
◇ RESI_INTE = float (défaut: 1e-06),
◇ ITER_INTE_MAXI = int (défaut: -1),
# Si: not is_in("RELATION", ('MFRONT','RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO','RGI_BETON_BA',))
◇ RESI_INTE = float (défaut: 1e-06),
◇ ITER_INTE_MAXI = int (défaut: 20),
# Si: is_in("DEFORMATION", ('PETIT','PETIT_REAC','GROT_GDEP'))
◇ ITER_INTE_PAS = int (défaut: 0),
◇ ALGO_INTE = / "ANALYTIQUE",
/ "BASCULE_EXPLICITE",
/ "BRENT",
/ "DEKKER",
/ "NEWTON",
/ "NEWTON_1D",
/ "NEWTON_PERT",
/ "NEWTON_RELI",
/ "RUNGE_KUTTA",
/ "SANS_OBJET",
/ "SECANTE",
/ "SEMI_EXPLICITE",
/ "SPECIFIQUE",
# Si: not is_in("RELATION", ('RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO', 'RGI_BETON_BA', 'ENDO_PORO_BETON'))
◇ TYPE_MATR_TANG = / "PERTURBATION",
/ "VERIFICATION",
# Si: (exists("TYPE_MATR_TANG"))
◇ VALE_PERT_RELA = float (défaut: 1e-05),
# Si: equal_to("TYPE_MATR_TANG", 'TANGENTE_SECANTE')
◇ SEUIL = float (défaut: 3.0),
◇ AMPLITUDE = float (défaut: 1.5),
◇ TAUX_RETOUR = float (défaut: 0.05),
◇ PARM_THETA = float (défaut: 1.0),
# Si: not exists("TYPE_MATR_TANG")
◇ RESI_RADI_RELA = float,
# Si: is_in("RELATION", ('RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO', 'RGI_BETON_BA', 'ENDO_PORO_BETON'))
◇ TYPE_MATR_TANG = / "MATR_ELAS" (par défaut),
/ "MATR_ENDO",
◇ PARM_THETA = float (défaut: 1.0),
# Si: not exists("TYPE_MATR_TANG")
◇ RESI_RADI_RELA = float,
),
◇ FS = _F(
◇ FS_INIT = float (défaut: 1.0),
◇ INCR_INIT = float (défaut: 0.1),
◇ RESI_MAXI = float (défaut: 0.01),
◇ ITER_MAXI = int (défaut: 100),
◇ METHODE = / "EXPONENTIELLE" (par défaut),
/ "LINEAIRE",
# Si: equal_to("METHODE", "LINEAIRE")
◆ ITER_RAFF_LINE = int,
),
# Si: equal_to("METHODE_STAB", "LEM")
◇ METHODE_LEM = / "BISHOP" (par défaut),
/ "FELLENIUS",
/ "MORGENSTERN_PRICE",
/ "SPENCER",
◇ CRITERE = / "DRUCK_PRAGER",
/ "MOHR_COULOMB" (par défaut),
◆ GROUP_MA = grma,
◇ NB_TRANCHE = int (défaut: 10),
◇ INFO_TABLE = / 1 (par défaut),
/ 2,
◇ PHI_C_EQUI = "OUI" (ou non renseigné),
◇ TOLE_DIST = float,
# Si: exists("CHAM_PRES") or exists("LIGN_PHREA")
◇ SUCCION = "OUI" (ou non renseigné),
# Si: equal_to("SUCCION", "OUI")
◇ PHI_B = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
◆ VALE = float,
),
◇ CHAM_PRES = _F(
◆ RESULTAT = evol_noli,
◆ / INST = float,
/ NUME_ORDRE = int,
◇ PRECISION = float (défaut: 1e-06),
◇ ALGO_PRES = / "INVERSE",
/ "PROJECTION" (par défaut),
),
◇ LIGN_PHREA = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
◆ INDIC_PIEZO = list[int],
◆ TABLE = table,
◇ PRES_MAX = float,
),
◇ COEF_RU = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
◇ VALE = float,
),
◇ FONC_PRES = fonction / formule,
◇ ACCE = _F(
◆ / CALC_KC = "OUI" (ou non renseigné),
/ COEF_ACCE = float,
◇ / DIRECTION = list[float],
),
⟐ RAFF_MAIL = _F(
◇ NB_RAFF_MAXI = int (défaut: 4),
◇ RAFF_CRIT_STAB = float (défaut: 0.001),
),
◆ X1_MINI = float,
◆ X1_MAXI = float,
◆ X2_MINI = float,
◆ X2_MAXI = float,
# Si: (equal_to("METHODE_LEM", "BISHOP"))or(equal_to("METHODE_LEM", "FELLENIUS"))
◇ NB_POINT_1 = int (défaut: 5),
◇ NB_POINT_2 = int (défaut: 5),
◇ Y_MINI = float,
◇ Y_MAXI = float,
◇ NB_RAYON = int (défaut: 15),
# Si: (equal_to("METHODE_LEM", "MORGENSTERN_PRICE")or(equal_to("METHODE_LEM", "SPENCER")))
◇ INIT_ALEA = int,
⟐ ALGO_EFWA = _F(
◇ ETAT_INIT = table,
◇ ITER_MAXI = int (défaut: 50),
◆ A = float,
◇ A_INIT = float,
◇ A_FINAL = float,
◇ N = int (défaut: 5),
◇ M = int (défaut: 40),
◇ MG = int (défaut: 5),
◇ SA = float (défaut: 0.04),
◇ SB = float (défaut: 0.8),
◇ NB_STAB_MAXI = int (défaut: 10),
◇ CRIT_STAB = float (défaut: 0.001),
◇ MARGE_PENTE = float,
),
◇ CHAM_DEFO = co,
◇ INFO = / 1 (par défaut),
/ 2,
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Description de la macro-commande#
Selon les recommandations, la justification de la stabilité des barrages et des digues en remblai, la vérification de la stabilité des pentes sont indispensables aussi bien que lors de la conception et d’opération de ce genre d’ouvrages.
Cette analyse a pour objectif de prévenir la rupture soudaine de la pente en évaluant quantitativement le risque de rupture, i.e., le facteur de sécurité. La stabilité des pentes dépend à la fois de la géométrie, des propriétés mécaniques du remblai, et des chargements mécaniques et hydrauliques tels que la gravité, la pression hydrostatique et la pression interstitielle engendrée par l’infiltration d’eau au sein de l’ouvrage.
La macro-commande CALC_STAB_PENTE permet de calculer le facteur de sécurité via deux approches:
Méthode SRM : la méthode de réduction progressive des paramètres liés à la résistance au cisaillement du matériau (nommé méthode de SRM). Cette méthode a été proposée par Griffiths [1] en 1999. La méthode SRM implémentée a été validée seulement sur les pentes modélisées en 2D. L’utilisation sur les modèles 3D est également possible mais la pertinence du résultat doit être vérifiée par l’utilisateur.
Méthode LEM : une série de méthodes basées sur la théorie d’équilibre limite (nommé méthode LEM), y compris les procédures de Bishop simplifiée, Fellenius, Spencer et Morgenstern-Price [2]. Ces méthodes découpent la pente en plusieurs tranches considérées comme corps rigides. Étant donnée une surface de rupture potentielle, le calcul du facteur de sécurité se fait par résolution du bilan des forces et des moments de l’ensemble des tranches. Le facteur de sécurité est défini par le rapport entre la force de résistance et la force d’entraînement le long de la surface de rupture. CALC_STAB_PENTE s’équipe également des algorithmes d’optimisation pour localiser les surfaces de rupture minimisant le facteur de sécurité.
La méthode SRM met à profit la pertinence et la fidélité de la méthode aux éléments finis pour analyser la stabilité des pentes sans avoir besoin de supposer par avance les cercles de glissement.
En effet, en utilisant le critère de rupture de type Mohr-Coulomb, la méthode SRM définit le facteur de sécurité comme étant le rapport entre les paramètres matériaux initiaux et ceux réduits conduisant à la divergence du calcul non-linéaire sous les chargements appliqués:
\(\mathit{FS}=\dfrac{c}{{c}_{i}}=\dfrac{\tan(\varphi )}{\tan({\varphi}_{i})}=\dfrac{\tan(\psi )}{\tan({\psi}_{i})}\)
où
\(\psi\) est l’angle de dilatance du matériau,
\(c\) et \(\varphi\) représentent respectivement la force de cohésion et l’angle de frottement du remblai.
CALC_STAB_PENTE permet de définir la zone de SRM par un groupe des mailles indépendant.
Les avantages de la méthode SRM sont les suivants:
Possibilité d’appliquer divers types de chargements mécaniques, tels que la pression hydrostatique et la force d’inertie en condition sismique (pseudo-statique).
Calcul de champ de contraintes fidèle à la réalité sans la nécessité de pré-supposer les surfaces de rupture, ce qui mène au résultat de FS plus pertinent que celui de la méthode LEM.
Visualisation naturelle de la surface de rupture caractérisée par la déformation plastique élevée.
Avertissement
Si l’utilisateur n’est pas suffisamment expérimenté, la méthode SRM prendra généralement plus de temps de calcul et la pertinence du résultat n’est pas garantie à cause du calcul FEM mal configuré.
Contrairement à la méthode SRM, la méthode LEM est, elle, indépendante du calcul FEM. Néanmoins, la méthode LEM demande de pré-supposer les surfaces potentielles de rupture et fait une hypothèse sur les forces d’interaction entre les tranches. Vu la simplicité et l’efficacité de calcul, la méthode LEM est devenue la plus populaire dans l’industrie hydraulique et est recommandée par les réglementations de la conception et vérification des ouvrages en remblai.
En sortie de la macro-commande on récupère une table à gauche du signe d’égalité, dont le contenu dépend de la méthode d’analyse choisie :
En cas de SRM : la table contient les facteurs de sécurité testés lors des itérations, ainsi que les valeurs du déplacement total maximal dans la zone SRM. Cette table facilite à la fois la récupération du résultat de stabilité et la vérification de sa pertinence. En effet, le facteur de sécurité se trouve dans la dernière ligne de la table. La convergence de l’algorithme se vérifie par une tracée progressivement « aplatie » du facteur de sécurité en fonction du déplacement maximal.
En cas de LEM : la table contient les facteurs de sécurité de la surface critique au cours du raffinement du maillage, ainsi que les paramètres géométriques de la surface de rupture. Avec le mode de sortie détaillée activé (
INFO_TABLE=2), la table contient également les statistiques des surfaces potentielles parcourues, qui permettent de justifier le résultat et de vérifier la convergence de l’algorithme d’optimisation.Pour les procédures Bishop et Fellenius, la surface de rupture est décrite par les abscisses des points d’entrée et de sortie, le rayon et les coordonnées du centre du cercle.
Pour les procédures Spencer et Morgenstern-Price, la surface de rupture est décrite par les abscisses des points d’entrée et de sortie, et les ordonnées des points intermédiaires décrivant la surface multi-linéaire.
La macro-commande fournit l’option de visualiser le surface de glissement. Si demandé, un concept de type evol_noli
sera produit pour ce but.
Opérandes#
Opérandes CHAM_MATER#
♦ CHAM_MATER= cham_mater
Nom du champ de matériau affecté sur le modèle mo.
Avertissement
Il faut s’assurer que le chmat a été créé en utilisant le même maillage que celui du modèle modele.
Sinon, une erreur fatale aura lieu.
Opérande METHODE_STAB = “SRM”#
♦ METHODE_STAB= 'SRM'
En choisissant la méthode SRM, l’analyse de stabilité des pentes est basée sur le solveur non-linéaire STAT_NON_LINE en vue de chercher itérativement le facteur de sécurité jusqu’à ce que le calcul diverge. Par conséquent, les entrées de cette dernière commande sont également requises par la macro-commande.
Opérande MODELE#
♦ MODELE= modele
Nom du modèle dont les éléments font l’objet du calcul mécanique. Avec le modèle THM (voir [R7.01.11]), la macro-commande prend en compte l’effet hydraulique lors de l’analyse de stabilité, ce qui favorise surtout l’évaluation de stabilité des barrages et des digues.
Avertissement
En revanche, les modèles nécessitant la définition des caractéristiques élémentaires via la commande AFFE_CARA_ELEM ne sont pas autorisés par la macro-commande CALC_STAB_PENTE.
Opérande GROUP_MA/TOUT#
♦ /GROUP_MA = grma
/TOUT = 'OUI'
Liste des groupes de mailles définissant la zone où l’algorithme SRM s’applique. Si on analyse la stabilité du modèle entier, on configure l’opérande TOUT = “OUI”.
Dans le cas où les groupes des mailles diffèrent de ceux qui sont utilisés dans
l’affectation du matériau au maillage, la macro-commande identifiera les matériaux affectant la zone SRM
en se basant sur le champ de matériau chmat en entrée, et calcule les groupes des mailles d’intersection
entre la zone SRM et la zone d’affectation du matériau en question en vue d’affecter le matériau dégradé
dans la zone SRM par le principe de surcharge.
Mot clé EXCIT#
♦ EXCIT = _F()
Mot clé facteur permettant de décrire à chaque occurrence une charge (sollicitation et condition aux limites), et éventuellement un coefficient multiplicateur et/ou un type de charge.
La configuration de ce mot clé facteur est identique avec la commande STAT_NON_LINE(voir [u4.51.03]), sauf que les types de charge sont limitées entre “FIXE_CSTE”, “SUIV” et “DIDI”.
Important
Les types de charges liées à la fonctionnalité PILOTAGE ont été éliminées dans la macro-commande CALC_STAB_PENTE puisqu’elles sont en contradiction avec l’algorithme SRM.
Mot clé INCREMENT, CONVERGENCE et COMPORTEMENT#
♦ INCREMENT= _F()
Mot clé facteur définissant les intervalles de temps pris dans la méthode incrémentale (voir STAT_NON_LINE [u4.51.03])
♦ CONVERGENCE= _F()
Mot clé facteur permettant de contrôler les critères de convergence lors du calcul non-linéaire effectué par la commande STAT_NON_LINE ([u4.51.03]).
♦ COMPORTEMENT= _F()
Mot clé facteur définissant les relations de comportement. Il s’agit d’un mot clé commun à plusieurs commandes. Ses syntaxes sont décrites dans le document [U4.51.11].
Astuce
L’emploi de l’option du découpage automatique des pas de temps définie par la commande
DEFI_LIST_INSTavec l’opérandeECHEC/ACTION = 'DECOUPE'(dans le mot clé facteurINCREMENT) est vivement recommandée. En effet, le découplage de l’incrément à plusieurs niveaux permet d’éviter l’arrêt de CALC_STAB_PENTE à cause de la divergence de l’algorithme newtonien avant la formation d’une surface plastifiée traversante marquant la vraie rupture de la pente. De même, augmenterITER_GLOG_MAXIdans le mot-cléCONVERGENCEfavorise aussi la capture du moment exacte de collapse de la pente.Dans le mot clé facteur
COMPORTEMENTil est possible de définir des relations de comportement différentes sur les différentes parties du modèle. Cependant, similaire au traitement du champ de matériau dans la zone SRM, le programme examine qu’il existe un et seulement un comportement parmi MOHR_COULOMB et DRUCKER_PRAGER dans la zone SRM. Sinon, une erreur fatale sera produite. En outre, la définition des relations de comportement sur les mailles n’est pas autorisée par la macro-commande CALC_STAB_PENTE.
Mot clé FS#
◊ FS= _F()
Mot clé facteur définissant les paramètres de l’algorithme SRM, y compris la valeur initiale du facteur de sécurité, l’incrément initial et la méthode de raffinement.
Opérande FS_INIT#
◊ FS_INIT = f0
Cet opérande permet de renseigner la valeur initiale du facteur de sécurité.
Astuce
Il s’agit du coefficient de réduction des propriétés de résistance au cisaillement pour la première itération SRM. Donc, plus cette valeur initiale est proche du facteur de sécurité réel, moins durera le calcul. Cette valeur est souvent obtenue par méthode empirique ou par des tests préalables, mais ne peut jamais dépasser la valeur réelle, sinon le calcul divergera à la première itération SRM et une erreur fatale sera produite.
f0doit être strictement positif et la valeur par défaut est 1,0.En cas de l’erreur fatale informant que
f0est trop petit, il ne faut pas intuitivement l’augmenter et relancer le calcul SRM. Il est favorable d’examiner dans un premier temps la configuration du calcul non-linéaire, puisqu’il est probable que la divergence du calcul à la première itération SRM est due une mauvaise configuration du solveur STAT_NON_LINE.
Opérande INCR_INIT#
◊ INCR_INIT= p0
Cet opérande permet de définir l’incrément initial du facteur de sécurité.
Opérande RESI_MAXI#
◊ RESI_MAXI= pfin
Cet opérande permet de définir le résidu maximal du facteur de sécurité.
Le facteur de sécurité finalement obtenu est à pfin près de sa valeur réelle.
Cet opérande définit donc la précision du calcul de stabilité. Sa valeur par défaut est
fixée à 0,01 selon l’habitude du métier hydraulique.
L’écart important entre p0 et pfin conduira à une longue durée de calcul si on n’impose pas
le nombre de raffinements via le mot-clé ITER_RAFF_LINE.
Opérande ITER_MAXI#
◊ ITER_MAXI = iter_max
Cet opérande définit le nombre maximal d’itérations SRM. Il sert à éviter un calcul inefficace à cause de la configuration inappropriée du mot clé FS. Le calcul s’arrête avec l’erreur fatale si le iter_max est atteint sans que l’algorithme ait convergé.
Opérande METHODE#
◊ METHODE= /'EXPONENTIELLE'
/'LINEAIRE'
Cet opérande définit la loi de variation de l’incrément du facteur de sécurité. Deux options sont disponibles:
“EXPONENTIELLE”: Variation exponentielle
L’incrément du facteur de sécurité approche le résidu maximal de manière exponentielle. Au nème raffinement, l’incrément est calculé par :
\({p}_{n}={p}_{0}{2}^{-n}\)
jusqu’à ce que \({p}_{N}<{p}_{\mathit{fin}}\) .
“LINEAIRE”: Variation linéaire
L’incrément du facteur de sécurité approche le résidu maximal de manière linéaire. Dans ce cas-là un opérande supplémentaire ITER_RAFF_LINE est nécessaire. Au nème raffinement, l’incrément est calculé par :
\({p}_{n}={p}_{0}-n\dfrac{{p}_{0}-{p}_{\mathit{fin}}}{N}\)
jusqu’à ce que \({p}_{N}={p}_{\mathit{fin}}\).
L’avantage de la méthode exponentielle est que le calcul converge plus rapidement, alors que la méthode linéaire contrôle mieux la précision du résultat. La variation exponentielle de l’incrément s’adapte surtout au calcul avec grand INCR_INIT.
La méthode suivante simplifierait le choix entre les deux loi de variation de l’incrément. Soit \(N\) le nombre de raffinements souhaité, on choisit la loi linéaire si:
\(\dfrac{{p}_{0}-{p}_{\mathit{fin}}}{{\log}_{2}({p}_{0})-{\log}_{2}({p}_{\mathit{fin}})}<N\)
et on choisit la loi exponentielle sinon.
Opérande ITER_RAFF_LINE#
◊ ITER_RAFF_LINE= nbpas
Cet opérande permet de définir le nombre de raffinements de l’incrément si la loi de variation linéaire est sélectionnée.
Opérande METHODE_STAB = “LEM”#
♦ METHODE_STAB= 'LEM'
En choisissant la méthode LEM, le calcul du facteur de sécurité ne s’appuie plus sur la méthode des éléments finis, néanmoins elle s’appuie toujours sur le maillage en vue de diviser la pente en tranches et de calculer la masse des tranches via l’opérateur POST_ELEM.
Opérande CRITERE#
◊ CRITERE = /'MOHR_COULOMB'
/'DRUCK_PRAGER'
Cet opérande permet d’indiquer le critère de rupture à utiliser pour calculer la force de résistance tangentielle. Dans tous les cas on convertit les paramètres du critère Mohr-Coulomb ou Drucker-Prager en l’angle de frottement et cohésion afin de les injecter dans les formulations du calcul du facteur de sécurité suivant la procédure METHODE_LEM sélectionnée.
Opérande GROUP_MA#
♦ GROUP_MA= profil_pente
Cet opérande définit le groupe de mailles linéiques représentant le profil de la pente. Il est obligatoire de l’indiquer dans le but de :
Estimation des ordonnées des points d’entrées et de sortie.
Vérification de la potentielle surface de rupture de sorte qu’elle se situe dans le modèle mais jamais trop proche du profil de la pente.
Estimation du taux de pente aux extrémités de la surface de rupture afin de déterminer la direction de la force d’interaction entre les tranches.
La façon dont le profil de la pente intervient dans les divers algorithmes est expliquée plus en détail dans [R7.05.02]. L’utilisateur doit s’assurer que le profil de la pente fourni inclut les bandes de recherche des points d’entrée et de sortie, et qu’il satisfait les besoins mentionnés ci-dessus.
Il est conseillé de choisir un profil de la pente qui contient la pente entière ainsi qu’une partie des surfaces aplaties en amont et en aval. Un exemple du profil de la pente est montré dans la Fig. 125.
Fig. 125 Illustration des paramètres géométriques LEM#
Opérande NB_TRANCHE#
◊ NB_TRANCHE = / 10
/ Nt
Cet opérande définit le nombre de tranches divisant la pente. Il faut remarquer que le calcul LEM sera d’autant plus lent qu’on augmente le nombre des tranches. Cependant, il faut augmenter le nombre des tranches si on analyse la stabilité des structures stratifiées dont la surface de rupture est probablement non-circulaire.
Opérandes X1_MINI, X1_MAXI, X2_MINI et X2_MAXI#
♦ X1_MINI = x1_min
♦ X1_MAXI = x1_max
♦ X2_MINI = x2_min
♦ X2_MAXI = x2_max
Ces opérandes définissent les bandes de recherche des abscisses des points
d’entrée et de sortie de la potentielle surface de rupture.
Par convention, x1_min et x2_min doivent être inférieurs à x1_max et x2_max
respectivement.Un exemple de définition des X1 et X2 est montré dans la Fig. 125.
Mot clé RAFF_MAIL#
RAFF_MAIL = _F(
◊ NB_RAFF_MAXI = / 4
/ N_raff
◊ RAFF_CRIT_STAB = / 1e-3
/ raff_crit_stab
)
Mot-clé facteur définissant les paramètres liés à l’algorithme de raffinement du maillage
sur le contour des tranches. Le raffinement via la macro-commande MACR_ADAP_MAIL est piloté
par le champ de proximité mesurant la distance entre les nœuds et le contour des tranches.
La procédure complète est illustrée dans [R7.05.02].
L’opérande NB_RAFF_MAXI définit le nombre maximum de raffinement.
Cet opérande permet de limiter le nombre de raffinements afin de pouvoir
consulter plus rapidement le résultat de FS en contrepartie de la précision du calcul
si le critère de convergence du FS n’est pas satisfait.
L’opérande RAFF_CRIT_STAB définit le critère de stabilisation du facteur de sécurité au cours du raffinement du maillage. L’algorithme s’arrête si la valeur absolue de la variation de FS est inférieure à raff_crit_stab.
Mot clé CHAM_PRES#
◇ CHAM_PRES = _F(
◆ RESULTAT = evol_noli,
◆ / INST = float,
/ NUME_ORDRE = int,
◇ PRECISION = float (défaut: 1e-06),
◇ ALGO_PRES = / "INVERSE",
/ "PROJECTION" (par défaut),
),
Mot-clé facteur permettant de coupler le champ de pression hydraulique issu du modèle THM avec l’analyse de stabilité. Le champ DEPL dans le résultat evol_noli entré dans l’opérande RESULTAT doit comprendre le composant PRE1 et éventuellement PRE2 pour les modèles non saturés. En l’absence de PRE2, la pression de l’air est supposée nulle. Le champ de pression correspondant à l’instant indiqué par l’opérande INST ou NUME_ORDRE interviendra dans l’évaluation de la résistance au cisaillement le long de la surface de rupture.
Deux méthodes d’interpolation sont disponibles dans l’opérande ALGO_PRES :
INVERSE: L’interpolation pondérée par l’inverse de la distance (IDW). La valeur de puissance est fixée à 2. Il s’agit d’une méthode simple et efficace. Cependant, la pondération des noeuds distants diminuant rapidement en fonction de la distance, seuls les noeuds au voisinage immédiat influencent le résultat d’interpolation. Donc cette méthode s’adapte plutôt au maillage fin.PROJECTION: L’interpolation se fait par PROJ_CHAMP [U4.72.05] à l’aide des fonctions de forme des éléments finis. Cette méthode est plus rassurante que l’IDW.
Mot clé LIGN_PHREA#
◇ LIGN_PHREA = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = grma,
◆ INDIC_PIEZO = (int, ),
◆ TABLE = table,
◇ PRES_MAX = float,
),
Mot-clé facteur définissant les lignes phréatiques pour le modèle entier ou par zone sous la forme de aster_table entré dans l’opérande TABLE. L’opérande INDIC_PIEZO permet d’indiquer les deux indices des colonnes dans la table qui définiront respectivement l’abscisse et la tête de pression. On détermine la pression capillaire au point avec les coordonnées \((x, y)\) telle que :
\(P_c(x, y) = \rho_W g \left[y - y_w(x)\right]cos^2A(x)\)
où \(A(x)\) est l’angle d’inclinaison locale de la ligne phréatique par rapport à l’horizontale.
La pression de l’air est supposée nulle. On constate que la pression capillaire est positive au-dessus de la ligne phréatique et proportionnelle à \(y\). Cela deviendra problématique si on calcule la résistance due à la succion matricielle par le paramètre simple PHI_B, parce que ce terme supplémentaire de résistance tendra vers l’infini, ce qui est incohérent avec la réalité. Donc l’opérande PRES_MAX permet de limiter la pression capillaire positive afin d’éviter d’obtenir un résultat irréaliste.
Mot clé COEF_RU#
◇ COEF_RU = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = grma,
◇ VALE = float,
),
Mot-clé facteur définissant par zone le coefficient de pression interstitielle. Ce paramètre \(R_u\) est défini par le rapport entre la pression de l’eau interstitielle et la contrainte de surcharge appliquée sur la base des tranches :
\(R_u = \frac{u}{\rho_s g H_s}\)
Cette approche le plus simple de considérer l’effet hydraulique a été proposée pour la première fois par Bishop et Morgenstern en 1960 [3]. Toutefois, ce rapport \(R_u\) peut varier dans la pente si la ligne phréatique réelle n’est pas parallèle à la surface de la pente. Donc il faut l’utiliser avec prudence. Il est conseillé de mesurer le \(R_u\) en plusieurs points dans la structure et de calculer la valeur moyenne pour éviter le résultat erroné.
Opérande SUCCION#
◇ SUCCION = "OUI"
L’opérande SUCCION permet de prendre en compte la résistance au cisaillement due à la succion matricielle dans le sol non saturé au-dessus de la ligne phréatique, dans le but d’obtenir un résultat de stabilité moins conservatif. Il existe deux options pour calculer la résistance avec succion matricielle :
- Option 1
On définit un angle constant \(\varphi_b\) traduisant l’augmentation de la résistance en fonction de la succion. On détermine la résistance telle que :
\(S = c' + (\sigma_n - p_a)\tan\varphi' + p_c \tan\varphi_b\)
- Option 2
On calcule la résistance selon le comportement hydraulique renseigné par l’utilisateur dans
DEFI_MATERIAU/THM_DIFFU. Comme proposé par Vanapalli et al[4], la résistance s’exprime par :\(S = c' + (\sigma_n - p_a)\tan\varphi' + p_c \left(\frac{\theta_w - \theta_r}{\theta_s - \theta_r}\right) \tan\varphi'\)
où \(\theta_w\), \(\theta_s\), \(\theta_r\) représentent respectivement la saturation en eau, la saturation à l’état saturé et la saturation résiduelle. Selon les propriétés renseignées dans le cham_mater en entrée, on détermine la saturation effective qui s’exprime par :
\(S_{we} = \frac{\theta_w - \theta_r}{\theta_s - \theta_r}\)
soit par les paramètres du modèle Van-Genuchten, soit par la fonction \(\theta_{w}(p_c)\) définie via l’opérande
SATU_PRESdansDEFI_MATERIAU/THM_DIFFU. Dans le deuxième cas, \(\theta_s\) et \(\theta_r\) prennent la valeur du premier et du dernier élément dans la liste définissant la fonction.
Mot clé PHI_B#
◇ PHI_B = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = grma,
◆ VALE = float,
),
Mot-clé facteur définissant la valeur d’angle de succion matricielle \(\varphi_b\) par zone, à condition d’avoir activé SUCCION.
Opérande INFO_TABLE#
◇ INFO_TABLE = / 1 (par défaut),
/ 2,
Par défaut on fournit en sortie le résultat simplifié contenant seulement les facteurs de sécurité / coefficient d’accélération critique à chaque itération du raffinement du maillage, ainsi que les paramètres géométriques de la surface critique. En mettant INFO_TABLE=2, on rajoute en plus dans la table en sortie les statistiques de ces paramètres et les résultats intermédiaires de l’algorithme d’optimisation. L’explication détaillée de chaque colonne dans la table en sortie se trouve dans Tableau 31 et Tableau 32.
Pour les méthodes Bishop et Fellenius (surface circulaire)
Résultat |
Signification |
|---|---|
NUME_RAFF |
Numéro d’itération de raffinement du maillage. |
FS/KC |
Facteur de sécurité ou coefficient d’accélération critique. |
X_ENTRE |
Abscisse de l’extrémité gauche de la surface de rupture. |
Y_ENTRE |
Ordonnée de l’extrémité gauche de la surface de rupture. |
X_SORTIE |
Abscisse de l’extrémité droite de la surface de rupture. |
Y_SORTIE |
Ordonnée de l’extrémité droite de la surface de rupture. |
CENTRE_X |
Abscisse du centre de la surface de rupture. |
CENTRE_Y |
Ordonnée du centre de la surface de rupture. |
RAYON |
Rayon de la surface de rupture. |
NB_SURF_TEST* |
Nombre de surfaces potentielles testées. |
EXT_CENTRE_X* |
Extremum X des centres. |
EXT_CENTRE_Y* |
Extremum Y des centres. |
EXT_RAYON* |
Extremum des rayons. |
HIST_RAYON* |
Historique des rayons en ordre croissant. |
HIST_CENTRE_X* |
Historique de l’abscisse des centres. |
HIST_CENTRE_Y* |
Historique de l’ordonnée des centres. |
HIST_FS/KC* |
Historique des FS/KC. |
*Résultats supplémentaires quand INFO_TABLE=2.
Pour les méthodes Morgenstern-Price et Spencer (surface non-circulaire)
Résultat |
Signification |
|---|---|
NUME_RAFF |
Numéro d’itération de raffinement du maillage. |
FS/KC |
Facteur de sécurité ou coefficient d’accélération critique. |
NUME_POINT |
Nombre de points sur la surface de rupture (= nombre de tranches + 1). |
COOR_X |
Abscisse des points définissant la surface critique. |
COOR_Y |
Ordonnée des points définissant la surface critique. |
MIN_X* |
Minima en X. |
MAX_X* |
Maxima en X. |
MIN_Y* |
Minima en Y. |
MAX_Y* |
Maxima en Y. |
NUME_ITER* |
Numéro d’itération EFWA. |
HIST_FS/KC* |
Historique des minima FS/KC lors des itérations EFWA. |
*Résultats supplémentaires quand INFO_TABLE=2.
Astuce
Dû aux limitations de l’algorithme d’optimisation et à la zone de recherche incorrecte, le résultat d’analyse de stabilité par LEM peut être erroné sans erreur informatique. Pourtant, la table en sortie permet de vérifier et de justifier manuellement le résultat. Plus précisément, il est conseillé d’examiner les éléments suivants :
Convergence du FS/KC : Tracer
FS/KCcontreNUME_RAFFpour vérifier si le nombre de raffinements est suffisant. En cas de non-convergence à cause de l’atteinte deNUME_RAFF_MAXI, augmenter le nombre de raffinements maximal ou ajuster le maillage en entrée.Convergence de l’algorithme d’optimisation : Avec
INFO_TABLE = 2, on justifie aisément la configuration de l’algorithme d’optimisation. Pour les méthodes Bishop et Fellenius, on vérifie que le minimum duHIST_FS/KCse trouve au plein milieu dans la bande des rayons testés pour chaque combinaison des points d’entrée et de sortie. Pour les méthodes Morgenstern et Spencer, on traceHIST_FS/KCen fonction duNUME_ITERde manière à vérifier graphiquement la convergence. En cas de non-convergence, on examine les extremums des paramètres géométriques des surfaces potentielles parcourues puis corrige la configuration de l’algorithme d’optimisation.
Opérandes PHI_C_EQUI et TOLE_DIST#
◇ PHI_C_EQUI = "OUI",
◇ TOLE_DIST = float,
L’opérande PHI_C_EQUI permet d’activer le calcul de cohésion et de l’angle de frottement équivalent sur la base des tranches qui traversent plusieurs matériaux :
\(c_{eq} = \frac{\sum_{k=1}^{N_c}c_kl_k}{L}, \quad \tan\varphi_{eq} = \frac{\sum_{k=1}^{N_c}\tan\varphi_kl_k}{L}\)
où \(N_c\) est le nombre de matériaux sur la base des tranches, \(l_k\) est la longueur de base dans le matériau k, \(L\) est la longueur totale de la base.
L’opérande TOLE_DIST définit la tolérance en distance pour distinguer deux matériaux différents. Si cette valeur est suffisamment élevée, PHI_C_EQUI deviendra non effectif. Dans le cas contraire, on arrive à identifier les couches de sol d’épaisseur très fine en contrepartie du temps de calcul. Par défaut, ce paramètre est adaptatif et égal à 5% de la longueur de base.
Opérande FONC_PRES#
◇ FONC_PRES = fonction / formule
L’opérande FONC_PRES permet d’appliquer une pression répartie sur la surface de la pente définie dans l’opérande GROUP_MA sous la forme d’une fonction ou formule de pression avec comme variables les coordonnées X et Y. On évalue la force nodale aux noeuds des éléments 1D constituant le profil de pente. Ainsi on calcule la force et le moment appliqués sur les tranches de sol par l’intégration trapézoïdale.
Mot clé ACCE#
◇ ACCE = _F(
◆ / CALC_KC = "OUI" ,
/ COEF_ACCE = float,
◇ DIRECTION = float,
),
Mot-clé facteur définissant la force d’inertie causée par le séisme. Par le principe d’analyse pseudo-statique, on modélise l’effet sismique par la force d’inertie calculée à partir du coefficient d’accélération \(k_a\) défini via COEF_ACCE et le vecteur de direction \(\overrightarrow{r}\) définie via DIRECTION telle que :
\(F_{i} = \rho_s g k_a \frac{\overrightarrow{r}}{\Vert \overrightarrow{r} \Vert_2}\)
Il est également possible de résoudre le coefficient d’accélération critique noté \(k_c\) et la surface critique associée, qui peuvent être ensuite utilisés comme entrée dans la macro-commande POST_NEWMARK [U4.84.45] afin de calculer le déplacement irréversible de la pente à l’issue du séisme. Pour ce faire, il faut simplement activer l’opérande CALC_KC qui exclut alors les deux autres opérandes.
Opérande METHODE_LEM = “BISHOP” ou “FELLENIUS”#
◊ METHODE_LEM= /'BISHOP'
/'FELLENIUS'
L’opérande METHODE_LEM permet de basculer entre les différentes procédures de calcul de stabilité par la méthode LEM. Cet opérande détermine en même temps la fonction d’objectif de l’algorithme d’optimisation.
Quand METHODE_LEM = “BISHOP” ou “FELLENIUS”, on fait l’hypothèse que la surface de rupture est circulaire et on calcule le facteur de sécurité en supposant que les forces d’interaction entre les tranches sont horizontales (BISHOP) ou nulles (FELLENIUS). La surface étant circulaire, on cherche la surface critique en parcourant toutes les combinaisons de points d’entrée et de sortie. Pour chaque combinaison, on calcule automatiquement le rayon minimisant FS. Deux approches sont disponibles pour déterminer les bandes d’essai du rayon:
Option 1 : On parcourt tous les rayons qui forment une surface de rupture cinématiquement admissible.
Option 2 : On définit manuellement la bande d’essai en définissant les droites horizontales tangentielles aux surfaces de rupture. Cette option de recherche accélère le calcul si l’utilisateur expérimenté prévoit une zone réduite où se situe probablement la surface de rupture. On profite de cette option aussi pour examiner les surfaces à l’entourage de celle donnée par le résultat.
Le document [R7.05.02] explique plus en détail l’algorithme d’optimisation pour les procédures Bishop simplifié et Fellenius.
Opérandes NB_POINT_1 et NB_POINT_2#
◊ NB_POINT_1 = / 5
/ nb_point_1
◊ NB_POINT_2 = / 5
/ nb_point_2
Les opérandes NB_POINT_1 et NB_POINT_2 définissent le nombre de points intermédiaires entre les bandes de recherche des points d’entrée et de sortie respectivement. Par exemple, on teste tous les points x1:
\({x}_{1}^{i}={x}_{1min}+({x}_{1max}-{x}_{min})/({N}_{1}-1)\ast i \quad \text{} \forall i=0,1,\mathrm{...},{N}_{1}-1\)
Note
Si X1/2_MINI et X1/2_MAXI sont égaux, NB_POINT_1/2 sera systématiquement remis à 1.
Opérandes Y_MINI et Y_MAXI#
◊ Y_MINI = y_min
◊ Y_MAXI = y_max
Les opérandes Y_MINI et Y_MAXI définissent les ordonnées minimum et maximum des droites horizontales tangentielles aux surfaces de rupture testées. Ces opérandes seront nécessaires si on contrôle manuellement la recherche du rayon (option 2 mentionnée dans la section 4.3.6 ).
Un exemple de configuration des Y_MINI et Y_MAXI est montré dans la Fig. 125.
Important
Il faut s’assurer que y_min est inférieur à \(min\lbrace x{1}_{max},x{2}_{min}\rbrace\). En effet, si les points d’entrée et de sortie se situent aux deux côtés de la droite tangentielle, cette combinaison sera ignorée puisqu’il sera impossible de créer une surface de rupture tangentielle qui traverse sa ligne tangente.
Opérande NB_RAYON#
◊ NB_RAYON = / 15
/ nb_r
L’opérande NB_RAYON définit le nombre de surfaces à tester pour chaque combinaison des points d’entrée et de sortie. Pour les méthodes Bishop et Fellenius, les cercles sont générés par la façon illustrée dans la Fig. 126. A partir des deux extrémités, un troisième point sur le cercle se détermine par tracer la droite perpendiculaire passant par le milieu du segment X1-X2. L’opérande NB_RAYON contrôle le nombre de discrétisations de distance entre le segment X1-X2 et l’intersection de cette droite avec le cercle :
\(d_n = d_{min} + \frac{d_{max} - d_{min}}{N_r - 1}(n-1)\)
où la valeur minimum \(d_{min}\) est automatiquement déterminée dans les deux situations suivantes :
S’il n’existe pas d’intersection entre le segment X1-X2 et le profil de pente, \(d_{min}\) est calculé simplement comme \(d_{min} = \frac{d_{max}}{N_r}\).
Sinon, on choisit le cercle dont le rayon est maximal parmi ceux qui satisfont les conditions suivantes afin d’éviter l’échec de création des groupes de maille des tranches :
Le cercle est inclus dans le modèle entre X1 et X2.
La distance entre le cercle et le profil de pente est supérieure à la taille minimale des mailles dans la direction verticale.
Tous les points intermédiaires s’éloignent du profil de pente à une distance verticale supérieure à la taille de la maille juste au-dessous de la pente à la même abscisse.
Fig. 126 Génération des cercles dans les méthodes Bishop et Fellenius.#
Opérande METHODE_LEM = ‘SPENCER’ ou ‘MORGENSTERN_PRICE’#
◊ METHODE_LEM= /'SPENCER'
/'MOGENSTERN-PRICE'
Quand METHODE_LEM = “SPENCER” ou “MORGENSTERN_PRICE”, on fait l’hypothèse que la surface de rupture est multi-linéaire et on calcule le facteur de sécurité en résolvant à la fois le bilan des forces et des moments complets de l’ensemble des tranches. La recherche de la surface critique s’appuie sur l’algorithme de feu d’artifice renforcé (Enhanced Fireworks Algorithm, EFWA) qui fait partie des algorithmes d’essaims intelligents (Swarm Intelligence Algorithm) , et donc requiert des paramètres supplémentaires pour configurer l’algorithme EFWA.
Le document [R7.05.02] explique en détail l’algorithme EFWA.
Note
Lors de l’évaluation du FS des potentielles surfaces de rupture générées par l’EFWA, il est susceptible que la surface soit physiquement illégale et que la condition de convergence des itérations point fixe ne soit pas satisfaite, ce qui n’empêche pas la localisation de la surface critique globale. Donc dans ce cas-là on attribue à cette surface illégale un FS très grand (avec l’émission d’un message d’information) et continue à tester les autres surfaces de rupture.
Afin d’éviter que l’EFWA génère ce type de surface illégale, il vaut mieux d’augmenter le nombre de tranches de sorte que les surfaces soient lisses. Cependant, il faut vérifier en même temps que le maillage est assez fin, qui rassure l’existence des mailles dont tous les nœuds sont inclus dans une tranche de taille réduite.
Mot clé INIT_ALEA#
◇ INIT_ALEA = int,
Si le mot-clé INIT_ALEA est renseigné, on initialise le germe des suites aléatoires par cette valeur. Deux calculs consécutifs avec la même initialisation produisent alors les mêmes résultats. Si le mot-clé n’est pas renseigné, alors le germe utilisé est affiché dans le fichier des messages.
Mot clé ALGO_EFWA#
⟐ ALGO_EFWA = _F(
◇ ETAT_INIT = table,
◇ ITER_MAXI = int (défaut: 50),
◆ A = float,
◇ A_INIT = float,
◇ A_FINAL = float,
◇ N = int (défaut: 5),
◇ M = int (défaut: 40),
◇ MG = int (défaut: 5),
◇ SA = float (défaut: 0.04),
◇ SB = float (défaut: 0.8),
◇ NB_STAB_MAXI = int (défaut: 10),
◇ CRIT_STAB = float (défaut: 0.001),
◇ MARGE_PENTE = float,
),
Mot clé facteur définissant les paramètres liés à l’algorithme d’optimisation EFWA.
◊ ETAT_INIT = tabfs
Cet opérande prend en entrée la table en sortie de la macro-commande CALC_STAB_PENTE, qui permet d’initialiser l’algorithme EFWA en ajoutant à la première génération des feux d’artifice la position de la surface critique issue du calcul précédent.
Astuce
Cet opérande est utile dans les deux circonstances suivantes :
Vu que l’EFWA est un algorithme probabiliste, l’atteinte de l’optimum global n’est pas mathématiquement garantie à l’issue d’un nombre limité d’itérations. Donc CALC_STAB_PENTE offre la possibilité de récupérer le résultat avant l’atteinte du vrai optimum et de reprendre le calcul si nécessaire.
Afin de réduire le nombre d’itérations, on peut prendre le résultat issu de la méthode Bishop ou Fellenius comme l’état initial. En général, cet état initial est déjà une approximation parfaite de la solution exacte.
◊ ITER_MAXI = / 1e2
/ iter_max
L’opérande ITER_MAXI définit le nombre d’itérations maximum de l’EFWA. Au bout de iter_max itérations, l’algorithme s’arrête même si la valeur minimale de FS n’a pas encore été obtenue.
◆ A = float,
◇ A_INIT = float,
◇ A_FINAL = float,
◇ N = int (défaut: 5),
◇ M = int (défaut: 40),
◇ MG = int (défaut: 5),
◇ SA = float (défaut: 0.04),
◇ SB = float (défaut: 0.8),
Les opérandes A, A_INIT, A_FINAL, N, M, MG, SA, SB définissent les paramètres liés à la génération des étincelles ordinaires et gaussiennes dans l’EFWA.
La signification de ces opérandes est la suivante:
L’opérande
A: l’amplitude totale de l’explosion des feux d’artifice. Il dépend de la dimension caractéristique de la pente. Par exemple, soit H la hauteur de la pente, il est raisonnable d’estimer approximativement la valeur de A comme:\(A=\frac{m}{\mathit{nb}\text{_}\mathit{tranches}}H\)
L’opérande
A_INITetA_FINAL: l’amplitude minimum initiale et finale qui s’implique dans le calcul du bord inférieur de l’amplitude d’explosion. Cet amplitude minimum permet de maintenir la capacité de recherche locale autour de la solution optimale. Par défaut, l’amplitude initiale et finale sont égales à 100% et 10% de la largeur des tranches de sol. On adopte la fonction décroissante non-linéaire :\(A_{min}(N) = A_{init} - \frac{A_{init} - A_{fina}}{N_{max}}\sqrt{(2N_{max} - N)N}\)
L’opérande
N: nombre de feux d’artifice dans chaque génération.L’opérande
M: nombre total d’étincelles ordinaires générées lors de l’explosion de tous les feux d’artifices.L’opérande
MG: nombre des étincelles gaussiennes générées lors de l’explosion des feux d’artifices. La génération des étincelles gaussiennes a pour enjeu d’améliorer la diversité des étincelles distribuées dans l’espace des variables d’état, ce qui est l’avantage principal de l’EFWA par rapport aux autres algorithmes d’essaims.L’opérande
SA: coefficient multiplicateur déterminant la limite inférieure du nombre des étincelles générées lors de l’explosion d’un feu d’artifice.L’opérande
SB: coefficient multiplicateur déterminant la limite supérieure du nombre des étincelles générées lors de l’explosion d’un feu d’artifice.
◇ NB_STAB_MAXI = int (défaut: 10),
◇ CRIT_STAB = float (défaut: 0.001),
L’opérande NB_STAB_MAXI définit le nombre d’itérations consécutives donnant FS/KC dont la variation est inférieure au seuil défini via l’opérande CRIT_STAB avant que le calcul soit considéré comme convergé.
◇ MARGE_PENTE = float,
L’opérande MARGE_PENTE impose une marge verticale entre les surfaces de rupture testées et le profil de pente, afin d’assurer la possibilité de créer les groupes de mailles pour les tranches de sol.
Astuce
Ce n’est pas toujours nécessaire d’imposer manuellement une marge entre la surface de rupture et le profil de pente, sauf qsi l’on est confronté à l’échec de création des groupes de mailles suivi par les messages d’erreur de l’opérateur DEFI_GROUP. En effet, le programme évalue automatiquement cette marge en analysant le maillage compris dans le cham_mater en entrée. On tente de choisir une marge aussi petite que possible afin d’élargir la zone de recherche. En outre, les surfaces potentielles étant générées de manière récursive, une marge trop importante aura un impact sur l’efficacité de l’EFWA et même risque de provoquer l’échec de génération des surfaces initiales.
Donc, en cas d’échec de DEFI_GROUP ou de non-convergence, il est conseillé d’améliorer dans un premier temps le maillage utilisé avant d’imposer manuellement une marge verticale.
Opérande CHAM_DEFO#
◊ CHAM_DEFO=CO(chamdef)
Nom du concept evol_noli contenant le champ visualisant la surface de rupture.
Dans le cas où METHODE_STAB = “SRM” :
Le résultat chamdef contient le champ de déformation plastique cumulée (composant V1 du champ VARI_NOEU)
à produire par la macro-commande. Il est possible d’imprimer ce champ via la commande IMPR_RESU
à l’issue de l’exécution de la macro-commande pour visualiser la surface de glissement,
qui correspond à la zone où la déformation plastique cumulée est importante.
Dans le cas où METHODE_STAB = “LEM” :
Le résultat chamdef contient le champ de déplacement (NOEU_DEPL) indicatif
visualisant la partie glissante de la pente. On affecte au composant DX la valeur 1
si le nœud fait partie de la partie glissante, et 0 sinon.
Exemple d’utilisation#
L’analyse de stabilité d’un barrage ou d’une digue se déroule en 5 étapes:
Définition du modèle et du champ de matériau.
Calcul du champ de pression interstitielle par le modèle D_PLAN_H (statique) ou D_PLAN_HH (transitoire).
Définition des chargements mécaniques (pression hydrostatique et coefficient d’accélération).
Méthode SRM : Introduction de la pression hydraulique dans un nouvel champ de matériau via le mot clé facteur AFFE_VARC. Méthode LEM : Introduire le champ de pression hydraulique via CHAM_PRES. On a l’option de prendre en compte la succion matricielle par activer SUCCION.
Calcul du facteur de stabilité via la macro-commande CALC_STAB_PENTE.
Un exemple d’utilisation pour le calcul statique avec la méthode SRM est montré ci-dessous. Dans le cas test [V1.01.135] se trouvent plus de détails.
CMPTOT = AFFE_MATERIAU(
AFFE=(
_F(GROUP_MA=("fondation",), MATER=(FOND,)),
_F(GROUP_MA=("fond_fill",), MATER=(ROCK,)),
_F(GROUP_MA=("rockfill_down", "rockfill_up"), MATER=(Remblai,)),
_F(GROUP_MA=("core",), MATER=(CLAY,)),
),
AFFE_VARC=_F(EVOL=REPTOT, NOM_VARC="PTOT", TOUT="OUI"),
MAILLAGE=MAILME,
)
TABFS1 = CALC_STAB_PENTE(
MODELE=modME,
CHAM_MATER=CMPTOT,
GROUP_MA=("ZONE_SRM"),
EXCIT=(
_F(CHARGE=DIRI),
_F(CHARGE=Gravity, FONC_MULT=multi),
_F(CHARGE=Presrep, FONC_MULT=multi),
),
INCREMENT=_F(LIST_INST=LTr),
CONVERGENCE=_F(ITER_GLOB_MAXI=10),
COMPORTEMENT=(_F(RELATION="MOHR_COULOMB"), _F(RELATION="ELAS", GROUP_MA=("rockfill_down"))),
FS=_F(FS_INIT=1.84, INCR_INIT=0.04, RESI_MAXI=0.02),
CHAM_DEFO=CO("chamdef"),
)
IMPR_TABLE(TABLE=TABFS1, UNITE=8)
IMPR_RESU(RESU = _F(RESULTAT = chamdef), UNITE= 2)
Le calcul hydraulique transitoire permet d’évaluer la stabilité d’un ouvrage hydraulique en remblai sous des chargements transitoires, tels que l’inondation pour les digues et la vidange rapide du réservoir. La macro-commande CALC_STAB_PENTE n’est néanmoins pas capable de traiter directement les chargements transitoires, à l’exception des chargements quasi-statiques avec fonction multiplicatrice qui sert à améliorer la convergence du calcul.
Cependant, l’évaluation de la stabilité de l’ouvrage sous chargement hydraulique transitoire peut s’effectuer possiblement avec CALC_STAB_PENTE en vérifiant, à chaque pas de calcul transitoire, la stabilité statique de l’ouvrage. Avec cette méthode on obtiendra les tables comme résultat dont le nombre total est égal au nombre des instants physiques. Il est donc possible de tracer la variation du facteur de sécurité en fonction du temps.
Un exemple d’utilisation pour l’analyse de stabilité par la méthode Bishop simplifiée est montré ci-dessous.
RESTAB = CALC_STAB_PENTE(CHAM_MATER = CHMAT,
METHODE_STAB = 'LEM',
METHODE_LEM = 'BISHOP',
GROUP_MA = 'range_pente',
NB_TRANCHE = nb_tranche,
NB_RAYON = 15,
SUCCION = 'OUI',
PHI_B = _F(TOUT = 'OUI', VALE = 10.),
LIGN_PHREA = _F(INDIC_PIEZO = [1, 2],
TABLE = TABPIEZO,
TOUT = 'OUI',
),
FONC_PRES = f_pres,
RAFF_MAIL = _F(NB_RAFF_MAXI = nb_raff_maxi,
RAFF_CRIT_STAB = raff_crit_stab),
X1_MINI = x1_mini,
X1_MAXI = x1_maxi,
X2_MINI = x2_mini,
X2_MAXI = x2_maxi,
NB_POINT_1 = nb_point_1,
NB_POINT_2 = nb_point_2,
INFO_TABLE = 2,
)
Un exemple d’utilisation pour l’analyse de stabilité par la méthode Morgenstern-Price est montré ci-dessous.
TABFS = CALC_STAB_PENTE(
CHAM_MATER=CHMAT,
METHODE_STAB="LEM",
METHODE_LEM="MORGENSTERN_PRICE",
CRITERE="MOHR_COULOMB",
GROUP_MA=("range_pente",),
NB_TRANCHE=5,
CHAM_PRES=_F(RESULTAT=CHPROJ, INST=CHPROJ.LIST_VARI_ACCES()["INST"][-1], ALGO_PRES="INVERSE"),
RAFF_MAIL=_F(NB_RAFF_MAXI=1),
X1_MINI=3.0,
X1_MAXI=3.0,
X2_MINI=13.2,
X2_MAXI=13.2,
ALGO_EFWA=_F(ETAT_INIT=TAB_INIT, ITER_MAXI=1, A=50, N=1, M=1, MG=0, MARGE_PENTE=0.8),
CHAM_DEFO=CO("chamdef"),
)
Plus de détails se trouvent dans le cas-test [V1.01.146].
Bibliographie#
Griffiths, D. V., & Lane, P. A. (1999). Slope Stability Analysis by Finite Elements. Geotechnique, 49, 387–403. doi:10.1680/geot.1999.49.3.387
Duncan, J. M., Wright, S. G., & Brandon, T. L. (2014). Soil Strength and Slope Stability (2nd ed.). Wiley.
A. W. Bishop et N. Morgenstern, (1960). Stability Coefficients for Earth Slopes, Geotechnique, 10(4): 129-153
S. K. Vanapalli, D. G. Fredlund, D. E. Pufahl, et A. W. Clifton, (1996), Model for the Prediction of Shear Strength With Respect To Soil Suction, Can. Geotech. J., 33(3): 379-392