u4.81.08 Opérateur POST_BEREMIN#

Syntaxe#

Détail de la syntaxe
/ table = POST_BEREMIN(
    ◆ RESULTAT = evol_noli,
    ◆ DEFORMATION = / "GDEF_LOG",
                    / "PETIT",
                    / "PETIT_REAC",
    ◆ FILTRE_SIGM = / "SIGM_CORR",
                    / "SIGM_ELGA",
                    / "SIGM_ELMOY",
    ◇ NUME_VARI = int (défaut: 0),
    # Si: equal_to("DEFORMATION", 'GDEF_LOG')
        ◆ LIST_NUME_SIEF = list[int],
    ◇ HIST_MAXI = / "NON" (par défaut),
                  / "OUI",
    ◇ SIGM_MAXI = co,
    ◇ COEF_MULT = float (défaut: 1.0),
    # Si: equal_to("FILTRE_SIGM", 'SIGM_CORR')
        ◆ SIGM_CORR = evol_noli,
    ◆ / WEIBULL = _F(
           ◆ GROUP_MA = grma,
           ◆ M = list[float],
           ◆ VOLU_REFE = float,
           ◇ SIGM_REFE = list[float] (défaut: 0.0),
           ◇ SIGM_SEUIL = list[float] (défaut: 0.0),
           ◇ TYPE_SEUIL = / "REDUIT" (par défaut),
                          / "RESTREINT",
        ),
      / WEIBULL_FO = _F(
           ◆ GROUP_MA = grma,
           ◆ M = list[float],
           ◆ VOLU_REFE = float,
           ◇ SIGM_CNV = float (défaut: 0.0),
           ◇ SIGM_REFE = cham_elem / cham_no / fonction,
           ◇ SIGM_SEUIL = cham_elem / cham_no / fonction,
           ◇ TYPE_SEUIL = / "REDUIT" (par défaut),
                          / "RESTREINT",
        ),
    ◇ METHODE_2D = _F(
         ◇ / MAILLAGE_PLAN = list[maillage],
         ◇ / NOM_MAIL_MED = list[text],
           / GROUP_NO_PLAN = list[grno],
         ◇ / FISSURE = fond_fissure,
         ◇ PRECISION = float (défaut: 1e-06),
         ◇ UNITE_RESU = int (défaut: 0),
      ),
)


◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles

Opérandes#

Opérande RESULTAT#

Désigne le résultat du calcul mécanique pour lequel on calcule les grandeurs de Beremin (contrainte de Weibull et probabilité de rupture, ou densité surfacique de contrainte de Weibull).

Opérande DEFORMATION#

Définit les hypothèses pour le calcul des déformations.

  • En petites déformations (DEFORMATION = “PETIT” ou DEFORMATION = “PETIT_REAC”), le calcul est effectué à partir du champ de contraintes de Cauchy SIEF_ELGA

  • En grandes déformations logarithmiques (DEFORMATION = “GDEF_LOG”), le calcul est effectué à partir du champ de contraintes spécifique \(T\) proche de la contrainte de Kirchhoff définie dans l’espace logarithmique [R5.03.24].

Remarque 1 : en grandes déformations multiplicatives (DEFORMATION=”SIMO_MIEHE” ou DEFORMATION=”GREEN_LAGRANGE”), la macro-commande n’est pas disponible.

Remarque 2 : pour minimiser les effets liés à l’incompressibilité (verrouillage volumique) il est possible de réaliser les post-traitements de mécanique de rupture du clivage avec les éléments incompressibles (GRAD_INCO) avec POST_BEREMIN.

Opérande FILTRE_SIGM#

Avec “SIGM_ELGA”, les champs élémentaires des contraintes sont utilisés dans leurs représentations aux points de Gauss.

Avec “SIGM_ELMOY”, les champs élémentaires des contraintes sont déterminés à partir de la moyenne pondérée par les poids de Gauss.

Avec “SIGM_CORR”, la contrainte de Weibull est calculée en intégrant un champ utilisateur \(\sigma_I^*\) donné sous le mot-clé SIGM_CORR. Cette fonctionnalité permet à l’utilisateur de considérer des champs de contrainte corrigée, avec comme application type la prise en compte de la correction plastique (voir [R7.02.04]).

Opérande SIGM_CORR#

Champ de contrainte utilisateur \(\sigma_I^*\) correspondant à l’intégrande dans le calcul de la contrainte de Weibull :

\[{{\sigma}}_{W} = {\left[\underset{{\Omega}}{\int}{({{\sigma}}_{I}^{*})}^{m}\frac{{\delta}V}{{V}_{0}}\right]}^{\frac{1}{m}}\]

Une application type est la prise en compte de la correction plastique (voir [R7.02.04]).

