Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2010:03_06

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)

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)

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 2010/03/06 16:25

commit/2010/03_06.txt · Last modified: 2016/03/30 15:23 (external edit)