.. include:: ../../../../../_cache/math_styles.rst Mise en données =============== Principes --------- La commande permet de décrire les zones soumises à des conditions de contact unilatéral avec ou sans frottement. La description se fait à deux niveaux: * Les paramètres globaux comme les paramètres de contrôle de l'algorithme de résolution non-linéaire (boucles de point fixe ou de Newton, paramètres spécifiques pour le solveur) sont à renseigner dans la commande [:ref:`MECA_NON_LINE `] * Les paramètres locaux spécifiques à chaque zone de contact. Le concept issu de ``DEFI_CONT`` est ensuite renseigné comme paramètre dans le mot-clef simple CONTACT de la commande [:ref:`MECA_NON_LINE `]. Chaque zone comprend deux surfaces pouvant entrer en contact qui sont décrites par la donnée des groupes de mailles qui les constituent. Les ensembles de mailles potentiellement en contact sont des mailles de peau: surfaciques et linéiques en dimension 3 (QUAD9, QUAD8, QUAD4, TRIA7, TRIA6, TRIA3, SEG3, SEG2), linéiques et ponctuelles en dimension deux (SEG3, SEG2 et POI1). Les structures étudiées peuvent subir de grands glissements l'une par rapport à l'autre. Paramètres généraux ------------------- Mot-clef MODELE ~~~~~~~~~~~~~~~ Le mot-clef MODELE attend un concept produit par l’opérateur [:ref:`AFFE_MODELE `] où sont définis les types d’éléments finis affectés sur le maillage. Le modèle est nécessairement du type MECANIQUE. Mot-clef INFO ~~~~~~~~~~~~~ Le mot-clef ``INFO`` gère le niveau des impressions sur le fichier message. Cette impression peut produire de très gros fichiers texte, il convient donc de l'utiliser avec précaution sur les études de grande taille. Paramètres zonaux ----------------- Définition d'une zone ~~~~~~~~~~~~~~~~~~~~~ Une **zone** de contact est définie par deux groupes: un groupe de mailles esclaves et un groupe de mailles maîtres données par les mots-clefs ``GROUP_MA_MAIT`` et ``GROUP_MA_ESCL``. Pour faciliter la compatibilité des méthodes utilisant des multiplicateurs de Lagrange, il est possible d'exclure des noeuds de contact par les mots-clefs ``SANS_GROUP_MA`` et ``SANS_GROUP_NO``. Il s'agit dans ce cas d'exclure les noeuds portant des multiplicateurs de Lagrange. Ces mots-clefs concernent donc les surfaces *esclaves*. Appariement ~~~~~~~~~~~ La première phase de réalisation du contact-frottement est la phase d'*appariement*. L'opération d'appariement consiste à trouver quelles mailles et quels nœuds sont potentiellement en situation de contact. Le paramètre ``COEF_MULT_APPA`` permet d'améliorer la phase d'appariement en pré-détectant si deux mailles sont potentiellement en contact. On définit la distance :math:`d_{\text{cell}}` entre deux cellules définie par .. math:: d_{\text{cell}} = \Vert \vector{X}_b^{\text{s}} - \vector{X}_b^{\text{m}} \Vert avec :math:`\vector{X}_b^{\text{s}}`, (respectivement :math:`\vector{X}_b^{\text{m}}`) est le vecteur des coordonnées du barycentre de la maille esclave (respectivement maître). Les mailles sont *potentiellement* appariées si, et seulement si: .. math:: d_{\text{cell}} \le 2 \, d_{r} \, \max \left( d^{\text{s}} - d^{\text{m}} \right ) avec :math:`d^{\text{s}}` (respectivement :math:`d^{\text{m}}`) le diamètre de la maille esclave (respectivement maître) et :math:`d_{r}` le coefficient donné par ``COEF_MULT_APPA``. Si ``COEF_MULT_APPA`` est négatif, ce tri préalable est désactivé. Le mot-clef ``VERI_NORM`` vérifie l’orientation des normales aux mailles surfaciques en 3D (mailles de peau TRIA ou QUAD) et linéiques en 2D (mailles de peau SEG). Si une normale n’est pas sortante, il y a émission d’un message d’erreur fatale. Pour réorienter les mailles de façon à avoir des normales sortantes, il faut utiliser la commande [:ref:`MODI_MAILLAGE `], mot-clé ``ORIE_PEAU``. Aucune vérification n’est possible sur les coques ou les plaques. Pour vérifier leur orientation, on renvoie également à la commande [:ref:`MODI_MAILLAGE `], mot-clé ORIE_NORM_COQUE. Le mot-clef ``CONTACT_INIT`` permet de fixer le statut de contact à l'état initial. Par défaut, seules les liaisons à jeu nul ou bien interpénétrées sont activées par l'algorithme (``CONTACT_INIT="INTERPENETRE"``). Il est néanmoins possible de forcer l'algorithme à activer toutes les liaisons sans exception (``CONTACT_INIT="OUI"``). La valeur ``CONTACT_INIT="INTERPENETRE"`` est obligatoire en cas de reprise de calcul avec un état initial. Il est également possible de désactiver tout contact initial par ``CONTACT_INIT="NON"``. Remarques * Il est important de vérifier que la connectivité de ces mailles est telle que la normale à la structure est sortante (pour ce faire, utilisez [:ref:`MODI_MAILLAGE `] * L'intersection entre surface esclave et maître d'une même zone doit être disjointe ou bien les nœuds communs doivent être exclus * Les surfaces esclaves doivent être impérativement deux à deux disjointes en formulation continue Modifications du jeu ~~~~~~~~~~~~~~~~~~~~ Le jeu est toujours calculé comme étant la distance minimale entre le nœud esclave et la projection sur la maille maître la plus proche. Il est cependant possible de définir des valeurs de jeu «en dur», par exemple, pour simuler la présence d'un trou ou d'une bosse non représentée par le maillage, ou pour prendre en compte les caractéristiques géométriques des éléments de structure qui utilisent la notion de fibre neutre ou de surface moyenne. Le mot-clef ``DIST_SUPP`` permet de modifier le jeu entre les deux surfaces. Le mot-clef accepte des fonctions ou des formules. Une valeur négative permet de «creuser» virtuellement une surface (maître comme esclave). À l'inverse, une valeur positive permet de «grossir» une surface. Les grandeurs renseignées sont nécessairement des fonctions des variables d’espace ou du temps (:math:`\left( X, Y, Z,\text{INST} \right)` ). Si l'utilisateur désire une valeur fixe, il doit définir une fonction constante (voir [:ref:`DEFI_CONSTANTE `]). Les mot-clefs ``DIST_POUTRE`` et ``DIST_COQUE`` permettent d'introduire un jeu fictif qui repose sur la description des éléments de structure dans le concept produit par [:ref:`AFFE_CARA_ELEM `] que l'utilisateur a obligatoirement renseigné: * pour les éléments de poutre (modélisation POU_*), le mot-clef ``DIST_POUTRE`` stipule que le code doit tenir compte d'un jeu supplémentaire correspondant au rayon de la section **circulaire** de la poutre. * pour les éléments de plaque ou de coque (modélisation DKT ou COQUE_3 par exemple), le mot-clef ``DIST_COQUE`` stipule que le code doit tenir compte d'un jeu supplémentaire correspondant à la demi-épaisseur autour du feuillet moyen d'une coque. Attention, lorsque l'on utilise ces mots-clefs, le jeu fictif n'est rajouté que sur la surface esclave. Si on modélise un contact entre deux éléments de structures, il faudra donc aussi utiliser ``DIST_MAIT``. Quand on utilise un de ces mots-clefs, il est nécessaire de renseigner ``CARA_ELEM``. Algorithmes de contact ~~~~~~~~~~~~~~~~~~~~~~ La méthode de contact est choisie par le mot-clef ``ALGO_CONT``. Il y a deux possibilités: * Méthodes du lagrangien augmenté (``LAGRANGIEN``) qui résout le problème par dualisation et introduction de multiplicateurs de Lagrange (sur les noeuds de la surface esclave) * Méthode de pénalisation (``PENALISATION``) qui est une méthode qui résout le problème par régularisation (et donc de manière approchée). C'est une méthode de pénalisation *non-consistante* c'est-à-dire qu'elle introduit une erreur sur la solution qui ne s'estompe pas quand on raffine le maillage. Il faut alors adapter le coefficient de pénalisation pour améliorer la précision de résolution * Méthode de Nitsche (``NITSCHE``) qui est une méthode qui résout le problème par régularisation (et donc de manière approchée). La méthode de Nitsche est une méthode de pénalisation *consistante* c'est-à-dire elle converge vers la solution quand on raffine le maillage. Elle n'est disponible qu'en 2D et pour des comportements élastiques isotropes Il existe des variantes. Pour la méthode par lagrangien augmentée, le mot-clef ``VARIANTE`` permet de choisir entre la méthode classique d'Alart et Curnier (CLASSIQUE) et la méthode développée par Poulios et Renard (ROBUSTE). Dans les deux cas, le mot-clef ``COEF_CONT`` permet de régler le paramètre d'augmentation qui agit sur la vitesse de convergence mais pas sur la qualité du résultat (la méthode ext *exacte* et respecte la condition unilatérale). Pour la méthode de Nitsche, il existe trois variantes selon le choix d'un coefficient que l'on note généralement :math:`\theta`. Le mot-clef ``SYME`` permet de choisir entre la variante produisant une matrice *symétrique* (cas :math:`theta=1`) et une matrice *non-symétrique* (cas :math:`\theta=0` et :math:`\theta=-1`). Dans cette dernière situation, le mot-clef ``VARIANTE`` permet de choisir la valeur du coefficient :math:`\theta`. Le cas :math:`\theta=0` correspond à la valeur ``RAPIDE`` de ce mot-clef et le cas math:`\theta=-1` correspond à la valeur ``ROBUSTE``. Il est à noter que le coefficient :math:`\theta` permet de faire émerger plusieurs variantes mais qu'il est indépendant du coefficient de pénalisation nécessaire pour Nitsche et donné par le mot-clef ``COEF_CONT``. Pour la méthode du lagrangien augmenté, le mot-clef variante permet de choisir entre la formulation d'Alart et Curnier (``VARIANTE="CLASSIQUE"``) ou la formulation de Poulios et Renard (``VARIANTE="ROBUSTE"``). La méthode classique utilise une approximation de la matrice tangente par perturbation. Le mot-clef ``TYPE_MATR_TANG`` permet en revanche de choisir entre une approximation de la matrice par ``PERTURBATION`` ou ``ANALYTIQUE`` pour la formulation de Poulios-Renard. Algorithmes de frottement ~~~~~~~~~~~~~~~~~~~~~~~~~ Pour affecter du frottement de Coulomb aux zones de contact, utilisez le mot-clef ``FROTTEMENT="OUI"``. Le paramètre ``COULOMB`` permet de fixer le coefficient de frottement. Dans ce cas, les formulations par lagrangien augmenté et par pénalisation sont disponibles, soit ``ALGO_FROT="LAGRANGIEN"`` ou ``ALGO_FROT="PENALISATION"``. Pour la formulation par lagrangien augmenté, on a le choix entre la formualtion classique (``VARIANTE="CLASSIQUE"``) ou la formulation de Poulios-Renard (``VARIANTE="ROBUSTE"``). Le paramètre ``COEF_FROT`` permet de régler le coefficient d'augmentation uniquement dans le cas classique car la formulation de Poulios-Renard utilise le même coefficient d'augmentation pour le contact et pour le frottement. Pour la formulation par pénalisation, le même coefficient d'augmentation est utilisé pour le contact et pour le frottement.