Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:futur:marco

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

commit:futur:marco [2014/02/28 14:43]
cerquaglia [Vidéo n.1 - Treillis trois barres asymétrique:]
commit:futur:marco [2016/03/30 15:23]
Line 1: Line 1:
-===== Visualisation des éléments de ressort et masse concentrée  ===== 
  
-===== Introduction ====== 
- 
-Jusqu'à présent les éléments de ressort et de masse concentrée n'apparaissaient pas dans la visualisation: le code a été donc modifié pour qu'on ne puisse pas seulement visualiser ces deux types d'éléments, mais aussi en resortir des informations physiques, grâce à des champs créés "ad hoc", tout en éssayant de ne pas trop toucher à l'architecture générale du code telle qu'elle est pour le moment. 
- 
-Pour que tout le monde puisse avoir au moins une idée de la raison d'être des différents fichiers ajoutés, je consacre quelques lignes à une explication très superficielle de la structure de base du code pour ce qui concerne la visualisation.\\  
-La visualisation en Metafor se fait au travers de la librairie "vtk": dans le code existent donc des classes qui s'interfacent avec vtk afin de lui fournir tout ce qu'il faut pour la visualisation. En particulier, si on veut visualiser un nouveau type d'élément, on doit passer principalement par les classes suivantes: 
-  * Deux classes de type ''"DataSet"'' et ''"Cloud"'', qui se chargent de convertir les données venant de Metafor en "language" vtk (c-à-d en utilisant les classes propres à vtk), aussi bien que de créer le support géometrique "vtk" (points,lignes,surfaces,volumes) sur lequel les données seront affichées; 
-  * Une (ou plusieurs) classe qui s'occupe de la visualisation proprement dite (c-à-d affichage à l'écran), en fonction de ce que l'on veut visualiser: celle-ci peut donc être, par exemple, une classe de type ''"Mesh"'' (si on veut afficher le maillage), ''"Normals"'' (pour les normales aux surfaces), ''"SymmetryFilter"'' (si on veut faire des symmetries), etc... 
-     
-===== Eléments de ressort ====== 
- 
-Par rapport à ce qui a été expliqué dans l'introduction, pour l'élémént de ressort les classes suivantes ont été créées: 
-  * ''Element1DDataSet'' (pour l'affichage des champs continus) 
-  * ''Element1DDiscDataSet'' (pour l'affichage des champs discontinus) 
-  * ''Element1DCloud'' 
-  * ''Mesh1D'' 
-  * ''SymmetryFilter1D'' 
-La visualisation de ces éléménts se limite donc à celle du maillage. En plus, il est possible de créer des symmetries dans la visualisation.\\ 
- 
-En plus, deux champs spéciaux ont été créés pour que l'on ait aussi des informations utiles de la visu: 
-  * ''Springs Internal force'', qui affiche sur une échelle de couleurs la force interne développée dans chaque ressort; (voir [[#Vidéo n.1 - Treillis trois barres asymétrique:|vidéo n. 1]]) 
-  * ''Springs in tension'', qui est un champ qui vaut 
-    * **1** si le ressort est en tension 
-    * **-1** s'il est en compression 
-    * **0** si il est au répos.  
-    * En terme de couleurs, si les ressorts sont tous en traction où en compression ils s'afficheront tous en vert, par contre, s'il y en a qui sont en tension et d'autres qui sont en compression ils s'afficheront en rouge et en bleu réspectivement. (voir vidéo n.2) 
-{{ :commit:futur:labelsspringfields.png |}} 
- 
-==== Remarques ==== 
- 
-  - Les champs créés pour l'élément de ressort sont forcement des champs discontinus, donc pour être sûr de bien les visualiser il faut cocher la case ''Discontinous Mesh'' dans la fenêtre de ''Config'' (figure en-dessous). 
-  - Dans le cas de ''BreakingSpringMaterial'', une fois que l'élément de ressort est cassé il disparait (voir vidéo n. 3)  
- 
-{{ :commit:futur:springfieldsdiscmesh.png |}} 
-===== Eléments de masse concentrée ====== 
-Pour l'élémént de masse concentrée les classes suivantes ont été créées: 
-  * ''Element0DDataSet'' (en tous cas, aucun champ n'est affiché sur cet élément) 
-  * ''Element0DCloud'' 
-  * ''Mesh0D'' 
-  * ''SymmetryFilter0D'' 
- 
-Aucun champs n'est affiché pour le moment sur les éléments de masse concentrée. 
- 
-==== Remarques ==== 
- 
-  - Par default les éléménts de masse sont visualisés comme des <<gros>> points. Cependant, si on veut <<faire joli>>, on peut activer la case ''Balls'' (figure ci-dessous) dans la fenêtre de ''Config'', afin de les visualiser comme des cubes 3D. 
- 
- 
-{{ :commit:futur:concentratedmassballs.png |}} 
-===== Vidéos ====== 
- 
-==== Vidéo n.1 - Treillis trois barres asymétrique: ==== 
- 
- 
-<html> 
-<iframe width="640" height="360" src="//www.youtube.com/embed/hGS27yONLjc?feature=player_detailpage" frameborder="0" allowfullscreen></iframe> 
-</html> 
- 
-=== Vidéo n.2 - Visualisation de ressorts en tension et en compression: === 
- 
- 
-<html> 
-<iframe width="640" height="360" src="//www.youtube.com/embed/4CM91q5ahB0?feature=player_detailpage" frameborder="0" allowfullscreen></iframe> 
-</html> 
- 
-=== Vidéo n.3 - Rupture d'un élément de ressort: === 
- 
- 
-<html> 
-<iframe width="640" height="360" src="//www.youtube.com/embed/V6qDYQoni-o?feature=player_detailpage" frameborder="0" allowfullscreen></iframe> 
-</html> 
-===  
-Vidéo n.4 - Instabilité d'un treillis deux barres: === 
- 
- 
-<html> 
-<iframe width="640" height="360" src="//www.youtube.com/embed/1NercUdGJ7k?feature=player_detailpage" frameborder="0" allowfullscreen></iframe> 
-</html> 
-===== Fichiers ajoutés/supprimés ===== 
-<code>  
-A oo_meta\mtDrawables\Elem0DDataSet.cpp 
-A oo_meta\mtDrawables\Elem0DDataSet.h 
-A oo_meta\mtDrawables\Elem1DDataSet.cpp 
-A oo_meta\mtDrawables\Elem1DDataSet.h 
-A oo_meta\mtDrawables\Elem1DDiscDataSet.cpp 
-A oo_meta\mtDrawables\Elem1DDiscDataSet.h 
-A oo_meta\mtDrawables\Element0DCloud.cpp 
-A oo_meta\mtDrawables\Element0DCloud.h 
-A oo_meta\mtDrawables\Element1DCloud.cpp 
-A oo_meta\mtDrawables\Element1DCloud.h 
-A oo_meta\mtDrawables\Mesh0D.cpp 
-A oo_meta\mtDrawables\Mesh0D.h 
-A oo_meta\mtDrawables\Mesh1D.cpp 
-A oo_meta\mtDrawables\Mesh1D.h 
-A oo_meta\mtDrawables\SymmetryFilter0D.cpp 
-A oo_meta\mtDrawables\SymmetryFilter0D.h 
-A oo_meta\mtDrawables\SymmetryFilter1D.cpp 
-A oo_meta\mtDrawables\SymmetryFilter1D.h 
- 
- 
-</code> 
- 
-===== Tests ajoutés/supprimés ===== 
- 
- 
-<code>  
-A oo_meta\apps\mechanisms\amor3d.dat 
-A oo_meta\apps\mechanisms\amor3dLinear.py 
-A oo_meta\apps\mechanisms\amor3dNonLinear.py 
-A oo_meta\apps\mechanisms\massSpring2d.py 
-A oo_meta\apps\mechanisms\massSpring3d2.py 
-A oo_meta\apps\mechanisms\massSpring3d2NewmarkVAConsistant.py 
-A oo_meta\apps\mechanisms\massSpring3dDiss.py 
-A oo_meta\apps\mechanisms\massSpring3dRotation.py 
-A oo_meta\apps\mechanisms\massSpring3dRotationRupture.py 
-A oo_meta\apps\mechanisms\spring2d1.dat 
-A oo_meta\apps\mechanisms\spring2d1.py 
-A oo_meta\apps\mechanisms\spring2d2.dat 
-A oo_meta\apps\mechanisms\spring2d2.py 
-A oo_meta\apps\mechanisms\spring2d3.py 
-A oo_meta\apps\mechanisms\spring2DCli0.py 
-A oo_meta\apps\mechanisms\spring2DCli1Li02.py 
-A oo_meta\apps\mechanisms\spring2DCli2Li02.py 
-A oo_meta\apps\mechanisms\spring2DCli3Li02.py 
-A oo_meta\apps\mechanisms\spring2DNlCli0.py 
-A oo_meta\apps\mechanisms\spring2DNlCli1Li02.py 
-A oo_meta\apps\mechanisms\spring2DNlCli2Li02.py 
-A oo_meta\apps\mechanisms\spring2DNlCli3Li02.py 
-A oo_meta\apps\mechanisms\spring3DCli0.py 
-A oo_meta\apps\mechanisms\spring3DCli1Li02.py 
-A oo_meta\apps\mechanisms\spring3DCli2Li02.py 
-A oo_meta\apps\mechanisms\spring3DCli3Li02.py 
-A oo_meta\apps\mechanisms\spring3DNlCli0.py 
-A oo_meta\apps\mechanisms\spring3DNlCli1Li02.py 
-A oo_meta\apps\mechanisms\spring3DNlCli2Li02.py 
-A oo_meta\apps\mechanisms\spring3DNlCli3Li02.py 
-A oo_meta\apps\mechanisms\spring3d1.dat 
-A oo_meta\apps\mechanisms\spring3d1.py 
-A oo_meta\apps\mechanisms\spring3d2.dat 
-A oo_meta\apps\mechanisms\spring3d2.py 
-A oo_meta\apps\mechanisms\spring3d3.py 
-A oo_meta\apps\mechanisms\spring3dPrescribedLoad2.py 
-A oo_meta\apps\mechanisms\spring3dRup.dat 
-A oo_meta\apps\mechanisms\spring3dRup.py 
-A oo_meta\apps\mechanisms\springMass3dRupt.py 
-A oo_meta\apps\mechanisms\threeSprings3dPrescribedLoadFx.py 
-A oo_meta\apps\mechanisms\threeSprings3dPrescribedLoadFxyz.py 
-A oo_meta\apps\mechanisms\threeSpringsTruss.py 
-A oo_meta\apps\mechanisms\threeSpringsTrussAsym.py 
-A oo_meta\apps\mechanisms\threeSpringsTrussAsym2.py 
-A oo_meta\apps\mechanisms\twoSprings3d.py 
-A oo_meta\apps\mechanisms\twoSpringsTrussInstability.py 
- 
-R oo_meta\apps\bQs\amor3d.dat 
-R oo_meta\apps\bQs\amor3dLinear.py 
-R oo_meta\apps\bQs\amor3dNonLinear.py 
-R oo_meta\apps\bQs\spring2d1.dat 
-R oo_meta\apps\bQs\spring2d1.py 
-R oo_meta\apps\bQs\spring2d2.dat 
-R oo_meta\apps\bQs\spring2d2.py 
-R oo_meta\apps\bQs\spring2d3.py 
-R oo_meta\apps\bQs\spring3d1.dat 
-R oo_meta\apps\bQs\spring3d1.py 
-R oo_meta\apps\bQs\spring3d2.dat 
-R oo_meta\apps\bQs\spring3d2.py 
-R oo_meta\apps\bQs\spring3d3.py 
-R oo_meta\apps\bQs\spring3dRup.dat 
-R oo_meta\apps\bQs\spring3dRup.py 
-R oo_meta\apps\imp\massSpring2d.py 
-R oo_meta\apps\imp\massSpring3d.py 
-R oo_meta\apps\imp\massSpring3d1.py 
-R oo_meta\apps\imp\massSpring3d2.py 
-R oo_meta\apps\imp\massSpring3d2NewmarkVAConsistant.py 
-R oo_meta\apps\imp\massSpring3dConsConstant.py 
-R oo_meta\apps\imp\massSpring3dConsNonLinear.py 
-R oo_meta\apps\imp\massSpring3dDiss.py 
-R oo_meta\apps\imp\massSpring3dRotation.py 
-R oo_meta\apps\imp\massSpring3dRotationRupture.py 
-R oo_meta\apps\qs\spring2DCli0.py 
-R oo_meta\apps\qs\spring2DCli1Li02.py 
-R oo_meta\apps\qs\spring2DCli2Li02.py 
-R oo_meta\apps\qs\spring2DCli3Li02.py 
-R oo_meta\apps\qs\spring2DNlCli0.py 
-R oo_meta\apps\qs\spring2DNlCli1Li02.py 
-R oo_meta\apps\qs\spring2DNlCli2Li02.py 
-R oo_meta\apps\qs\spring2DNlCli3Li02.py 
-R oo_meta\apps\qs\spring3DCli0.py 
-R oo_meta\apps\qs\spring3DCli1Li02.py 
-R oo_meta\apps\qs\spring3DCli2Li02.py 
-R oo_meta\apps\qs\spring3DCli3Li02.py 
-R oo_meta\apps\qs\spring3DNlCli0.py 
-R oo_meta\apps\qs\spring3DNlCli1Li02.py 
-R oo_meta\apps\qs\spring3DNlCli2Li02.py 
-R oo_meta\apps\qs\spring3DNlCli3Li02.py 
- 
-</code>  
- --- //[[MarcoLucio.Cerquaglia@ulg.ac.be|Marco Lucio Cerquaglia]] 2014/02/26 // 
commit/futur/marco.txt · Last modified: 2016/03/30 15:23 (external edit)