===== 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. ==== Boundary Volume Hierarchy - K-DOP ==== J'ai ajouté la possibilité d'utiliser un autre type de volume frontière pour la hiérarchie de volume frontière : ce sont les discrete oriented polytope's. Ils permettent une meilleure approximation des entités géométriques maîtres en contact comparée au boite alignée sur les axes cartésiens et ils peuvent dès lors éviter des calculs de détection de contact local, tout en restant relativement raisonnable du point de cout de calcul pour leur construction et leur mise à jour. Exemples de visualisation des K-DOPs : {{:commit:2017:kdop2d0000.png?600|}} {{:commit:2017:kdop3d0000.png?600|}} ==== 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]: --- //[[gwautelet@ulg.ac.be|gaëtan]] 2017/12/17 12:00//