====== Commit 2010-03-06 ====== Ce commit rassemble les derniers développements que j'ai faits lors de la rédaction de mon manuscrit de thèse. Je vais procéder en deux temps. Ce commit concerne uniquement le code source. Je commiterai ensuite les cas-tests. ===== Modifs ===== ==== MirrorReZoner2 ==== Ce nouveau ''ReZoner'' ALE permet de repositionner les nœuds sur une entité géométrique (une courbe généralement) en "copiant" les coordonnées des nœuds d'une autre entité. Ça correspond au repositionnement "miroir" de la thèse de JPP. rez = MirrorReZoner2(target, modele, comp, rev) * ''target'' : entité cible * ''modele'' : l'entité qu'on copie (il faut le même nombre de nœuds que ''target'') * ''comp'' : la composante à copier (''TX'', ''TY'' ou ''TZ'') * ''rev'' : parcourt la liste des noeuds à l'envers (''True'' ou ''False'') J'utilise ce ''ReZoner'' pour la barre de Taylor dans ma thèse (pas encore commité). ==== Calcul des flux convectifs ALE ==== J'ai interfacé une méthode qui permet de choisir la manière dont les flux convectifs ALE sont calculés. Normalement, il n'est pas nécessaire de modifier ces paramètres sauf pour analyser finement ce qui se passe. aleMethod.setFluxMethod(mth) où ''mth'' peut valoir: * ''FLX_NORLAG'': calcul des flux en se basant sur la normale lagrangienne aux facettes. * ''FLX_NOREUL'': calcul des flux en se basant sur la normale eulérienne aux facettes. * ''FLX_NORMOY'': calcul des flux en se basant sur la normale moyenne. * ''FLX_REAL'' : calcul des flux exacts (défaut). Cette liberté sur le calcul des flux se traduit par une légère pertes de perf. sur les cas tests ALE. ==== Calcul des flux parasites aux frontières ==== Là aussi, cette option est seulement utile pour faire de la démo dans le cadre d'un manuscrit de thèse. Les valeurs par défaut fonctionnent très bien. aleMethod.setBcFluxMethod(mth) où ''mth'' peut valoir: * ''BCFLX_ZERO'': Les flux sont considérés nuls * ''BCFLX_CST'': Les flux parasites sont pris en compte et calculés en considérant une reconstruction constante du champ inconnu (défaut). * ''BCFLX_LINEAR'': Les flux parasites sont pris en compte et calculés en considérant une reconstruction linéaire du champ inconnu. ==== Timer ALE ==== L'ALE est maintenant chronométrée. Un bilan récapitulatif du coût des différentes phases est simplement affiché en fin de calcul. ==== Splines / remaillage ALE spline ==== Les splines (''CubicSpline'') et le repositionnement spline (''SplineCurveReZoner'') peuvent être paramétrés: rez = SplineCurveReZoner(curve) rez.setTangentType(mth) avec ''mth'': * ''SPLINE_LS'' : Spline de McConnalogue (LS pour Laurent Stainier) * ''SPLINE_LITT'' : Les splines du cours de Litt (est-il toujours vivant?) * ''SPLINE_DISC'' : Tangentes nulles => ligne brisée (correspond à ce que j'appelle "repositionnement naïf" dans ma thèse) ==== Loi de frottement à saturation variable ==== J'ai codé de manière un peu crade une loi de Tresca qui dépend de la limite élastique (ou la limite d'élasticité pour JPP ^_^) courante extrapolée au nœud de contact. Puisque c'est mal foutu, le code est commentarisé dans ''oo_meta\mtElements\boundaries\ContactElement.inl''. Idéalement, il faudrait nettoyer tout ça... ==== Bugs ==== * ALE: Recalcul de la matrice des masses dans ''IsoTherStaggeredTmTimeIntegration'' dans le cas de l'utilisation de l'ALE. * Batterie: Correction de ''dat2py'' pour la batterie multithread (ca merdouillait dans les nouvelles pierrepolades). * Batterie: Correction du multithread * Batterie: Correction des matlabs qui freezent sous Windows en multi-cpu avec la version R2009a. ==== Écrouissage mixte en ALE ==== Il est possible de faire de l'écrouissage cinématique avec de l'ALE (''EvpMixtHHypoGpState''). Le tenseur des backstress (1 seul) est convecté avec le reste des grandeurs aux points de Gauss. ==== Maillage variable ==== J'ai fait quelques modifs dans ''toolbox.varmesh'' qui contient des classes permettant de gérer facilement des zones de raffinement de maillage. Testé dans le modèle de planage notamment. ==== Modèle de profilage lagrangien ==== Pour le travail du TFiste de Barbara Rossi, j'ai ajouté la sortie des grandeurs ''IF_YIELD'' et ''IF_EPL'' sur la section de mesure du modèle de profilage lagrangien. ===== Projet ====== ===== Fichiers ajoutés/supprimés ====== mtALE/MirrorReZoner2.cpp added mtALE/MirrorReZoner2.h added --- //[[romain.boman@gmail.com|Romain BOMAN]] 2010/03/06 16:25//