Atom topic feed | site map | contact | login | Protection des données personnelles | Powered by FluxBB | réalisation artaban
You are not logged in.
Bonjour,
J'aimerais simuler le contact entre deux engrenages.
J'ai voulu commencer simple avec des géométries simplifiées, qui ne ressemblent pas à des engrenages. Comme vous pouvez le voir ici:
J'aimerais que la pièce de gauche 'gear' tourne sur elle même et déforme la pièce de droite 'Rgear'.
J'ai donc une géométrie qui contient un maillage avec deux zones distinctes et sans contact initial. Je fais tourner ma pièce de gauche de façon à ce qu'elle rentre à un moment en contact avec la pièce de droite.
Le problème étant que ma pièce de gauche traverse la pièce de droite sans que celle-ci "ne la voit passer". Pourriez-vous me dire ce qui ne va pas ? On voit ici l'affichage des déplacements
J'utilise un contact de type CONTINUE, sans frottement.
On est d'accord qu'avec le CONTINU, les noeuds n'ont pas besoin d'être en vis à vis et que code_aster se charge de repérer le contact en interpolant avec les bords des mailles, n'est-ce pas ?
Au début, j'avais choisi comme zone maitre 'dent' et comme zone esclave 'Rdent' qui sont les bords de potentiels contact de mes pièce de gauche et de droite, mais GMSH en a fait des SEG2 et j'ai lu dans la doc qu'il n'était pas possible de faire du contact entre des SEG2. J'ai du coup était un peu sauvage et j'ai dis que tous mes éléments DKT de 'gear' étaient maitre et tous mes éléments de 'Rgear' sont esclaves.
Quelques infos:
Je travail dans le plan XY (malgré une modélisation 3D...)
J'ai globalement un maillage TRIA3, avec sur les bords des mailles SEG2 générés par GMSH.
J'applique une rotation en imposant des déplacements avec AFFE_CHAR_MECA_F et des fonctions python qui calculent la coordonnée d'un noeud après sa rotation, pour chaque pas INST
J'ai bloqué la pièce de droite via le groupe_MA='encast' qui correspond au segment vertical le plus à droite (maille SEG2)
Toutes les mailles sont de type DKT.
Je fais du contact sans frottement.
Je suis en petit déplacement pour le contact. Vue le déplacement que je souhaite appliquer à ma géometrie, cela est faux. Mon résultat ne sera sans doute pas juste physiquement, mais j'aimerais commencer par cela.
J'ai au passage quelques questions:
1) Mes deux pièces sont ici dans un seul fichier MED de maillage initiale. Est-ce qu'il vaut mieux deux fichiers de maillages distincts que je réunis ensuite avec ASSE_MAILLAGE et SUPERPOSE ou bien cela ne change pas grand chose ? J'ai cru lire que lorsqu'on faisait du contact, il fallait mieux utiliser deux maillages.
2) Au début j'ai voulu bloquer ma pièce de droite en bloquant une maille discrète PO1 de type K_TR_D_N (noeud centrale du segment verticale droite de la pièce de droite) pour laquelle je mettais des rigidités importantes partout sauf sur mon degré de rotation où je mettais une rigidité négligeable. Je voulais ainsi récupérer le couple dans ce point. J'avais alors une matrice singulière. Est-ce qu'il n'est pas possible de contraindre un maillage seulement avec un élément discret rigide ?
3) J'effectue la rotation de ma pièce de gauche noeud par noeud. Est-ce que j'aurais pu utiliser LIAISON_RIGIDE entre ma pièce de gauche et une maille PO1 (au centre) que j'aurais faite tourner ? (Je crois que le mailles PO1 ont des degrés de rotation, n'est-ce pas ?) J'ai cru comprendre qu'on ne pouvait faire ainsi qu'en petite rotation et pour mon cas où j'aimerais faire chauffer mon processeur, je souhaite in fine faire une rotation à 360°, donc je suis largement en grand déplacement.
4) Quand je fais un disque en TRIA3, le maillage contient un noeud centrale. Souvent, on s'intéresse à ce noeud et on met un discret dessus de type PO1. Mon noeud centrale appartient donc à différents TRIA3 mais aussi à la maille PO1. Est-ce que si j'impose une rigidité à ce noeud via un K_TR_D_N cela vient se superposer à la rigidité des TRIA3 voisins qui partagent le même noeud ? (J'imagine que oui, mais j'ai souvent des alarmes de mailles inclues dans une autre, et ça me pertube). Je n'ai jamais de précautions particulière à prendre dans ce cas de mesure ? Je n'ai pas besoin de dédoubler mes noeuds, de créer une MA SEG2 de longueur nul entre les deux avec une LIAISON_RIGIDE, puis d'appliquer mon K_TR_D_N sur le noeud dédoublé, n'est-ce pas ?
5) Aussi, quand je fais une visu GMSH en créant un MED de résultat, je ne vois mon maillage que dans la position initiale, savez vous s'il est possible de le voir "déformé" au fil du temps ?
Je joins mon répertoire de travail.
Merci à vous et bonne journée.
Last edited by Voulet (2019-04-21 02:36:26)
Offline
Répertoire de travail que voici:
Last edited by Voulet (2019-04-21 02:37:16)
Offline
Bonjour,
je pense qu'une modélisation C_PLAN est plus appropriée, cf. fichier comm ci-joint. Les contacts ont été modifiés (arrêtes-arrêtes).
Konyaro
Last edited by konyaro (2019-04-23 06:08:18)
失敗は成功のもと (L'échec est la base de la réussite)
Offline
Super, merci pour ton message. Je n'avais pas songer à inverser le couple maître/esclave. Je posterais les résultats finaux de ma simulation. Bonne journée.
Offline
Voyez mon animation en pièce jointe.
La physique du résultat est nulle. Les points de concentration de contraintes qu'on voit sur la roue de gauche correspondent à des mailles discrètes K_TR_D_N auxquel j'ai assignés des raideurs néligeables, sauf pour celle du milieu dont le DRZ est elevé (je voulais simulé un couple de résistance). Les deux qui ne sont pas aux centres sont là pour bloquer (virtuellement, car je mets une raideur petite) les ddl de la pièce de gauche, afin que la matrice de rigidité du problème ne soit pas singulière.
Je ne comprends pour le moment pas pourquoi les K_TR_D_N auxquels j'ai assignés des raideurs quasi nuls mène à une concentration de contrainte, pour moi ils sont justes des artifices de calculs.
Aussi, le calcul ne converge plus lorsque j'essaie de faire tourner ma roue sur 180°.
Si quelqu'un a des idées d'améliorations de la modélisation, je suis preneur.
Last edited by Voulet (2019-04-30 20:11:07)
Offline
Voici mon répertoire de travaille sans le résultat.med qui est trop volumineux pour le forum.
Offline
Bonjour,
vous avez mis une grande rigidité en rotation pour le P1:
REPERE='GLOBAL',
GROUP_MA = ('P1',),
CARA='K_TR_D_N',
VALE=(0.05,0.05,1e7),
REPERE='GLOBAL',
Les concentrations de contraintes ont l'air de disparaître en diminuant cette valeur.
Konyaro
失敗は成功のもと (L'échec est la base de la réussite)
Offline
bonjour
je dois avouer que je ne comprends pas ce que vous chercher à faire
sinon que vous touchez au domaine des mécanismes pour lequel code_aster n'est pas fait
ne seriez vous pas en train de confondre
buts de guerre : moyens à mettre en oeuvre pour obtenir un résultat
but de la guerre : définition du résultat espéré
s'il agit d'obtenir l'état de contrainte dans l'engrenage au voisinage du point de contact ou au pied de la dent
il n'est peut-être pas nécessaire de faire tourner la roue dentée sur 360°
l'état de contrainte suivra fort probablement une symétrie cyclique avec comme raison le nombre de dents
ensuite cet état de contrainte dépend du couple à transmettre qui est la donnée de base du problème
finalement la façon de faire tourner la roue dentée est un très bel exercice de Python
est il bien utile ?
toute roue denté est fixée sur un axe ayant un certain diamètre il me semble que cet alésage devrait être modélisé et les conditions limites définies autour de cette frontière
en supprimant les discrets
de plus avez vous lu ce message
Seul DEFORMATION ='PETIT' est possible pour les éléments discrets.
et pour terminer les roues dentées ne sont pas infinies selon Z (elles ne sont peut-être même pas de même largeur) donc la condition PLAN masque peut-être bien des choses
(j'ai vu dans ma vie quelques roues dentées abîmées, l'amorce de l'avarie est toujours au voisinage du bord selon Z et les déformations plastiques sont très grandes)
et si vous vouliez faire une analyse élastoplatique les propriétés de l'acier varient selon la profondeur à cause de la trempe
anecdotiquement le fichier com.comm ne semble pas être celui qui est utilisé pour produire le log. mess
jean pierre aubry
consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/
Offline
Bonjour Mr Aubry. Merci pour vos réponses et le temps passé à lire mes fichiers.
En effet, je confonds le but de la guerre et je procède plus à un exercice "pour le plaisir de jouer avec le code" qu'à une vraie simulation dans le but d'obtenir des résultats. Je m'intéresse toutefois à la répartition des contraintes autour des dents. Je trouvais le problème assez complet. Pour les 360°, c'était dans l'inutile but d'obtenir une belle animation avec de belles couleurs afin de bluffer les décideurs...
Je vais tâcher de passer le modèle en 3D, avec alésage, afin d'obtenir des contraintes plus réels, je l'espère.
J'applique une rotation aux noeuds de mon engrenage de droite via python afin que le profile de la dent de mon engrenage de droite vienne "appuyer" sur le profil de l'engrenage de gauche. Croyez vous que je puisse appliquer cet effort autrement qu'avec la rotation python de mon engrenage de droite ?
Est-ce que vous songez à un effort ponctuel (ou linéïque en 3d) vis à vis de la ligne de contact des engrenages ?
Pour le "seul déformation = petit" pour les discrets je l'avait en effet lu. Dans mon cas j'ai crois avoir de grand déplacements (rotation de 360°), mais des petites déformations (pas beaucoup de contraintes). Est-ce qu'il faut que je confonde déformation et déplacement dans ce message d'alarme ?
Mr Aubry, je vous ai envoyé un mail sur votre adresse lamachine le 26/04 à 11h55 avez-vous pu y jeter un oeil ?
Merci, konyaro. Je vais tester cela.
Bonne journée.
Last edited by Voulet (2019-05-02 07:45:05)
Offline
Bonjour,
J’effectuerais plutôt la simulation sur un pas de dent avec un incrément de temps faible afin de bien capter toutes les positions. Il est néanmoins possible d'effectuer la simulation sur 360° afin d'obtenir une "jolie animation". Ci-dessous le couple résistif est défini à l'aide d'une pression avec charge suiveuse pour générer un couple résistif d'où une concentration de contraintes. Le pas de temps est trop grand pour capter correctement les variations de couple (graphe à droite):
Last edited by konyaro (2019-05-26 07:47:13)
失敗は成功のもと (L'échec est la base de la réussite)
Offline
Hi everyone, I'm wondering if the parallelized version of Code Aster can handel contact problems. Please, if anyone know the answer to that question and/or has some experience or documentation related, we'd be very thankful. Cheers!
Offline
hello
Hi everyone, I'm wondering if the parallelized version of Code Aster can handel contact problems. Please, if anyone know the answer to that question and/or has some experience or documentation related, we'd be very thankful. Cheers!
it is my feeling that if the parallel version was behaving differently from the sequential one there would be hundreds of post complaining about it on this forum
jean pierre aubry
Last edited by jeanpierreaubry (2019-10-30 10:06:08)
consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/
Offline