Anomalie #391
ouvertcontact : gap initial entre les outils et le maillage déformable
Description
Gérard,
j'ai testé un cas d'écrasement d'un disque entre 2 plateaux (calcul dans le plan XY => noeuds bloqués selon Z).
Les maillages ne sont pas en contact au départ, j'ai créé un très léger gap de 1e-4 entre les plateaux et le disque.
J'ai commencé par lancer le calcul sans déplacer les plateaux et il se trouve que les plateaux attirent les noeuds du disque. J'obtiens donc des déformations dans le disque et une partie non négligeable des éléments se retrouvent plaqués contre les plateaux.
Qu'est-ce qui crée cette projection et comment empêcher cela ?
Fichiers
Mis à jour par Gérard Rio il y a 8 jours
- Fichier Archive.zip Archive.zip ajouté
- Statut changé de Nouveau à En cours
Bonjour Julien,
Je crois que c'est un pb de direction de normale.
Je te joins la mise en données que j'ai utilisée.
Voilà ce que j'ai fait:
1) j'ai regardé sur la sortie gmsh ce qui se passait au niveau des noeuds et effectivement je vois que les noeuds du sommet sont attirés. En particulier je repère le noeud 41 qui est celui le plus excentré qui est attiré
2) je met dans le .info un niveau de commentaires de 7 uniquement pour le noeud 41
3) je redirige la sortie vers un fichier : HZppD_Vn-1 -f calcul | tee sortie
4) dès le premier incrément je lis:
-- SM_K_charge_contact: el contact: noe 41 mail. 1 avec front:1 de l'EF 1 du mail. 2 noeud: 41
deltaX Coordonnee dim= 3 0.01510623649644849 -0.00040999379782569 0.00000000000000000
Noe_atdt= Coordonnee dim= 3 -2.88774054340445652 9.99969000620217408 0.00000000000000000 M_impact= Coordonnee dim= 3 -2.90284677990090501 10.00009999999999977 0.00000000000000000
gap= -0.00040999379782569 N= Coordonnee dim= 3 -0.00000000000000000 1.00000000000000000 0.00000000000000000 penalisation_normale= 385384.61538461549207568 intensite force = -158.00530208513202979 noeud: 41: force contact Coordonnee dim= 3 0.00000000000000000 158.00530208513202979 0.00000000000000000 ||F_N||= 158.00530208513202979 ||F_T||= 0.00000000000000000
contact: reaction > F_N => [-166.49043821166802104 : 0.00000000000000000], F_T max = 0.00000000000000000, [-0.00043201111711610 <= gap_N <= 0.00000000000000000], [0.00000000000000000 <= gap_T <= 0.00000000000000000]force contact imposee au residu (noeud:41 maillage:1) Coordonnee dim= 3 0.00000000000000000 158.00530208513202979 0.00000000000000000
donc on voit une normale qui est rentrante dans l'élément : N= Coordonnee dim= 3 -0.00000000000000000 1.00000000000000000 0.00000000000000000
normalement elle devrait être sortante de l'élément (je parle de l'élément du plateau supérieur)
Donc a priori le sens de numérotation de l'élément supérieur devrait être en sens inverse.
5) j'ai inversé le sens de numérotation des plateaux : tout est ok
Je te joins les fichiers que j'ai utilisés, cela te donne un exemple pour trouver des infos
Mis à jour par Julien Troufflard il y a 7 jours
- Fichier disque.her disque.her ajouté
- Fichier disque.lis disque.lis ajouté
- Fichier plateau_bas.her plateau_bas.her ajouté
- Fichier plateau_haut.her plateau_haut.her ajouté
- Fichier calcul.info calcul.info ajouté
merci pour la méthode. Je garde ça dans un coin.
Par contre, ce n'est pas ça le problème. Tu as changé la numérotation des plateaux mais du coup, ce n'est plus la bonne arête qui est définie pour le contact. Dans le calcul que tu as lancé, il n'a tout simplement détecté aucun contact.
L'arête A_S pour le plateau haut doit être modifiée pour être le côté inférieur du rectangle (A_S doit être désormais : A_S 1 4). même principe pour le plateau bas (A_N doit devenir : A_N 1 2).
J'ai également constaté un problème d'orientation pour le disque. Dans Gmsh, j'ai utilisé des symétries pour créer 4 quarts de cercle. Deux de ces portions ont une normale opposée aux 2 autres.
Je te mets en pièce jointe une nouvelle version pour les 3 maillages :
- pour le disque : toutes les normales orientées dans le même sens (0 0 1)
- pour les plateaux : une normale inversée (0 0 -1) et le correctif sur A_S et A_N
A noter que le noeud d'intérêt n'est plus le 41. C'est maintenant le n°76 avec ce nouveau disque.her
ps : j'ai également mis le .info en pièce jointe avec modif des fonctions nD ("NUM_NOEUD == 76")
En relançant le calcul avec niveau commentaire 7, la normale de contact du plateau haut est inchangée, c'est toujours 0 1 0. Les noeuds se retrouvent collés aux plateaux.
affichage Herezh :
SM_K_charge_contact: el contact: noe 76 mail. 1 avec front:4 de l'EF 1 du mail. 2 noeud: 76 deltaX Coordonnee dim= 3 -0.00616826165240214 -0.34010382053156718 0.00000000000000000 Noe_atdt= Coordonnee dim= 3 -2.90901504217585094 9.65999617946843259 0.00000000000000000 M_impact= Coordonnee dim= 3 -2.90284678052344880 10.00009999999999977 0.00000000000000000 gap= -0.34010382053156718 N= Coordonnee dim= 3 0.00000000000000000 1.00000000000000000 -0.00000000000000000
D'un côté, c'est plutôt rassurant que la normale de contact ne change pas quand on change l'orientation de l'élément sinon ça deviendrait ingérable. Dans l'exemple ici, il aurait fallu penser à faire un maillage disque avec une normale 0 0 1 et des plateaux de normale 0 0 -1 pour que ça marche ???
ça me fait penser qu'il faut que je regarde ce qu'il se passe en axisymétrique. Dans le cas du montage d'Emilie, j'avais regardé l'influence d'un jeu entre le joint et les outils chemise/fouloir. Il faut que je regarde si j'ai le même phénomène collant au début du calcul. De mémoire, je n'avais pas eu de problème.
A confirmer (c'est intéressant de savoir si le pb est juste un cas particulier lié à cet exemple membrane dans un espace 3D avec contact sur leur tranche)
Mis à jour par Julien Troufflard il y a 7 jours
j'ai tenté sur un calcul axisymétrique et il n'y a pas ce problème.
Et pourtant, j'ai DISTANCE_MAXI_AU_PT_PROJETE 1. alors que le jeu entre mon maillage joint et les outils est de l'ordre de 0.05 mm. Mais tout est ok, aucun noeud ne se projette (éléments QUAD_AXI QUADRACOMPL pour le joint et la chemise et QUAD_AXI LINEAIRE pour le fouloir).
Je vais modifier mon .info pour afficher les infos de contact et joindre ce calcul à ce ticket.
Mis à jour par Julien Troufflard il y a 7 jours
- Fichier test_axi.tar test_axi.tar ajouté
voici le test axisymétrique (montage thèse Emilie)
J'ai mis un peu d'écrasement du joint pour provoquer du contact. J'ai mis un affichage pour le noeud 47 du joint (côté chemise).
La normale de contact est sortante à la chemise : -1 0 0
SM_K_charge_contact: el contact: noe 47 mail. 1 avec front:3 de l'EF 75 du mail. 3 ele_mitoy: 76 du mail. 3 ele_mitoy: 74 du mail. 3 noeud: 47 deltaX Coordonnee dim= 3 -0.06758395308333931 -0.00066666678639393 0.00000000000000000 Noe_atdt= Coordonnee dim= 3 22.93241604691666069 35.33266666654694887 0.00000000000000000 M_impact= Coordonnee dim= 3 23.00000000000000000 35.33333333333334281 0.00000000000000000 gap= 0.06758395308333931 N= Coordonnee dim= 3 -1.00000000000000000 -0.00000000000000000 0.00000000000000000
Mis à jour par Gérard Rio il y a 7 jours
ah oui !!! effectivement en changeant la numérotation j'ai modifié la zone de contact ! bien vu
Mais néanmoins je devrais avoir une normale sortant de l'élément...
si la normale n'a pas le bon sens tous les noeuds qui sont à DISTANCE_MAXI_AU_PT_PROJETE sont dans la matière et sont donc projetés sur la surface. A priori c'est ce que l'on observe.
il faudrait que j'y regarde de plus près mais il faut attendre un peu car actuellement je suis en train d'ajouter pas mal de chose pour le log.
Je m'en occupe dès que j'ai un ensemble qui tourne.
Sinon, c'est bien pour l'axi ! là on a bien une normale qui sort des éléments
à suivre
Mis à jour par Julien Troufflard il y a 7 jours
ok. Ma priorité (très) court terme reste les calculs axisymétriques. Mais ce cas reste intéressant (par exemple simuler l'écrasement d'une tranche d'un plot de compression, avec au choix une loi contrainte plane ou une loi DEFORMATION PLANE)
à suivre alors...