commit:2017:08_16
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
commit:2017:08_16 [2017/08/16 10:05] – created wautelet | commit:2017:08_16 [2017/08/16 14:59] – wautelet | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Cas Test - Schéma d' | ===== Cas Test - Schéma d' | ||
+ | Afin de conserver une trace de l' | ||
===== Boundary Volume Hierarchy ===== | ===== Boundary Volume Hierarchy ===== | ||
- | La détection du contact dans Metafor peut être séparer | + | La détection du contact dans Metafor peut être séparée |
- | + | ||
- | === Implémentation | + | Pour améliorer l' |
+ | |||
+ | Je vous fournis aussi les références utilisées pour l' | ||
+ | |||
+ | * Bin Yang, Tod A. Laursen : A contact searching algorithm including bounding volume trees applied to finite sliding mortar formulations [2006] | ||
+ | * T. L. Kay & J. T. Kajiya, Ray tracing complex scenes [1986] (Spatial median splits) | ||
+ | * Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs, J. T. Klosowski et al. [1998] (k-DOPs) | ||
+ | |||
+ | Par exemple, le cas de l' | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | === Détails d' | ||
+ | |||
+ | Les routines de manipulation sur les nœuds de l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | La construction de l' | ||
+ | |||
+ | Chaque nœud de l' | ||
+ | |||
+ | Finalement, les classes liées à la gestion d'un arbre des volumes d' | ||
=== Cas Test === | === Cas Test === | ||
+ | |||
+ | Le système de recherche sous forme d' | ||
+ | |||
+ | < | ||
+ | ci1 = RdContactInteraction(1) | ||
+ | ci1.push(wireset(1)) | ||
+ | ci1.setTool(wireset(2)) | ||
+ | ci1.setUseBVH(parameters[' | ||
+ | interactionset.add(ci1) | ||
+ | </ | ||
+ | |||
+ | |||
+ | Je vous indique ici les différentes performances observées avec quelques cas-tests de la batterie : | ||
+ | |||
+ | |Cas test | CPU sans BVH (sec) | CPU avec BVH (sec) | Différence (sec) | | ||
+ | |apps.imp.ddrawingBVH| 169.672 | 168.859 | 0.813 (0.5 %) | | ||
+ | |meca0464.tests.threeRingsContactTest| 36.6406 | 28.2344 | 8.4062 (23 %) | | ||
+ | |meca0464.tests.twoRingsContactTest| 12.6406 | 11.9375 | 0.703 (5.5 %) | | ||
+ | |mtContact.tests.threePlatesCylinderContactTest| 922.141 | 558.453 | 363.688 (39 %) | | ||
+ | |mtContact.tests.threeBeamsRingContactTest| 332.547 | 182.609 | 149.938 (45 %) | | ||
+ | |mtContact.tests.torusCylinderContactTest| 622.391 | 329.219 | 293.172 (47 %) | | ||
+ | |mtContact.tests.twoToriContactTest| 251.141 | 173.453 | 77.688 (31 %) | | ||
+ | |||
+ | Finalement, il est très recommandé d' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | === Visualisation Graphique === | ||
+ | |||
+ | J'ai ajouté la possibilité de voir les arbres dans Metafor. Je vous fournis ici quelques captures d' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Extensions possibles === | ||
+ | |||
+ | Il y a trois aspects sur lesquels on peut encore améliorer la recherche sous forme d' | ||
+ | |||
+ | * Parcourir/ | ||
+ | * Utiliser des volumes d' | ||
+ | * Mettre à jour l' | ||
+ | |||
+ | Finalement, une autre manière d' | ||
+ | |||
+ | === Intégration numérique === | ||
+ | |||
+ | Afin de calculer une surface, une longueur, ainsi qu'un centre de gravité aisément, j'ai implémenté une quadrature automatique du type Clenshaw-Curtis (Stratégie de sous-division locale). Également afin de conserver une certaine généralité, | ||
+ | |||
+ | Références : | ||
+ | |||
+ | * Computational Integration de Arnold R. Krommer et Christoph W. Ueberhuber, p 427 | ||
+ | * A self-adaptive Clenshaw-Curtis quadrature scheme for efficient integration over parametric CAD surfaces, R.N. Simpson, Z. Liu, University of Glasgow | ||
+ | * Is Gauss quadrature better than Clenshaw-Curtis ?, Lloyd N. Trefethen, 2008 | ||
===== Fichiers ajoutés/ | ===== Fichiers ajoutés/ |
commit/2017/08_16.txt · Last modified: 2017/08/16 18:20 by wautelet