======= Commit 2017-02-20 =======
======Sticking element : ALE, extracteurs et visualisation + nouveau ReZoner======
=====Contexte=====
Les industriels ont couramment recours, en profilage, à la soudure en ligne pour la mise en forme de profilés à section droite fermée (voir figure ci-dessous). L’objectif de ce commit est la prise en compte, dans nos modèles ALE du profilage, d’un “simple” collage des rives.
Pour ce faire, les ''sticking elements'' qui avaient initialement été développés pour le collage des aubes sur le tambour du modèle blisk (voir commit [[commit:2016:01_05|2537]]) sont étendus au formalisme ALE.
{{ :commit:futur:bavoletalewelding.png?900 |}}
En outre, les développements apportés aux ''sticking elements'' dans ce commit sont essentiels avant d'entamer les prochains calculs d'interaction aube/carter SAB :
* ajout de nouveaux extracteurs,
* visualisation de champs scalaire et vectoriel,
* les forces de collage sont basculées des forces internes en forces externes (possible réduction du nombre d’itérations mécaniques à précision sur le résidu inchangée vu la contribution supplémentaire de la force de collage dans le diviseur du résidu).
=====Extension au formalisme ALE=====
L'extension des ''sticking elements'' au formalisme ALE consiste au repositionnement du point de collement dans le post-step du pas Eulérien.
Il est important de noter que les forces de collage ne sont dès à présent plus considérées comme des forces internes mais comme des forces externes. Ce changement de choix se justifie pour permettre le repositionnement du point de collement dans le post-step du pas Eulérien.
Durant le post-step ALE, les opérations successives sont les suivantes :
- La force de collage dans la configuration remaillée est recalculée comme la somme de la force interne convectée et de la force d’inertie convectée.
- Mise à jour éventuelle de l'aire de collage nodale sur la configuration remaillée.
- Mise à jour du point de collement à partir de la force de collage équilibrée.
- Recherche de l'élément maître et recalcul des coordonnées réduites à partir de la position corrigée du point de collement.
- Modification éventuelle des coordonnées réduites selon les options de l’utilisateur.
- Mise à jour du flag de reconstruction de la connectivité si l'élément maître a changé.
La recherche géométrique de l’élément maître est remontée de la méthode ''fillLocel()'' à la méthode ''toDofSet()'' juste avant l’appel du ''fillLocel()''. C'est un choix plus logique pour l'enchaînement des opérations lors du post-step ale.
=====Extracteurs=====
* Ajout d'un extracteur de la force de collage sur l'entité esclave (''StickingForceValueExtractor'').
* Ajout d'un extracteur de la longueur du ressort de l'élément de collage (distance entre nœud esclave et point de collement) (''StickingSpringLengthValueExtractor'').
=====Visualisation=====
Affichage dans la fenêtre VizWin :
* du nœud esclave de l'élément de collage via le nouveau bouton dans la fenêtre BWin (voir figure ci-dessous),
* de la force de collage agissant sur le nœud esclave,
* de l'aire de collage au nœud esclave (scalar0DValues et scalarValues).
{{ :commit:futur:bwinsticking.png?500 |}}
=====ReZoner à coordonnées cartésiennes constantes=====
''SplineReZoner'' est un remailleur de spline à coordonnées curvilignes constantes.
Si au cours de la simulation, la spline s’allonge, la remailler à coordonnées curvilignes constantes peut poser problème. Il est désormais possible de remailler la spline à coordonnées cartésiennes constantes (''SplineCartCurveReZoner'').
=====Batterie=====
Dans la batterie, j'ai ajouté les petits cas-tests du papier IJSS qui montrent le bon comportement du collage en formalisme ALE (avec option battery pour réduire le temps CPU : déplacement convectif total réduit).
Sollicitation dans le plan :
* collage simple passe maître/esclave,
* collage simple passe esclave/maître,
* collage double passe,
* conditions aux limites de symétrie.
Sollicitation hors plan :
* collage simple passe maître/esclave,
* collage simple passe esclave/maître,
* collage double passe.
===== Fichiers ajoutés/supprimés =====
Added : oo_meta\mtALE\SplineCartCurveReZoner.h/.cpp
Added : oo_meta\mtDrawables\SFScalars.h/.cpp
Added : oo_meta\mtDrawables\SFVectors.h/.cpp
Added : oo_meta\mtDrawables\StickingElementCloud.h/.cpp
Added : oo_meta\mtDrawables\StickingElementDataSet.h/.cpp
Added : oo_meta\mtDrawables\StickingInteractionDrawable.h/.cpp
Added : oo_meta\mtDrawables\StickingMesh.h/.cpp
Added : oo_meta\mtElements\StickingForceValueExtractor.h/.cpp
Added : oo_meta\mtElements\StickingInteractionValueExtractor.h/.cpp
Added : oo_meta\mtElements\StickingSpringLengthValueExtractor.h/.cpp
===== Tests ajoutés/supprimés =====
Added : oo_meta\apps\sticking\sheets3dALE.py
Added : oo_meta\apps\sticking\sheets3dALEInPlane.py
Added : oo_meta\apps\sticking\sheets3dALEInPlaneDP.py
Added : oo_meta\apps\sticking\sheets3dALEInPlaneFixFormer.py
Added : oo_meta\apps\sticking\sheets3dALEInPlaneFixRevised.py
Added : oo_meta\apps\sticking\sheets3dALEInPlaneRev.py
Added : oo_meta\apps\sticking\sheets3dALEOutPlane.py
Added : oo_meta\apps\sticking\sheets3dALEOutPlaneDP.py
Added : oo_meta\apps\sticking\sheets3dALEOutPlaneRev.py
--- //[[Y.Crutzen@ulg.ac.be|Yanick Crutzen]] 2017/02/20 //