Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2017:12_17

This is an old revision of the document!


Commit 2017-12-17

Ce commit est pour ajouter les parcours avancées des hiérarchies de volume frontière dans le but de rapatrier mes derniers développements.

DdContactInteraction - Double Passe - Boundary Volume Hierarchy

Au lieu de passer séquentiellement chaque hiérarchie de volume frontière, d'abord celle du maître avec les points de l'esclave et puis celle de l'esclave avec les points du maître. Il peut être plus intéressant de parcourir ensemble les deux hiérarchies et répertorier l'ensemble des candidats (segment ou face) pour la recherche du contact local. Cette procédure ne se fait pas en parallèle (recherche globale), mais la recherche locale se fait bel et bien en parallèle via la routine TBB !

ScContactInteraction - Self Boundary Volume Hierarchy

Dans le cas de l'auto-contact, puisque chaque point à projeter fait partie de l'hiérarchie de volume frontière, nous avons toujours une sortie triviale, qui consiste en les courbes adjacentes ou les faces adjacentes au point. Donc sous sa forme classique, l'algorithme produit toujours une sortie puisque le point appartient toujours dans les boites imbriquées les unes dans les autres. Ainsi, il pourrait être intéressant de parcourir cette hiérarchie de volume frontière sous forme globale pour tenir compte d'un critère de courbure et d'un critère d'adjacence. Ainsi, si on a une surface plane initialement, on n'a pas de recherche de contact dès le test sur le sommet de l'hiérarchie de volume frontière (car pas de courbure dedans), et cela tant que l'on a pas la présence d'un pli (post-flambement d'un longeron). Le critère d'adjacence permet justement d'éviter des tests triviaux pour l'intersection des boites.

Tests

J'ai ajouté des tests pour

Pour pouvoir utiliser cette fonctionnalité, il suffit de générer un BVHOptions et le transmettre à l'interaction de contact :

ci = Rd|FdRd|Sc|DdContactInteraction(1)
option = BVHOptions()
option.setBoundingVolumeCellType(AAOB|KDOP)
ci.setBVHOptions(option) 

Références

[1] A large deformation mortar formulation of self contact with finite sliding, Bin Yang and Tod A. Laursen

[2] A contact searching algorithm including bounding volume trees applied to finite sliding mortar formulations, Bin Yang and Tod A. Laursen

Fichiers ajoutés/supprimés

[a]:oo_meta\mtGeo\mtGeoBoundingVolumeType.cpp
[a]:oo_meta\mtGeo\mtGeoBoundingVolumeType.h
[a]:oo_meta\mtGeo\mtGeoCurveKDOPBoundaryVolume.cpp
[a]:oo_meta\mtGeo\mtGeoCurveKDOPBoundaryVolume.h
[a]:oo_meta\mtGeo\mtGeoKDOPBoundaryVolume.cpp
[a]:oo_meta\mtGeo\mtGeoKDOPBoundaryVolume.h
[a]:oo_meta\mtGeo\mtGeoSideKDOPBoundaryVolume.cpp
[a]:oo_meta\mtGeo\mtGeoSideKDOPBoundaryVolume.h
[r]:

Cas tests ajoutés/supprimés

[a]:oo_nda\meca0464\tests\threeRingsContactTestBVHBottomUpKDOP.py
[a]:oo_nda\meca0464\tests\threeRingsContactTestBVHBottomUpKDOP.tsc
[a]:oo_nda\meca0464\tests\threeRingsContactTestBVHKDOP.py
[a]:oo_nda\meca0464\tests\threeRingsContactTestBVHKDOP.tsc
[a]:oo_nda\meca0464\tests\threeRingsContactTestSelfBVHBottomUpGlobalSearchKDOP.py
[a]:oo_nda\meca0464\tests\threeRingsContactTestSelfBVHBottomUpGlobalSearchKDOP.tsc
[a]:oo_nda\meca0464\tests\threeRingsContactTestSelfBVHBottomUpKDOP.py
[a]:oo_nda\meca0464\tests\threeRingsContactTestSelfBVHBottomUpKDOP.tsc
[a]:oo_nda\meca0464\tests\twoRingsContactTestBVHBottomUpKDOP.py
[a]:oo_nda\meca0464\tests\twoRingsContactTestBVHBottomUpKDOP.tsc
[a]:oo_nda\meca0464\tests\twoRingsContactTestBVHKDOP.py
[a]:oo_nda\meca0464\tests\twoRingsContactTestBVHKDOP.tsc
[a]:oo_meta\apps\imp\ddrawingBVHBottomUpKDOP.py
[a]:oo_meta\apps\imp\ddrawingBVHBottomUpKDOP.tsc
[a]:oo_meta\apps\imp\ddrawingBVHKDOP.py
[a]:oo_meta\apps\imp\ddrawingBVHKDOP.tsc
[a]:oo_meta\mtContact\tests\threeBeamsRingContactTestBVHBottomUpKDOP.py
[a]:oo_meta\mtContact\tests\threeBeamsRingContactTestBVHBottomUpKDOP.tsc
[a]:oo_meta\mtContact\tests\threeBeamsRingContactTestBVHKDOP.py
[a]:oo_meta\mtContact\tests\threeBeamsRingContactTestBVHKDOP.tsc
[a]:oo_meta\mtContact\tests\threePlatesCylinderContactTestBVHBottomUpKDOP.py
[a]:oo_meta\mtContact\tests\threePlatesCylinderContactTestBVHBottomUpKDOP.tsc
[a]:oo_meta\mtContact\tests\threePlatesCylinderContactTestBVHKDOP.py
[a]:oo_meta\mtContact\tests\threePlatesCylinderContactTestBVHKDOP.tsc
[a]:oo_meta\mtContact\tests\torusCylinderContactTestBVHBottomUpKDOP.py
[a]:oo_meta\mtContact\tests\torusCylinderContactTestBVHBottomUpKDOP.tsc
[a]:oo_meta\mtContact\tests\torusCylinderContactTestBVHKDOP.py
[a]:oo_meta\mtContact\tests\torusCylinderContactTestBVHKDOP.tsc
[a]:oo_meta\mtContact\tests\twoToriContactTestBVHBottomUpKDOP.py
[a]:oo_meta\mtContact\tests\twoToriContactTestBVHBottomUpKDOP.tsc
[a]:oo_meta\mtContact\tests\twoToriContactTestBVHKDOP.py
[a]:oo_meta\mtContact\tests\twoToriContactTestBVHKDOP.tsc
[r]:

gaëtan 2017/12/17 12:00

commit/2017/12_17.1513510344.txt.gz · Last modified: 2017/12/17 12:32 by wautelet

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki