Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:futur:robo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
commit:futur:robo [2018/07/31 17:34] bomancommit:futur:robo [2018/07/31 17:40] – [Commit David Thomas] boman
Line 1: Line 1:
 ====== Commit ====== ====== Commit ======
  
-===== Parallélisation contact "faces complexes" =====+===== Parallélisation du contact sur "faces complexes" =====
  
 Étonnamment, le S-Rail de la batterie de test ne pouvait pas être lancé en parallèle. Après debug, je me suis rendu compte que les classes ''SurrondednessTest2D'' et ''TriangleSurrondednessTest'' n'étaient pas thread safe. Ceci à cause d'objets géométriques temporaires qui sont définis "statiques" dans ces classes et dans la classe ''Curve'' en vue d'un calcul des intersections multiples (''Curve::multipleIntersection''). Étonnamment, le S-Rail de la batterie de test ne pouvait pas être lancé en parallèle. Après debug, je me suis rendu compte que les classes ''SurrondednessTest2D'' et ''TriangleSurrondednessTest'' n'étaient pas thread safe. Ceci à cause d'objets géométriques temporaires qui sont définis "statiques" dans ces classes et dans la classe ''Curve'' en vue d'un calcul des intersections multiples (''Curve::multipleIntersection'').
Line 11: Line 11:
 Cette manière de faire est la manière "quick&dirty" de paralléliser des variables statiques. Ce n'est donc pas une manière à conseiller (cfr nettoyage actuel des matériaux), mais dans des cas bien particuliers comme celui-ci (le suroundedness test du contact), c'est l'occasion de voir ce que ce système vaut. Cette manière de faire est la manière "quick&dirty" de paralléliser des variables statiques. Ce n'est donc pas une manière à conseiller (cfr nettoyage actuel des matériaux), mais dans des cas bien particuliers comme celui-ci (le suroundedness test du contact), c'est l'occasion de voir ce que ce système vaut.
  
-J'ai donc implémenté ça et les résultats sont plutôt bons puisque le S-Rail ne se voit pénalisé que d'1s sur 53s du test "batterie" par l'ajout de ces maps TBB quand on lance le test en série. +J'ai donc implémenté ça et les résultats sont plutôt bons puisque le S-Rail ne se voit pénalisé que d'1s sur 53s du test "batterie" par l'ajout de ces maps TBB quand on lance le test en série. Ces bonnes perfs s'expliquent peut-être aussi parce que j'ai supprimé certaines opérations inutiles dans les routines (calcul du numéro de courbe max à chaque passage!). 
-Par contre, le thraed local storage permet de lancer le modèle en parallèle et d'obtenir un speedup appréciable: 157s sur 6 threads pour l'emboutissage complet au lieu de 446s sur 1 thread pour la version 1 série.+ 
 +Par contre, le thread local storage permet de lancer le modèle en parallèle et d'obtenir un speedup appréciable: 157s sur 6 threads pour l'emboutissage complet au lieu de 446s sur 1 thread pour la version 1 série.
  
 Entretemps, j'ai appris que Gaëtan avait réécrit un S-Rail dont la géométrie n'utilise plus de surrundedness test, c'est-à-dire avec uniquement des patchs de Coons. Ce test n'est pas commité alors qu'il permet de simuler également le retour élastique. Je le commiterai plus tard. Entretemps, j'ai appris que Gaëtan avait réécrit un S-Rail dont la géométrie n'utilise plus de surrundedness test, c'est-à-dire avec uniquement des patchs de Coons. Ce test n'est pas commité alors qu'il permet de simuler également le retour élastique. Je le commiterai plus tard.
Line 22: Line 23:
 ===== Commit David Thomas ===== ===== Commit David Thomas =====
  
-J'ai récupéré la version Metafor de David Thomas pour commiter ses modifs utilisées pour le couplage SU2-Metafor. Il s'agit principalement d'une option du ''TimeStepManager'' qui permet de ne pas afficher les temps d'archivage à l'écran au démarrage d'un calcul. En effet, dans le cas d'un calcul de couplage, il peut y en avoir beaucoup et on se retrouve avec une quantité d'infos inutiles impressionnante dans le fichier de sortie. +J'ai récupéré la version Metafor de David Thomas pour commiter ses modifs utilisées pour le couplage SU2-Metafor. Il s'agit principalement d'une option du ''TimeStepManager'' qui permet de ne pas afficher les temps d'archivage à l'écran au démarrage d'un calcul. En effet, dans le cas d'un calcul de couplage, il peut y en avoir beaucoup et on se retrouve avec une quantité d'infos inutiles impressionnante dans le fichier de sortie. Pour l'utiliser: 
 +  tsm.setVerbose(False)
 ===== gmsh.py ===== ===== gmsh.py =====
  
Line 30: Line 31:
 ===== meshingTools.py ===== ===== meshingTools.py =====
  
-J'ai ajouté une fonction de fusion d'ugrid VTK pour permettre le maillage des "tresses" de Cédric Laurent, un test qu'il n'a jamais commité et que j'ai retrouvé en fouillant ses backups.  +J'ai ajouté une fonction de fusion d'ugrid VTK pour permettre le maillage des "tresses" de Cédric Laurent, un test qu'il n'a jamais commité et que j'ai retrouvé en fouillant ses backups. Je le commiterai plus tard (il nécessite "un peu" de nettoyage et la définition d'extracteurs pertinents).
- +
  
- --- //[[r.boman@ulg.ac.be|boman]] 2017/10/16 08:55// 
  
 + --- //[[r.boman@ulg.ac.be|boman]] 2018/07/31 17:39//
  
commit/futur/robo.txt · Last modified: 2019/07/10 14:43 by boman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki