commit:2009:03_31
Table of Contents
Commit 2009-03-31
Modifs
Profilage COPRA
Comme appli finale de ma thèse, j'ai fait un modèle ALE à partir du modèle lagrangien de profilage COPRA:
- Nettoyage et ajout de commentaires là où j'ai compris ce qui se passe. En particulier les anciennes commandes de visualisation fonctionnent à nouveau.
PolyCurve
: j'ai enrichi cette classe pour pouvoir l'utiliser comme support de maillage et de projection. Il s'agit d'une courbe composée de plusieurs courbes (à l'intérieur, il y a unWire
). Ca sert à pouvoir utiliser unWire
partout où on veut une courbe. Dans le cas du profilage, je l'utilise pour mailler les profils COPRA sans imposer un noeud aux extrémités de chaque segment du profil.PolyCurveProjectionOperator
: un projecteur dédié pour la courbe ci-dessus; le projecteur par défaut (celui deCurve
) ne marchant pas vraiment bien.DupMesher1D
: nouveau mailleur permettant de dupliquer un maillage d'une courbe à une autre. A quoi ça sert? Simplement à s'assurer que les deux lignes auront dans tous les cas le même nombre de noeuds et un maillage similaire. En effet, si on utilise le mailleur densité sur 2 courbes presque identiques, les maillages seront presque identiques (à un noeud près..; ce qui est assez ennuyeux pour faire du transfini derrière).ProfileBuilder
: cette nouvelle classe est un outil spécifique qui ajoute une épaisseur aux profils que j'ai précédemment maillé. Idéalement, cette classe n'a rien à faire dans la géo et devrait être déplacée dans une DLL d'extension d'Arcelor (qui n'existe pas encore).
Après tous ces nouveaux trucs, voilà le maillage que j'obtiens.
ALE
- Pour faire passer mes tests COPRA, j'ai dû améliorer les routines de lissage 2D surfaciques pour qu'elles puissent s'appliquer à des Skins. Ca marchait uniquement avec des faces et des groupes bien foutus (et j'ai pas eu le courage de faire un groupe bien foutu dans mon test). Petit problème: pour des raisons d'efficacité, ce système utilise des tables de hachage qui entrainent un ordre arbitraire de parcours des noeuds (et donc des résultats différents sur différentes machines)… Je mettrai en place une fonction de tri plus tard pour être certain de parcourir toujours les noeuds dans le même ordre.
- Récupération des jacobiens négatifs lors de la mise à jour de la matrice des masses en ALE. N'ayant jamais trop joué avec le dynamique en ALE avant, je n'en avais jamais eu!
- Annulation du gradient selon
r
en axisym si on utilise un schéma du 2nd ordre. Ce gradient n'a pas de sens si il n'est pas nul puisque la conservation du champ convecté est n'est alors plus vérifiée. - Meilleur calcul du flux en axisym (flux moyen sur le pas de temps avec élimination des flux parasites lors de rotations).
- Projection sur surfaces splines: utilisation de la même tolérance de projection multiples que le contact “multiproj”. J'ai également supprimé les messages “decideContact” lors de projections problématiques sur des coins ou des arêtes (c'est un message courant qui n'est pas grave mais qui vient pourrir le .res des tests ALE). Enfin, j'ai décidé de diviser le pas de temps quand aucune projection n'est trouvée (c'est beaucoup moins courant et ça mène en général au plantage du calcul).
Visu
- Changement de stratégie pour la gestion du noir & blanc ou des fonds clairs: avant ce commit, chaque objet avait 2 couleurs: une couleur normale et une couleur “noir&blanc”. Luc avait alors ajouté pour certains objets une couleur “fond clair”. J'ai unifié tout ça: il existe maintenant 2 couleurs par objet: une couleur “fond foncé” et une “fond clair”. L'option noir&blanc est indépendante. Elle transforme la couleur de l'objet en cours en nuance de gris. CA permet par exemple de faire du noir et blanc sur fond noir. Actuellement, j'ai adapté les couleurs de la plupart des objets mais il faudra voir à l'usage ce qui est le plus beau (le but de la manoeuvre étant de faire les captures pour ma thèse en couleurs sur fond blanc et que ça donne bien).
- Ajout d'un nouvel onglet “surfaces” dans
BWin
. Celui-ci permet de mieux régler l'aspect des surfaces (c'est à dire, en pratique dans 90% des cas, des outils de contact). Les options par défaut (couleur “white smoke” avec une transparence à 0.5 et un rendu “flat” avec grille) ne donnent vraiment pas bien dans le cas du profilage. Il est donc maintenant possible de régler tous ces paramètres individuellement. Par défaut, la grille n'est pas affichée parce que j'ai ajouté un lissage de Gouraud et un effet spéculaire. La transparence peut être modifiée et on peut par exemple afficher des outils complètement opaques. - Avant de “nounoursifier”, il me reste à ajouter quelques options pour pouvoir, par exemple fixer plus facilement la taille de la fenêtre (pour que toutes mes captures soient de tailles identiques) ou la position de la caméra.
Après calcul, voici la visu qu'on obtient maintenant:
Et pour la traverse ALE:
Autres
- Ajout d'une modif de Luc concernant les fixations de la tôle dans le modèle lagrangien COPRA.
Projet
- Le nouveau widget demande de relancer
qmake
surmtQt.dll
(ou de l'ajouter à la main dans le.vcproj
).
Fichiers ajoutés/supprimés
mtGeo/mtGeoDupMesher1D.cpp added mtGeo/mtGeoPolyCurveProjectionOperator.cpp added mtGeo/ProfileBuilder.cpp added mtGeo/mtGeoDupMesher1D.h added mtGeo/mtGeoPolyCurveProjectionOperator.h added mtGeo/ProfileBuilder.h added mtViz/ColProps.h added mtViz/ColProps.cpp added mtQt/SurfaceCfgWidget.h added mtQt/SurfaceCfgWidget.cpp added mtQt/SurfaceCfgWidget.ui added toolbox/varmesh.py added
arcelor/tools/copra5/CpeCre/KitrackClean.CPE added arcelor/tools/copra5/CpeCre/TraverseClean.CPE added arcelor/tools/copra5/CpeCre/KitrackClean.CRE added arcelor/tools/copra5/CpeCre/TraverseClean.CRE added arcelor/tests/copraProfiling5/KitrackCleanALE.py added arcelor/tests/copraProfiling5/TraverseCleanALE.py added arcelor/tools/copra5/profilageCopraALE.py added
— Romain BOMAN 2009/03/31 08:54
commit/2009/03_31.txt · Last modified: 2016/03/30 15:23 by 127.0.0.1