Il incombe à l’utilisateur de définir le champ \(\sigma_I^*\). Le formalisme suivant doit être respecté :

  • SIGM_CORR doit être un concept de type evol_noli contenant à chaque instant le champ \(\sigma_I^*\) à intégrer ;

  • le champ \(\sigma_I^*\) doit être un champ « utilitaire » de type UT01_ELGA ;

  • la valeur de la contrainte corrigée doit être portée par la composante X1 de ce champ.

Les cas tests ssna108c à ssna108g proposent des exemples d’utilisation. Le champ \(\sigma_I^*\) y est fonction des champs de contraintes principales, de variables internes et de déformations (totales ou plastiques) principales. En particulier, le cas test ssna108e donne l’implémentation du modèle de correction plastique standard suivant :

\[{{\sigma}}_{I}^{\star}={{\sigma}}_{I}\exp\left(-\frac{{{\varepsilon}}_{1}^{p}}{2}\right)\]

\(\sigma_I\) est la contrainte principale maximale et \(\epsilon_1^p\) la déformation plastique principale maximale.

Opérande NUME_VARI#

Renseigne l’indice de variable interne d’indicateur de plasticité, nommé habituellement INDIPLAS dans code_aster.

Si ce paramètre n’est pas renseigné, le filtre en plasticité active n’est pas activé, et toutes les mailles volumiques des GROUP_MA sont prises en compte dans le calcul de la contrainte de Weibull. Voir [R7.02.04].

Opérande LIST_NUME_SIEF#

Si DEFORMATION=”GDEF_LOG”, renseigne les indices des contraintes logarithmiques \(T\) proches des contraintes de Kirchhoff définies dans l’espace logarithmique [R5.03.24] prises au lieu du tenseur des contraintes de Cauchy si DEFORMATION=”PETIT” ou “PETIT_REAC” (cf [LO17])

Opérande HIST_MAXI#

Si HIST_MAXI=”NON” (valeur par défaut), la contrainte principale maximale est instantanée.

Si HIST_MAXI=”OUI”, la contrainte principale maximale est calculée en considérant le maximum temporel sur tout l’historique (modèle historique de Beremin).

Opérande COEF_MULT#

La valeur par défaut de ce coefficient est 1.0.

Pour le modèle de Beremin, le tableau suivant, dans lequel l’épaisseur est notée \(e\) , indique des valeurs typiques du coefficient \(C\) en fonction du type de symétrie:

  • symétrie simple : le plan de symétrie du maillage passe par le plan du défaut et le défaut est entièrement maillé,

  • symétrie double : le plan de symétrie du maillage passe également par le plan du défaut mais une seule moitié du défaut est maillée.

3D et 3D_SI

AXIS et AXIS_SI

D_PLAN et D_PLAN_SI

C_PLAN

SIMPLE

2

\(4\pi\)

2e

2e

DOUBLE

4

sans objet

sans objet

sans objet

NON

1

\(2\pi\)

e

e

Tableau 3.5-1 : Valeurs du coefficient multiplicateur de symétrie-épaisseur pour la contrainte de Weibull

Attention, ce tableau n’est valable que pour le modèle de Beremin (calcul de la contrainte de Weibull).

Dans le cas de la déclinaison industrielle du modèle de Beremin, ce tableau n’est plus valable et on ne peut pas raisonner en termes de symétries simple ou double. En effet, la valeur de COEFF_MULT dépend seulement de la part du plan d’intégration représenté dans le modèle. Si on représente tout le plan d’intégration, alors \(COEF\_ MULT = 1\). Si on représente seulement la moitié du plan, alors \(COEF\_ MULT = 2\).

Opérande SIGM_MAXI#

Permet d’imprimer un fichier de résultat de post-traitement en format MED. Ce champ contiendra deux composantes : l’intégrande de la contrainte de Weibull avant et après élévation à la puissance m.

Attention, ce mot clé ne peut pas être utilisé si plusieurs paramètres de matériau sont donnés en entrée ou si plusieurs plans de projection sont demandés (dans le cas METHODE_2D).

Mot-clé facteur WEIBULL ou WEIBULL_FO#

Paramètres de Weibull (voir [R7.02.04]).

Dans le cas WEIBULL, les paramètres M, SIGM_REFE et SIGM_SEUIL peuvent être des listes de paramètres. Toutes les combinaisons de paramètres matériaux sont calculées si des listes de paramètres sont fournies par l’utilisateur.

WEIBULL = _F(GROUP_MA = group_ma, M = m, SIGM_REFE = sigmu, VOLU_REFE = V0, SIGM_SEUIL = sigth, TYPE_SEUIL = type_seuil)

Dans le cas WEIBULL_FO, les paramètres SIGM_REFE et SIGM_SEUIL peuvent être :

  • des fonctions, et uniquement de la température ou des coordonnées X, Y ou Z ;

  • des champs aux points de Gauss ou des champs aux noeuds.

