Table of Contents
Commit 2016-09-26
Ce commit est pour le calcul du frottement avec les matrices de contact de Parasolid et l'amélioration de la visualisation de ce type de matrice.
Visualisation
J'ai ajouté les fonctionnalités suivantes pour la PSkin :
- Show/Hide + UserNo visible dans l'onglet show/hide.
- FeatureEdge/Grid + (Grid Resolution)
- Show local coordinate system (normal + tangents)
Il reste à adapter la visualisation pour visualiser les territoires de contact pour tuner la profondeur de contact !
Parasolid - Frottement
Il est possible de faire du contact avec frottement désormais avec des géométries issues de Parasolid. J'ai également complété l'interface de la PSkin pour pouvoir calculer la matrice de raideur tangente full analytique (terme géométrique en plus). Cependant, il semble qu'il y ait toujours un soucis de signe “-” quelque part dans la version actuelle si on a une PSkin avec des faces d'orientation différentes : dans le tubeV1, deux faces possèdent des normales d'orientation opposées par rapport à la PSkin, tandis que dans le tubeV2, toutes les normales sont dans le bon sens.
Projection de contact
Afin de rendre l'opérateur initiale plus performant, j'ai ajouté les caractéristiques suivantes :
- Test de la boite;
- Test sur le gap maximum autorisé en valeur absolue;
- Test sur le segment sur lequel on avait une projection valide;
N'oubliez pas que si la profondeur de contact est négatif (par défaut !), ces tests là sont purement désactivés.
Performance
Les performances dépendent fortement du cas test mais j'ai utilisé le procédé d'hydroformage (tube T : 4 x 80 x 120) pour faire les comparatifs entre la version en série optimisée Parasolid et la version en série précédente Parasolid. Le solveur linéaire est le DSSSolver.
Fichiers ajoutés/supprimés
[a]:mtParasolid/drawables/PSkinDataSet.cpp [a]:mtParasolid/drawables/PSkinDataSet.h [r]:
Cas tests ajoutés/supprimés
[a]:mtParasolid/tests/tubeV1Friction.py [a]:mtParasolid/tests/tubeV2.py [a]:mtParasolid/tests/tubeV2Friction.py [a]:mtParasolid/tests/tubeV2.xmt_txt [a]:mtParasolid/tests/cubeblockFriction.py [a]:mtParasolid/tests/cubecylFriction.py [a]:mtParasolid/tests/cubesphereFriction.py [rename]: mtParasolid/tests/tube.py => mtParasolid/tests/tubeV1.py [rename]: mtParasolid/tests/tube.xmt_txt => mtParasolid/tests/tubeV1.xmt_txt
— gaëtan 2016/10/01 16:00