Modélisation A ============== Mise en œuvre du TP ------------------- Géométrie ~~~~~~~~~ Bien lire l'énoncé en entier avant de commencer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ La géométrie est réalisée avec la plate-forme Salome-Meca, module Geometry. L'outil «Sketcher» (Menu New Entity → Basic → 2D Sketch) permet de construire le contour du disque supérieur: :math:`A2` , :math:`B2` , :math:`D2` et :math:`C2` . L'arc de cercle est fait en 2 fois afin que Le point :math:`D2` soit créé lors de la construction du contour. Pour :math:`B2D2` , on donne le rayon à 50 et angle à -45° en utilisant Direction et Perpendicular, et pour :math:`D2C2` , on donne le rayon à -50 et angle à 45° en utilisant Direction et Tangent. On peut ensuite construire une face à partir de ce contour (Menu New Entity → Build → Face). Par symétrie, on peut générer la deuxième sphère (Menu Operations → Transformation → Mirror Image) en choisissant l’axe X pour réaliser la symétrie. Il reste à assembler les deux sphèrespour ne constituer qu'un seul objet GEOM(Menu New Entity →Build →Compound *)* . Attention: Dans cet objet, il y a toujours deux points, :math:`\mathit{C1}` et :math:`\mathit{C2}` , qui superposent. Au contraire, les deux points se fusionnent si l’opération est Partition, Enfin il faut créer des groupessur cette géométrie (avec les noms suggérés dans la figure ci-dessus) (Menu New Entity → Group → Create Group).On attire l'attention sur le fait que les groupes sont créés en dernier . * Créer les groupes pour les surfaces des demi-sphères :math:`\mathit{SPHHAU}` et :math:`\mathit{SPHBAS}` * Afin decréer des groupes pour les point superposés :math:`C1` et :math:`C2` , on utilise la fonctionnalité permettant de sélectionner un sous élément d'une entité GEOM: cocher« *Only Sub-shapes of the Second Shape* », puis pour :math:`\mathit{C2}` par exemple, sélectionner comme « *Second Shape* » la demi-sphère supérieure dans l'arbre des objets, et seulement ses points sont soulignés. * Créer les groupes pour l'application des conditions aux limites: le long de l'axe d'axisymétrie (:math:`\mathit{A1A2}` ) et sur les parties supérieures et inférieures des demi-sphères (:math:`\mathit{A1B1}` et :math:`\mathit{A2B2}` ). * Pour la modélisation du contact, on aura besoin de groupes de mailles représentant les surfaces potentielles de contact: créer les groupes :math:`\mathit{CONT}1` et :math:`\mathit{CONT}2` . Maillage ~~~~~~~~ On utilise le module Mesh. Lemaillage est défini par le menu Mesh→ Create Meshavec la géométrie à mailler. Le maillage sera réalisé en triangles, et on utilisera les hypothèses de maillage automatique «Assign a set of hypotheses → 2D: Automatic Triangulation» en choisissant une longueur maximum de 2mm. On calcule lemaillage(MenuMesh→ Compute). On obtient alors un maillage contenant environ 3000 triangles et 1500 nœuds. On importera ensuite les groupes à partir de la géométrie (Menu Mesh → Create Groups from Geometry). On importera lemaillage au format MED. .. image:: images/100002010000022B000002F8C4E6F9D2CE4DF5BF.png :width: 2.0665in :height: 2.7291in .. _RefImage_100002010000022B000002F8C4E6F9D2CE4DF5BF.png: Illustration 3.1: Maillage obtenu pour la modélisation A Fichier de commandes ~~~~~~~~~~~~~~~~~~~~ On utilise le module AsterStudy. Puis en colonne gauche, cliquer surl'onglet Case View. On définit le fichier de commandes du cas de calcul. (cliquer à droite à CurrentCase et choisir Add Stage). Nota: Pour ajouter des commandes: Menu Commands→ Show All. **En utilisant** **la commandeSTAT_NON_LINE, construire le fichier de commandes relatif au cas-test en ne prenant pas le contact en compte dans un premier temps.** * Que constate-t-on sur la convergence?Que faudrait-il faire pour converger? *Indice: comment le critère de convergence par défaut est-il construit?* Aide pour construire le fichier de commandes: * * Lire le maillage au format MED: Commande LIRE_MAILLAGE. * Définir le matériau: Commande DEFI_MATERIAU. * Affecter le matériau à tous les éléments : Commande AFFE_MATERIAU. * Définir les éléments finis utilisés: Commande AFFE_MODELE pouraffecter le phénomène MECANIQUE et la modélisation AXIS. * Affecterles conditions aux limites / chargements mécaniques: AFFE_CHAR_MECA / DDL_IMPO pour la symétrie axiale et les déplacements imposés unitaires que l'on multipliera ensuite par une fonction rampe avec le temps. * Définir la rampe de chargement (déplacement imposé)avec la commande DEFI_FONCTION. Par exemple, la fonction varie entre :math:`(\mathrm{0.,}0.)` et :math:`(\mathrm{2.,}2.)` . * Créer la discrétisation temporelle à l'aide des commandes DEFI_LIST_REEL.Par exemple, 20 pas de 0s à 2s. * Résoudre le problème avec la commandeSTAT_NON_LINE. On met COMPORTEMENT / RELATION='ELAS',la liste d'instant définie précédemment dans INCREMENT, les matériaux dans CHAM_MATER, MODELEetégalement les conditions aux limites et le chargement (CHARGE + FONC_MULT)dans EXCIT. Question bonus: combien y-a-t-il de mouvements de corps rigide en modélisation axisymétrique? *Rappel: un mouvement de corps rigide est un mouvement à déformation nulle.* **Ajouter la définition du contact: orienter les surfaces, définir la charge de contact avec** **la commande DEFI_CONTACT et adapter les options du solveur non linéaire.** * *Une alarme apparaît lors du calcul avec contact. On conservera la méthode de contact par défaut dans un premier temps (* FORMULATION='DISCRETE' *et* 'ALGO_CONT='CONTRAINTE' *).* * * Orienter la normale du maillage sur les contacts : Commande MODI_MAILLAGE / ORIE_PEAU_2Den utilisantles groupes CONT1 et CONT2.On garde le même nom du maillage en utilisant reuse. * Définir le contact: Commande DEFI_CONTACT. On conservera la méthode de contact par défaut dans un premier temps (FORMULATION='DISCRETE' et 'ALGO_CONT='CONTRAINTE'). On affecte les groupes CONT1 et CONT2 au couple des zones de contact (maître et esclave). * Adapter l’option de contact dans STAT_NON_LINE. Pression de Hertz ~~~~~~~~~~~~~~~~~ Application numérique: calculer à la main avec les données du problème, la valeur de la pression de Hertz et de la demi-largeur de contact (voir le chapitre 2). Les comparer aux valeurs obtenues par le calcul. **Que constate-t-on? Pourquoi cet écart?** *Remarque: on prendra en première approximation la composante* :math:`\mathit{SIYY}` *d* u champ SIEF_NOEU(calculé avec la commande CALC_CHAMP / CONTRAINTE) *comme pression de contact* Tracer la pression de contact en fonction du rayon dans la zone de contact, la comparer à la solution analytique. * Calculerle champ des contraintes par éléments aux nœuds ( *SIEF_NOEU* ): commande CALC_CHAMP / CONTRAINTE. * Créer un groupe de nœuds avec une abscisse curviligne orientée: commande DEFI_GROUP. On gardera le même nom de maillage avec reuse. On utilisera l’option CREA_GROUP_NO / OPTION='NOEUD_ORDO'en donnant le groupe de maille (:math:`\mathit{CONT}1` ) et le point de départ (:math:`C1` ). * Extraire dans une table la composante :math:`\mathit{SIYY}` du champ SIEF_NOEU au dernier instant: commande POST_RELEVE_T. On précisera le nom du groupe des nœuds, le instant, le champ et sa composante en utilisant l’opération EXTRACTION. * Créer la fonction :math:`{\sigma}_{\mathit{YY}}=f(x)` : commande RECU_FONCTION. On définira l’abscisse curviligne (ABSC_CURV) comme PARA_Xet SIYYcomme PARA_Y. * Construire la solution analytique: * Calculer la pression aux points :math:`C1` et :math:`C2` , :math:`{P}_{0}` et la demi-largeur de contact :math:`a` * Créer la formule analytique:commande FORMULE. Elle dépend de la coordonnée curviligne :math:`x` (NOM_PARA='x' / VALE='P0 * sqrt(1.-x * x/a/a)'). * Créer une liste des valeursréelles de :math:`x` : Commande DEFI_LIST_REEL. Par exemple, 100 valeurs de 0 à 10mm. * Interpolation de la formule à partir de la liste de :math:`x` : commande CALC_FONC_INTERP. * Imprimer les deux fonctions au format XMGRACEpar la commande IMPR_FONCTION. Contrainte de Von Mises ~~~~~~~~~~~~~~~~~~~~~~~ Afficher la contrainte de Von Mises sur la configuration déformée avec Salomé. **Comment varie cette contrainte dans la sphère? Où se situe le maximum?** * * * *On affichera la composante* VMIS_SG *du champ des contraintes équivalentes* SIEQ_NOEU *calculé avec* la commande CALC_CHAMP / CRITERES *.* *On peut imprimer les résultats au format* MED *à l’aide de commande* IMPR_RESU *afin de visualiser le champ des contraintes* dans Results ou *dans* Paraviset la position du maximum (menu Edit → Find Data). Grandeurs testées et résultats ------------------------------ .. csv-table:: "**Identification**", "**Type de référence**", "**Valeur de référence**", "**Tolérance**" ":math:`{\sigma}_{yy}` point :math:`\mathit{C1}`", "'ANALYTIQUE'", ":math:`-2798,3\mathit{Mpa}`", "1,0%"