Dans ce dernier cas, l’application visée est de définir des paramètres de matériau dépendant de la température ou de la position de manière plus complexe qu’en passant par des fonctions de T, X, Y ou Z. On peut par exemple définir ces paramètres comme des champs de formule évalués en un ou plusieurs paramètres, comme la température ou les coordonnées de la position.

Dans le cas WEIBULL_FO, les paramètres SIGM_REFE et SIGM_SEUIL peuvent être :

  • des fonctions, et uniquement de la température ou des coordonnées X, Y ou Z ;

  • des champs aux points de Gauss ou des champs aux noeuds.

Notez qu’il est attendu que le champ donné pour le paramètre SIGM_REFE (resp. SIGM_SEUIL) possède la composante X1 correspondant à la valeur du paramètre. Un tel champ est typiquement obtenu en définissant un champ de type ELGA_NEUT_F ou NOEU_NEUT_F (champ de formule) puis en l’évaluant en un ou plusieurs paramètres pour obtenir un champ ELGA_NEUT_R ou NOEU_NEUT_R. Un exemple d’utilisation est donné dans le cas test zzzz163g.

Une seule fonction ou un seul champ peut être assigné(e) à SIGM_REFE (resp. SIGM_SEUIL). Seul M peut être une liste de paramètres.

WEIBULL_FO = _F(GROUP_MA = group_ma, M = m, SIGM_REFE = sigmu, SIGM_CNV = sigm0u, VOLU_REFE = V0, SIGM_SEUIL = sigth, TYPE_SEUIL = type_seuil)

Toutes les combinaisons de paramètres de matériau sont calculées si des listes de paramètres sont fournies par l’utilisateur.

Le mot-clé WEIBULL(_FO) peut être répété autant de fois que désiré, par exemple pour faire le post-traitement sur différents GROUP_MA. Dans ce cas les tables résultats sont concaténées successivement.

Opérande GROUP_MA#

Groupe de mailles sur lequel sera calculée l’intégrande de la contrainte de Weibull.

Opérande VOLU_REFE#

Volume de référence \(V_0\).

Opérande M#

Paramètre \(m\) caractérisant la dispersion du matériau.

Opérande SIGM_REFE#

Contrainte de clivage \(\sigma_u\). Si ce paramètre n’est pas renseigné, la probabilité de rupture n’est pas calculée.

Opérande SIGM_CNV#

Cas WEIBULL_FO uniquement.

Contrainte \(\sigma_u^0\) en présence d’une contrainte de clivage dépendante de la température (voir [R7.02.04]).

Opérande SIGM_SEUIL#

Contrainte seuil \(\sigma_{th}\).

Valeur par défaut : 0.0.

Opérande TYPE_SEUIL#

Type de seuil utilisé. Peut prendre les valeurs « REDUIT » ou « RESTREINT ».

Dans le cas « REDUIT », la contrainte de Weibull est calculée à partir de \(max (0 , \sigma_I - \sigma_{th})\)

Dans le cas « RESTREINT », la contrainte de Weibull est calculée à partir de \(\sigma_I\) restreint à la zone où \(\sigma_I > \sigma_{th}\)

Valeur par défaut : « REDUIT ».

Mot-clé METHODE_2D#

Permet d’utiliser la déclinaison industrielle du modèle de Beremin (voir [R7.02.04]). Ne peut être utilisée qu’avec un modèle 3D.

L’intégrande de la contrainte de Weibull est calculée sur la base des options (contrainte seuil ? filtre en plasticité active ? maximum sur l’historique ? moyenne sur les contraintes ?) spécifiées par l’utilisateur, de manière identique au modèle de Beremin usuel. Cette intégrande est ensuite projetée sur un ou plusieurs plans renseignés par l’utilisateur par le biais de groupes de noeuds présents dans le maillage 3D (opérande GROUP_NO) ou par des maillages de plan (opérande MAILLAGE_PLAN). L’intégrale est ensuite calculée dans chacun de ces plans.

Des exemples de syntaxe sont donnés dans la section Exemples d’utilisation.

Opérande GROUP_NO_PLAN#

Permet de spécifier le nom des groupes de noeuds sur lesquels seront projetés l’intégrande de la contrainte de Weibull. Peut prendre en entrée un ou plusieurs noms de groupes.

Opérande FISSURE#

Obligatoire si GROUP_NO_PLAN est présent.

Permet de définir le front de fissure. Prend en entrée un objet fond_fiss défini par la commande DEFI_FOND_FISS.

Dans le cas où GROUP_NO_PLAN correspond à un seul groupe de noeuds, on peut ne pas renseigner ce paramètre FISSURE.

Opérande MAILLAGE_PLAN#

