Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:futur:yannick

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
commit:futur:yannick [2017/03/10 13:14] crutzencommit:futur:yannick [2024/03/01 16:05] (current) boman
Line 9: Line 9:
 Les trois cas-tests de profilage mis au point pour le papier IJSS sont ajoutés dans la batterie de tests. Ceux-ci sont chargés sans réaliser l’intégration temporelle.  Les trois cas-tests de profilage mis au point pour le papier IJSS sont ajoutés dans la batterie de tests. Ceux-ci sont chargés sans réaliser l’intégration temporelle. 
 De plus, des cas-tests extrêmement réduits (limités à une seule station de mise à forme) sur base de ces précédents gros cas-tests sont inclus dans la batterie. Pour ceux-ci, l’enchaînement du profilage avec collage des rives et découpe est simulé. De plus, des cas-tests extrêmement réduits (limités à une seule station de mise à forme) sur base de ces précédents gros cas-tests sont inclus dans la batterie. Pour ceux-ci, l’enchaînement du profilage avec collage des rives et découpe est simulé.
 +
 +<WRAP centeralign column 100%>
 +{{url>https://www.youtube.com/embed/1rEJP7A6J6k?ecver=1 noborder allowfullscreen}}
 +</WRAP>
 +<WRAP centeralign column 100%>
 +{{url>https://www.youtube.com/embed/S93UXLJjxYk?ecver=1 noborder allowfullscreen}}
 +</WRAP>
 +<WRAP centeralign column 100%>
 +{{url>https://www.youtube.com/embed/KlCzLpHCa7o?ecver=1 noborder allowfullscreen}}
 +</WRAP>
 +
  
 =====Répertoire rollForming/copraCpeCre/===== =====Répertoire rollForming/copraCpeCre/=====
Line 19: Line 30:
   * Possibilité d’élargissement du contour d’un outil (copraRoll) si l’entité à l’extrémité du contour est un Arc (utilisé pour le cas-test du profilage du tube).   * Possibilité d’élargissement du contour d’un outil (copraRoll) si l’entité à l’extrémité du contour est un Arc (utilisé pour le cas-test du profilage du tube).
   * Possibilité d’écrire un fichier Matlab décrivant la connectivité du maillage.   * Possibilité d’écrire un fichier Matlab décrivant la connectivité du maillage.
-  * La définition de la fonction ''printParameters2Matlab(param)'' est supprimée puisque celle-ci est à présent définie dans toolbox/matlab.py.+  * La définition de la fonction ''printParameters2Matlab(param)'' est supprimée puisque celle-ci est à présent définie dans ''toolbox/matlab.py''.
  
 =====copraRollForming.py===== =====copraRollForming.py=====
Line 66: Line 77:
  
 =====Imports relatifs===== =====Imports relatifs=====
-Dans copraTools, tous les imports absolus sont remplacés par des imports relatifs, à l’exception de l’import dans le fichier Python décrivant la ligne de profilage (traduit à partir des fichiers .CPE/.CRE) qui reste un import absolu. +Dans ''rollForming/copraTools'', tous les imports absolus sont remplacés par des imports relatifs, à l’exception de l’import dans le fichier Python décrivant la ligne de profilage (traduit à partir des fichiers .CPE/.CRE) qui reste un import absolu. 
  
 =====workspace des cas-tests par enchaînement===== =====workspace des cas-tests par enchaînement=====
-Pour tous les cas-tests de profilage par enchaînement (une phase de profilage suivie d’une phase de calcul du retour élastique en dehors de la machine), la seconde phase du calcul est dès à présent réalisée dans un sous-répertoire de travail différent de la première pour autant que cette première phase ne se soit pas achevée sur une configuration non-équilibrée (détection du nom de fichier step_neq.bfac.gz). Si la première phase du calcul s’achève sur une configuration non-équilibrée, la seconde phase du calcul n’est désormais plus démarrée automatiquement.+Pour tous les cas-tests de profilage par enchaînement (une phase de profilage suivie d’une phase de calcul du retour élastique en dehors de la machine), la seconde phase du calcul est dès à présent réalisée dans un sous-répertoire de travail différent de celui de la première pour autant que cette première phase ne se soit pas achevée sur une configuration non-équilibrée (détection du nom de fichier ''step_neq.bfac.gz''). Si la première phase du calcul s’achève sur une configuration non-équilibrée, la seconde phase du calcul n’est désormais plus démarrée automatiquement.
  
 =====Réorganisation des cas-tests de profilage===== =====Réorganisation des cas-tests de profilage=====
-  * Réorganisation des répertoires oo_nda/rollForming/ et oo_nda/montataire/ tel que déjà réalisée dans oo_nda/crm/ (voir ce [[commit:2015:11_11|commit]]). Tous les cas-tests spécifiques au système de batterie sont dès à présent regroupés dans un seul répertoire battery. Les différents choix (meta(), prepro(), import du jeu de données) dans la fonction main des gros cas-tests sont ainsi supprimés. +  * Réorganisation des répertoires ''oo_nda/rollForming/'' et ''oo_nda/montataire/'' comme déjà réalisée dans ''oo_nda/crm/'' (voir ce [[commit:2015:11_11|commit]]), c'est-à-dire que tous les cas-tests spécifiques au système de batterie sont dès à présent regroupés dans un seul répertoire dédié. Les différents choix (''meta()''''prepro()'', import du jeu de données) dans la fonction ''main()'' des gros cas-tests sont ainsi supprimés. 
-  * Ajout du répertoire battery dans oo_nda/montataire +  * Ajout du répertoire ''battery'' dans ''oo_nda/montataire''. 
-  * Ajout du répertoire copraBattery dans oo_nda/rollForming+  * Ajout du répertoire ''copraBattery'' dans ''oo_nda/rollForming''.
 => Modification des CMakeLists.txt respectifs. => Modification des CMakeLists.txt respectifs.
   * Move de différents cas-tests.   * Move de différents cas-tests.
Line 86: Line 97:
  
 =====toolbox/utilities.py===== =====toolbox/utilities.py=====
-Depuis la révision 2093, la base du répertoire de travail ''wDirRoot'' avait été ajoutée dans le path pour permettre de charger le fichier Python décrivant les outillages et les profils de la ligne de profilage sur les disques locaux de Fabulous. Désormais, cet ajout est commentarisé. Le fichier Python est importé à partir de son nom avec les méthodes ''imp.find_module(impMod, [buildWDir])'' et ''imp.load_module(impMod, file, pathName, description)'' et non plus avec la méthode ''__import__(moduleName, globals(), locals(),[moduleName] )'' qui nécessite le nom du module comportant son chemin.+Depuis la révision [[commit:2014:10_09|2096]], la base du répertoire de travail ''wDirRoot'' avait été ajoutée dans le path pour permettre de charger le fichier Python décrivant les outillages et les profils de la ligne de profilage sur les disques locaux de Fabulous. Désormais, cet ajout est commentarisé. Le fichier Python est importé à partir de son nom avec les méthodes ''imp.find_module(impMod, [buildWDir])'' et ''imp.load_module(impMod, file, pathName, description)'' et non plus avec la méthode ''__import__(moduleName, globals(), locals(),[moduleName] )'' qui nécessite le nom du module comportant son chemin.
  
 =====Renaming dans mtDrawables===== =====Renaming dans mtDrawables=====
Line 92: Line 103:
  
 =====mtALE/SplineCartCurveReZoner===== =====mtALE/SplineCartCurveReZoner=====
-Avec le reZoner à coordonnées cartésiennes constantes de mon précédent commit, des problèmes de convergence dans le repositionnement des nœuds sont survenus dans les simulations du profilage, avec pour conséquence des divisions du pas de temps. Ces problèmes de convergence n’avaient pas été rencontrés dans les petits cas-tests de collage de mon précédent commit, ni dans mes simulations de profilage pour le papier IJSS. Entretemps, j’avais réécrit l'algorithme du calcul de l’intersection entre une spline et un plan à coordonnées cartésiennes constantes avec un Newton-Raphson en lieu et place d’une méthode de la sécante. Pour résoudre ces problèmes de convergence, j’ai modifié le premier guess dans le Newton-Raphson.+Avec le reZoner à coordonnées cartésiennes constantes de mon [[commit:2017:02_20|précédent commit]], des problèmes de convergence dans le repositionnement des nœuds sont survenus dans les simulations du profilage, avec pour conséquence des divisions du pas de temps. Ces problèmes de convergence n’avaient pas été rencontrés dans les petits cas-tests de collage de mon précédent commit, ni dans mes simulations de profilage pour le papier IJSS. Entretemps, j’avais réécrit l'algorithme du calcul de l’intersection entre une spline et un plan à coordonnées cartésiennes constantes avec un Newton-Raphson en lieu et place d’une méthode de la sécante. Pour résoudre ces problèmes de convergence, j’ai modifié le premier guess dans le Newton-Raphson.
  
 =====mtGeo/ProfileBuilder===== =====mtGeo/ProfileBuilder=====
-Après avoir réorganisé le module des modèles de profilage, j’ai lancé la batterie de tests pour ce module en particulier (''-run rollForming''), ce qui a entraîné, outre le lancement des simulations du répertoire ''rollForming/copraBattery/'', le lancement inattendu des simulations présentes dans le répertoire ''rollForming/copraTests/'' (gros cas-tests). Pis, parmi ces dernières, j’ai pu observer que l’une (illustrée ici??s’est achevée d’emblée sur une erreur fatale en raison d’un jacobien négatif, avant même de calculer le premier pas de temps. Dans la procédure classique de la batterie, ce cas-test est chargé mais sans aucune intégration temporelle. Le système de batterie ne pouvait dès lors faire apparaître ce cas-test comme ''failed''.+Après avoir réorganisé le module des modèles de profilage, j’ai lancé la batterie de tests pour ce module en particulier (''-run rollForming''), ce qui a entraîné, outre le lancement des simulations du répertoire ''rollForming/copraBattery/'', le lancement inattendu des simulations présentes dans le répertoire ''rollForming/copraTests/'' (gros cas-tests). Pis, parmi ces dernières, j’ai pu observer que l’une s’est achevée d’emblée sur une erreur fatale en raison d’un jacobien négatif, avant même de calculer le premier pas de temps. Dans la procédure classique de la batterie, ce cas-test est chargé mais sans aucune intégration temporelle. Le système de batterie ne pouvait dès lors faire apparaître ce cas-test comme ''failed''.
  
 Tout d’abord, observer le problème dans le maillage ALE ne fut pas évident vu la taille considérable du modèle. J’ai commencé par déterminer la demi-partie du profil concernée par le problème. Ensuite, j’ai identifié l’inter-tête du maillage en réduisant le nombre de stations importées dans le modèle. De cette manière, j’ai abouti au modèle réduit illustré ci-après. On y observe un défaut dans la géométrie des coins de la rive. La construction des deux polyCurves frontières à partir de la polyCurve à mi-épaisseur paraît être en cause. Tout d’abord, observer le problème dans le maillage ALE ne fut pas évident vu la taille considérable du modèle. J’ai commencé par déterminer la demi-partie du profil concernée par le problème. Ensuite, j’ai identifié l’inter-tête du maillage en réduisant le nombre de stations importées dans le modèle. De cette manière, j’ai abouti au modèle réduit illustré ci-après. On y observe un défaut dans la géométrie des coins de la rive. La construction des deux polyCurves frontières à partir de la polyCurve à mi-épaisseur paraît être en cause.
Line 103: Line 114:
 **En définitive, j’ai modifié la tolérance interne de l’opérateur de projection dans la classe ''ProfileBuilder'' (0.1 au lieu de 0).** De cette façon, la projection devient ''BELONG_EDGE'' lors du test d’appartenance, l’opérateur de projection n’est plus mis à zéro et la coordonnée réduite recherchée est bien correcte. **En définitive, j’ai modifié la tolérance interne de l’opérateur de projection dans la classe ''ProfileBuilder'' (0.1 au lieu de 0).** De cette façon, la projection devient ''BELONG_EDGE'' lors du test d’appartenance, l’opérateur de projection n’est plus mis à zéro et la coordonnée réduite recherchée est bien correcte.
  
-=====mtParasolid===== +=====Divers===== 
-Le répertoire oo_meta/mtParasolid/numisheet/ est supprimé, après en avoir discuté avec Cristian. +  Le répertoire ''oo_meta/mtParasolid/numisheet/'' est supprimé, après en avoir discuté avec Cristian. 
 +  * Dans la méthode ''extractBoundaryForce( std::vector< std::tuple<Element*,int,double> > &boundary, mtGeo::Group & group )'' de Interaction.cpp, j'ai fait une petite correction de manière à permettre la compilation sous VS2012. 
 +  * Petit retour des warnings à la compilation.
  
 ===== Fichiers ajoutés/supprimés ===== ===== Fichiers ajoutés/supprimés =====
 <code> <code>
-Renamed : oo_meta\mtDrawables\SFScalars.h/.cpp -> oo_meta\mtDrawables\StickFScalars.h/.cpp +Renamed : oo_meta/mtDrawables/SFScalars.h/.cpp -> oo_meta/mtDrawables/StickFScalars.h/.cpp 
-Renamed : oo_meta\mtDrawables\SFVectors.h/.cpp -> oo_meta\mtDrawables\StickFVectors.h/.cpp+Renamed : oo_meta/mtDrawables/SFVectors.h/.cpp -> oo_meta/mtDrawables/StickFVectors.h/.cpp 
 +Added : oo_nda/rollForming/copraCpeCre/Tube.orig.cpe/.cre 
 +Added : oo_nda/montataire/battery/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/large/cChannel/copra/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/large/comptesRendusMeca/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/large/thesisRoBo/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/minWorkingExample/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/springback/__init__.py 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/__init__.py
 </code> </code>
  
 ===== Tests ajoutés/supprimés ===== ===== Tests ajoutés/supprimés =====
 <code> <code>
-Added : oo_nda\rollForming\ + 
-Moved : +Added : oo_nda/montataire/battery/****ALEEASFr.py 
 +Added : oo_nda/montataire/battery/****ALEEASFrGod.py 
 +Added : oo_nda/montataire/battery/****ALEEASFrLess.py 
 +Added : oo_nda/montataire/battery/****ALESRIFrLess.py 
 +Added : oo_nda/montataire/battery/****LagL1840MarcMeshMarcBCs.py 
 +Added : oo_nda/montataire/battery/****LagL1840MarcMeshMarcBCsEAS.py 
 +Added : oo_nda/montataire/battery/****LagL2040NoBCsnY2.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/bavoletMovTools.py 
 +Added : oo_nda/rollForming/copraBattery/U6Short.py 
 +Added : oo_nda/rollForming/copraBattery/U6SymL.py 
 +Added : oo_nda/rollForming/copraBattery/U6SymLR.py 
 +Added : oo_nda/rollForming/copraBattery/U6SymR.py 
 +Added : oo_nda/rollForming/copraBattery/U6SymRmm.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/large/cChannel/copra/cChannel.py 
 +Added : oo_nda/rollForming/copraBattery/large/cChannel/copra/cChannelALE.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/large/comptesRendusMeca/bavolet.py 
 +Added : oo_nda/rollForming/copraBattery/large/comptesRendusMeca/bavoletALE.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/bavoletALE_1.py 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/bavoletALE_2.py 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/tubeALE_1.py 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/tubeALE_2.py 
 +Added : oo_nda/rollForming/copraBattery/large/ijss/u6ALE.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/large/thesisRoBo/bavoletALE.py 
 +Added : oo_nda/rollForming/copraBattery/large/thesisRoBo/channel.py 
 +Added : oo_nda/rollForming/copraBattery/large/thesisRoBo/KitrackALE.py 
 +Added : oo_nda/rollForming/copraBattery/large/thesisRoBo/traverseALE.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/minWorkingExample/U6.py 
 +Added : oo_nda/rollForming/copraBattery/minWorkingExample/U6ALE.py 
 + 
 +Added : oo_nda/rollForming/copraBattery/springback/U6ALE_1.py 
 +Added : oo_nda/rollForming/copraBattery/springback/U6ALE_2.py 
 +Added : oo_nda/rollForming/copraBattery/springback/U6SymLR_1.py 
 +Added : oo_nda/rollForming/copraBattery/springback/U6SymLR_2.py 
 + 
 +Renamed : oo_nda/rollForming/copraTests/copraLarge/ -> oo_nda/rollForming/copraTests/large/ 
 + 
 +Added : oo_nda/rollForming/copraTests/large/cChannel/copra/cChannelALEPrepro.py 
 + 
 +Added : oo_nda/rollForming/copraTests/large/ijss/bavoletALE_1.py 
 +Added : oo_nda/rollForming/copraTests/large/ijss/bavoletALE_2.py 
 +Added : oo_nda/rollForming/copraTests/large/ijss/tubeALE_1.py 
 +Added : oo_nda/rollForming/copraTests/large/ijss/tubeALE_2.py 
 +Added : oo_nda/rollForming/copraTests/large/ijss/u6ALE_1.py 
 +Added : oo_nda/rollForming/copraTests/large/ijss/u6ALE_2.py 
 + 
 +Moved : oo_nda/rollForming/copraTests/copraLarge/bavoletALE.py -> rollForming/copraTests/large/thsesisRobo/bavoletALE.py 
 +Moved : oo_nda/rollForming/copraTests/copraLarge/channel.py -> rollForming/copraTests/large/thsesisRobo/channel.py 
 +Moved : oo_nda/rollForming/copraTests/Kitrack.py -> rollForming/copraTests/large/thsesisRobo/KitrackALE.py 
 +Moved : oo_nda/rollForming/copraTests/copraLarge/traverseALE.py -> rollForming/copraTests/large/thsesisRobo/traverseALE.py
 </code> </code>
  
  --- //[[Y.Crutzen@ulg.ac.be|Yanick Crutzen]] 2017/03/?? //  --- //[[Y.Crutzen@ulg.ac.be|Yanick Crutzen]] 2017/03/?? //
commit/futur/yannick.1489148068.txt.gz · Last modified: 2017/03/10 13:14 by crutzen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki