This is an old revision of the document!
Table of Contents
Matrices rigides
Définition des matrices rigides
Dans Metafor, n'importe quelle entité géométrique peut être définie comme une matrice de contact rigide et aucune définition supplémentaire n'a besoin d'être faite.
Le sens de l'entité a cependant une grande importance. Il définit où est la “matière” de la matrice (c'est-à-dire la zone dans laquelle les noeuds qui pénètrent subiront une force de contact). La convention est que la normale à la matrice pointe dans la matière de l'outil.
Reste à définir la normale.
- En 2D: la convention géométrique est telle que le produit vectoriel $\boldsymbol{t} \wedge \boldsymbol{n} = (0,0,1)$. Ceci équivaut à définir le sens de l'outil aire à gauche (lorsqu'on parcourt la ligne définissant la matrice, les noeuds qui pénètrent dans la zone à gauche subissent une force de contact).
- Le sens d'une
Curve
(Line
,Arc
, etc) est défini par sa tangente (affichable dans l'interface graphique). Elle est par défaut définie par ses points (du premier au dernier). - Le sens d'un
Wire
est définit par l'ordre de ses lignes (de la première à la dernière) et jamais par les points “sommets” de celles-ci. Lorsque un contour est défini par une seule courbe, c'est le sens de la courbe qui défini le sens du contour.
- En 3D: la normale à une
Side
est définie par la normale à laSurface
qui la supporte (visualisable dans l'interface graphique). Au niveau de laSkin
, à ce jour chacune, desSides
la composant doit être définie afin d'assurer la cohérence de l'ensemble. Il est indispensable de définir une surfacePlan
associée à uneSide
pour définir une matrice de contact plane !
En contact rigide-défo, lorsqu'on utilise des objets Side
ou Curve
pour définir des matrices de contact, un contact peut-être détecté en dehors de la frontière de la matrice parce que les lignes et les surfaces sont extrapolées de 10% dans ce cas. Pour éviter ce phénomène, il faut définir une Skin
ou un Wire
.
Il est possible de modifier aisément le sens d'une Curve
ou d'un Wire
par la commande curve.reverse()
(qui modifie l'objet). Cette commande n'est pas encore disponible pour les surfaces (il faut alors assurer la cohérence des Sides
“à la main”).
Il est aussi possible d'inverser la convention définissant où se trouve la matière au niveau du matériau de contact (en remplacant la valeur par défaut : TYPE_CONT
= UNILATERAL_POSITIF
en TYPE_CONT
= UNILATERAL_NEGATIF
).
Contact - mouvement des matrices
Dans Metafor, pour déplacer des matrices de contact, il suffit de déplacer les entités géométriques intervenant dans l'interaction de contact via un Loading
(voir Prescribed Displacements).