Permet de définir les plans d’intégration de la contrainte de Weibull par le biais de maillages 2D, distincts du maillage 3D.

Opérande NOM_MAIL_MED#

Obligatoire si MAILLAGE_PLAN est présent.

Permet de définir le nom sous lequel les MAILLAGE_PLAN apparaîtront dans la table de sortie de POST_BEREMIN.

Opérande UNITE_RESU#

Permet de définir de manière optionnelle l’unité logique dans laquelle sera imprimée au format .med l’intégrande de la contrainte de Weibull projetée dans un plan, dans un but de vérification du calcul de cette contrainte de Weibull.

Nécessite de ne donner qu’un seul plan d’intégration.

Opérande PRECISION#

Permet de définir la précision relative de la projection 3D vers 2D. Cette précision relative est définie par rapport à la taille minimale des mailles volumiques du GROUP_MA défini par l’utilisateur.

Par défaut, cette précision relative est de \(10^{-6}\).

Voir [R7.02.04].

Exemples d’utilisation#

On trouvera des exemples dans les cas test zzzz163 et sslv101. Des conseils d’utilisation de ce modèle sont donnés dans la documentation [U2.05.08].

Dans le cas ci-dessous, la contrainte de Weibull est calculée sur le groupe de mailles « CT », en appliquant les options suivantes :
  • Contrainte moyenne par élément

  • Filtre en plasticité active, sur la base de la variable interne V2

  • Maximum des contraintes sur l’historique (HIST_MAXI = « OUI » par défaut)

BERE = POST_BEREMIN(
    RESULTAT=U,
    COEF_MULT=1,
    DEFORMATION="PETIT",
    FILTRE_SIGM="SIGM_ELMOY",
    NUME_VARI=2,
    WEIBULL=_F(GROUP_MA="CT", M=8.0, VOLU_REFE=1.25e-4, SIGM_REFE=2630.0e0),
)

Dans l’exemple ci-dessous en grandes déformations logarithmiques, la contrainte de Weibull est calculée à partir des composantes du tenseur T stockées dans les variables internes 4 à 9 (à l’utilisateur d’adapter les numéros de variables internes en fonction de la loi de comportement utilisée par exemple)

BERE = POST_BEREMIN(
    RESULTAT=U,
    COEF_MULT=1,
    DEFORMATION="GDEF_LOG",
    LIST_NUME_SIEF=[4,5,6,7,8,9],
    FILTRE_SIGM="SIGM_ELMOY",
    NUME_VARI=2,
    WEIBULL=_F(GROUP_MA="CT", M=8.0, VOLU_REFE=1.25e-4, SIGM_REFE=2630.0e0),
)

Dans le cas de plans définis par des groupes de noeuds :

fiss = DEFI_FOND_FISS(
    MAILLAGE=mail_meca,
    FOND_FISS=_F(
        GROUP_MA="FRONT0",
        TYPE_FOND="OUVERT",
    ),
    LEVRE_SUP=_F(GROUP_MA="LEVRE"),
    SYME="OUI",
)


liste_plans = ["Plan_" + str(i) for i in range(0, 51)]

beremin_2D = POST_BEREMIN(
    COEF_MULT=2.0,
    DEFORMATION="PETIT",
    FILTRE_SIGM="SIGM_ELMOY",
    HIST_MAXI="NON",
    RESULTAT=evol_meca,
    WEIBULL=_F(
        GROUP_MA="TORE_COMPLET",
        M=3,
        SIGM_SEUIL=1300.0,
        VOLU_REFE=0.000125,
    ),
    METHODE_2D=_F(GROUP_NO_PLAN=liste_plans , FISSURE = fiss),
)

Dans l’exemple ci-dessus, on définit un front de fissure par le biais de la commande DEFI_FOND_FISS puis on applique le post-traitement de Beremin sur 51 plans définis par des groupes de noeuds nommés « Plan_i », avec i allant de 0 à 50.

Dans le cas d’un plan défini par un maillage 2D, pour lequel on demande par ailleurs d’imprimer le résultat de la projection dans un fichier .med :

mesh_2D_tore_c0 = LIRE_MAILLAGE(FORMAT="MED", UNITE=22)

beremin_2d_c0_tore = POST_BEREMIN(
    RESULTAT=resu_elas,
    COEF_MULT=2,
    DEFORMATION="PETIT",
    FILTRE_SIGM="SIGM_ELMOY",
    WEIBULL=_F(GROUP_MA="CT", M=18.0, VOLU_REFE=1.25e-4, SIGM_REFE=2630.0e0),
    METHODE_2D=_F(  MAILLAGE_PLAN=mesh_2D_tore_c0,
                    NOM_MAIL_MED="Couche_0_TORE",
                    UNITE_RESU = 80),
)