From: nicolas Date: Thu, 27 Jun 2013 15:33:25 +0000 (+0000) Subject: complements X-Git-Tag: V7_3_0a1~68 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=657c02dbcb5f2da14bdda6757e311a0f29c85040;p=modules%2Fhomard.git complements --- diff --git a/doc/en/demarrage_rapide.rst b/doc/en/demarrage_rapide.rst index 620a1862..cb1f3368 100644 --- a/doc/en/demarrage_rapide.rst +++ b/doc/en/demarrage_rapide.rst @@ -71,7 +71,7 @@ The adaption goes on with the same criteria; the hypothesis "*Hypo_1*" is kept. .. image:: images/intro_39.png :align: center -As before, the iteration is computed ans the results are found into the directory of the case, including the mesh ``maill.02.med``. +As before, the iteration is computed and the results are found into the directory of the case, including the mesh ``maill.02.med``. .. image:: ../images/intro_40.png :align: center diff --git a/doc/en/gui_create_case.rst b/doc/en/gui_create_case.rst index 6399728d..bfbdb017 100644 --- a/doc/en/gui_create_case.rst +++ b/doc/en/gui_create_case.rst @@ -4,13 +4,13 @@ The creation of a case ====================== .. index:: single: case -La définition du cas se fait par la donnée des informations suivantes : +The definition of a case is done with the following data: - - Un nom - - Un répertoire - - Le fichier du maillage initial - - Le type de conformité pour la série d'adaptations envisagées - - Les éventuelles frontières courbes à respecter + - A name + - A directory + - The file of the initial mesh + - The type of conformity for the serie of adaptations + - Some curved boundaries .. image:: images/create_case_1.png :align: center @@ -18,11 +18,11 @@ La d Name of the case """""""""""""""" -Un nom de cas est proposé automatiquement : Case_1, Case_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour un autre cas. +A name is automatically suggested for the case: Case_1, Case_2, etc. This name can be modified. It must be a new name. The directory """"""""""""" -Le répertoire est celui qui contiendra les fichiers produits par les adaptations successives. Par défaut, rien n'est proposé. Le choix est fait, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. C'est dans ce répertoire que seront exportés les maillages au format MED, dans des fichiers de nom ``maill.xx.med``, où ``xx`` est un numéro d'ordre créé automatiquement. Ces fichiers seront visibles dans l'arbre d'études. +The directory will countain all the files producted by the successive adaptations. By default, nothing is suggested. The choice is made either by giving a name into the text zone or by a selection through the search window. In this directory, the MED files for the adapted mesh will be stored, with name ``maill.xx.med``, where ``xx`` is a rank number automatically created. These files can be seen into the object browser. .. image:: images/create_case_2.png :align: center @@ -32,51 +32,54 @@ Le r The initial mesh """""""""""""""" -Le maillage initial doit se trouver dans un fichier au format MED. Classiquement, il aura été produit par le logiciel de calcul avec lequel on travaille. Mais il peut également avoir été créé avec le module SMESH et exporté au format MED. Le nom du fichier peut être fourni, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. +The initial mesh must be stored into a MED file. Usually, it is produced by the software that solves the physical problem. But it also can be created by the module SMESH and exported with the MED format. The name of the file is choosen either by giving a name into the text zone or by a selection through the search window. + .. image:: images/create_case_3.png :align: center .. note:: - Le fichier ne doit contenir qu'un seul maillage. + Only one mesh into the file. .. warning:: - Le maillage ne doit pas être lui-même le produit d'une adaptation de maillage par HOMARD, sous peine de perdre la cohérence entre les différents niveaux de raffinement/déraffinement + The initial mesh must not be itself the product of an adaptation by HOMARD. If it is, the coherence between the different levels of refinement will be lost. + .. index:: single: conformity Type of conformity """""""""""""""""" -Les itérations qui seront calculées pour ce cas devront toutes respecter le même comportement vis-à-vis de la conformité. +The future iterations for this case must respect the the same behaviour regarding the type of conformity. + +The default option, 'conformal', implies that the meshes produced by HOMARD will be conformal, as expected in the finite element method. This is a classical choice for most of the simulation software with the finite element method. -L'option par défaut, 'conforme', implique que les maillages produits par HOMARD seront conformes au sens des éléments finis. C'est le choix classique de la plupart des logiciels de simulation par éléments finis. +Nevertheless, if the computation is available with non conformal meshes, 3 possibilities are available: -Néanmoins, si le calcul est possible avec des maillages non conformes, on a le choix entre 3 possibilités : .. image:: images/create_case_4.png :align: center -* 1 noeud par maille : une maille ne peut posséder qu'un seul noeud de non conformité avec ses voisines. -* 1 noeud par arête : chaque arête d'une maille peut être découpée sans que la maille voisine par cette arête ne le soit. -* quelconque : aucune limitation sur les raccords de conformité d'une maille à l'autre. +* 1 node per element: an element must not have more than one hanging node with its neighbours. +* 1 node per edge: every single edge of an element ban be split once while its neighbour is not. +* free: no limit for the number of hanging node. .. index:: single: boundary The boundaries """""""""""""" -Quand le bord du domaine est courbe, HOMARD sait placer les nouveaux noeuds sur ces frontières pour éviter des singularités artificielles. Cette technique est aussi applicable à une courbure intérieure à un domaine. +If the limit of the domain is curved, HOMARD can put the new nodes onto these curved limits to avoid some artificial singularities. This technique is effective for external limits as well for internal limits. -Deux cas de figure sont présents : +Two situations: -* courbe 1D : cette courbe peut être définie dans un plan, par exemple pour un calcul 2D. Elle peut également être définie dans l'espace 3D, par exemple pour l'intersection de deux surfaces. Une ligne à suivre est décrite de manière discrète. -* surface : une surface à suivre est décrite de manière analytique. +* 1D curve: this curve may be defined into a plane, for example for a 2D calculation. It can also be defined into the 3D space, for example to describe the intersection of two surfaces. Such a line is defined with a discrete desription. +* a surface: such a surface is defined with an analytical description. -On cochera le ou les boutons voulus : +Check the button: .. image:: images/create_case_5.png :align: center -La définition des frontières est décrite dans :ref:`gui_create_boundary`. +The definition of the boundaries is described in :ref:`gui_create_boundary`. .. index:: single: pyramid diff --git a/doc/en/gui_usage.rst b/doc/en/gui_usage.rst index 16b14ae9..d662319c 100644 --- a/doc/en/gui_usage.rst +++ b/doc/en/gui_usage.rst @@ -7,12 +7,12 @@ User's guide of the graphical interface Activation of the module HOMARD """"""""""""""""""""""""""""""" -Pour utiliser le module HOMARD, deux façons existent : +Two ways can be used to launch the module HOMARD: -#. en activant l'onglet HOMARD dans la liste des modules, -#. en cliquant sur le bouton HOMARD dans la barre d'outils. +#. by activating the tab HOMARD into the list of the modules +#. by clicking the button HOMARD into tool bar -L'utilisateur a alors le choix entre créer une nouvelle étude ou en ouvrir une qui a été précédemment enregistrée, selon le principe qui a été retenu pour tous les autres modules de SALOME. +The user can choose either to start a new study or to open an old stored one, as it can be done for every module of SALOME. .. image:: images/homard_1.png :align: center @@ -20,7 +20,7 @@ L'utilisateur a alors le choix entre cr Definition of an adaptation """"""""""""""""""""""""""" -Une fois que HOMARD a été activé, la permière action consiste à créer un cas. Il s'agit de sélectionner le maillage initial de la suite d'adaptations envisagée (voir :ref:`gui_create_case`). A partir de ce cas, on définira les itérations successives (voir :ref:`gui_create_iteration`) à partir des hypothèses (voir :ref:`gui_create_hypothese`). Les adaptations sont lancées tel que décrit dans :ref:`gui_homard`. +Once the activation of the module HOMARD is done, a case is created. The initial mesh of the series of adapted meshes is selected (see :ref:`gui_create_case`). From this case, the successives iterations are defined (see :ref:`gui_create_iteration`) with hypotheses (see :ref:`gui_create_hypothese`). The adaptations are launched as described in :ref:`gui_homard`. User's guide of the graphical interface diff --git a/doc/fr/demarrage_rapide.rst b/doc/fr/demarrage_rapide.rst index 43558581..d443a8a8 100644 --- a/doc/fr/demarrage_rapide.rst +++ b/doc/fr/demarrage_rapide.rst @@ -1,7 +1,7 @@ .. _demarrage_rapide: Démarrage rapide -================ +################ .. index:: single: démarrage .. index:: single: exemple diff --git a/doc/fr/divers.rst b/doc/fr/divers.rst index e0e8c58c..5bad0d1c 100644 --- a/doc/fr/divers.rst +++ b/doc/fr/divers.rst @@ -1,16 +1,16 @@ .. _divers: Divers -====== +###### Références -"""""""""" +********** .. index:: single: référence Le logiciel HOMARD a fait l'objet de publications techniques au cours de conférences ces dernières années. Les références des principaux documents sont présentées ici. Référence principale -^^^^^^^^^^^^^^^^^^^^ +==================== Pour une référence à HOMARD, utiliser : @@ -20,7 +20,7 @@ G. Nicolas and T. Fouquet, Adaptive Mesh Refinement for Conformal Hexahedral Mes Découpage de maillage -^^^^^^^^^^^^^^^^^^^^^ +===================== * G. Nicolas, T. Fouquet, Conformal hexaedral meshes and adaptive mesh refinement, VI International Conference on Adaptive Modeling and Siumulation, "*ADMOS 2013*", J.P. Moitinho de Almeida, P. Diez, C. Tiago and N. Pares (Eds), Lisbonne, pp. 515-526, 2013 * G. Nicolas, T. Fouquet, Hexaedral mesh adaptation for finite volume methods, III International Conference on Adaptive Modeling and Siumulation, "*ADMOS 2007*", K. Runesson, P. Diez (Eds), Goteborg, pp. 174-177, 2007 @@ -28,7 +28,7 @@ D * G. Nicolas, F. Arnoux-Guisse, O. Bonnin, Un logiciel d'adaptation de maillage en 2D et 3D, 27ème Congrès d'Analyse Numérique, Super-Besse, France, 29 mai-2 juin 1995. Estimateurs d'erreurs -^^^^^^^^^^^^^^^^^^^^^ +===================== * A. Ern, S. Meunier, A posteriori error analysis of Euler-Galerkin approximations to coupled elliptic-parabolic problems", ESAIM: M2AN 43 (2009) 353-375. * J. Delmas, Stratégies de controle d'erreur en calcul de structures industrielles., Thèse de l'Université de Picardie, France, avril 2008 @@ -41,12 +41,12 @@ Estimateurs d'erreurs * O. Bonnin, B. Métivet, G. Nicolas, F. Arnoux-Guisse, L. Léal de Sousa, Adaptive Meshing for N3S Fluid Mechanics Code, "*Computational Fluid Dynamics '94*", ECCOMAS Stuttgart, Allemagne, pp. 201-208, Wiley 1994. Applications -^^^^^^^^^^^^ +============ * S. Meunier, R. Fernandes, Mesh Adaptation for Coupled Hydro-Mechanical Industrial Studies, V International Conference on Adaptive Modeling and Siumulation, "*ADMOS 2011*", D. Aubry, P. Diez, B. Tie and N. Pares (Eds), Paris, pp. 337-338, 2011 * O. Hartmann, O. Bonnin, D. Gasser, An Adaptive Meshing for Turbomachinery Geometries, "*Computational Fluid Dynamics '98*", ECCOMAS Athènes, Grèce, Wiley 1998. Evolutions du module -"""""""""""""""""""" +******************** .. index:: single: évolution On trouvera ici les principales évolutions de HOMARD à partir de la première version livrée dans SALOME 6.5. diff --git a/doc/fr/glossaire.rst b/doc/fr/glossaire.rst index efbcbeb9..8994bef4 100644 --- a/doc/fr/glossaire.rst +++ b/doc/fr/glossaire.rst @@ -1,7 +1,7 @@ .. _glossaire: Glossaire -========= +######### .. glossary:: :sorted: diff --git a/doc/fr/gui_create_boundary.rst b/doc/fr/gui_create_boundary.rst index a6d4d605..6fdbdda9 100644 --- a/doc/fr/gui_create_boundary.rst +++ b/doc/fr/gui_create_boundary.rst @@ -1,7 +1,7 @@ .. _gui_create_boundary: La frontière -============ +############ .. index:: single: boundary .. index:: single: frontière @@ -82,7 +82,7 @@ Il existe trois types de fronti Un cylindre -""""""""""" +----------- .. index:: single: cylindre Le cylindre est défini par un point de l'axe, son axe et son rayon. L'axe est défini par un vecteur. La norme de ce vecteur n'est pas nécessairement égale à 1 ; de même, son orientation n'a aucune importance. Un nom de frontière est proposé automatiquement : Boun_1, Boun_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour une autre frontière. @@ -91,7 +91,7 @@ Le cylindre est d :align: center Une sphère -"""""""""" +---------- .. index:: single: sphere La sphère est définie par son centre et son rayon. Un nom de frontière est proposé automatiquement : Boun_1, Boun_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour une autre frontière. @@ -102,7 +102,7 @@ La sph .. index:: single: arbre d'étude Un cône -""""""" +------- .. index:: single: cone Un cône est défini de deux manières différentes : le centre, l'axe et l'angle d'ouverture en degré ou par deux points centrés sur l'axe et le rayon associé. Un nom de frontière est proposé automatiquement : Boun_1, Boun_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour une autre frontière. @@ -120,7 +120,7 @@ Cr .. index:: single: arbre d'étude L'arbre d'étude -""""""""""""""" +=============== A l'issue de cette création de frontières, l'arbre d'études a été enrichi. On y trouve toutes les frontières créées, identifiées par leur nom, avec la possibilité de les éditer. .. image:: images/create_boundary_1.png @@ -128,7 +128,7 @@ A l'issue de cette cr Méthodes python correspondantes -""""""""""""""""""""""""""""""" +=============================== Consulter : :ref:`tui_create_boundary` diff --git a/doc/fr/gui_create_case.rst b/doc/fr/gui_create_case.rst index 1390947b..586ba401 100644 --- a/doc/fr/gui_create_case.rst +++ b/doc/fr/gui_create_case.rst @@ -1,7 +1,7 @@ .. _gui_create_case: La création d'un cas -==================== +#################### .. index:: single: cas La définition du cas se fait par la donnée des informations suivantes : @@ -17,11 +17,11 @@ La d Le nom du cas -""""""""""""" +************* Un nom de cas est proposé automatiquement : Case_1, Case_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour un autre cas. Le répertoire -""""""""""""" +************* Le répertoire est celui qui contiendra les fichiers produits par les adaptations successives. Par défaut, rien n'est proposé. Le choix est fait, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. C'est dans ce répertoire que seront exportés les maillages au format MED, dans des fichiers de nom ``maill.xx.med``, où ``xx`` est un numéro d'ordre créé automatiquement. Ces fichiers seront visibles dans l'arbre d'études. .. image:: images/create_case_2.png @@ -31,7 +31,7 @@ Le r .. index:: single: MED Le maillage initial -""""""""""""""""""" +******************* Le maillage initial doit se trouver dans un fichier au format MED. Classiquement, il aura été produit par le logiciel de calcul avec lequel on travaille. Mais il peut également avoir été créé avec le module SMESH et exporté au format MED. Le nom du fichier peut être fourni, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. .. image:: images/create_case_3.png @@ -46,7 +46,7 @@ Le maillage initial doit se trouver dans un fichier au format MED. Classiquement .. index:: single: type de conformité Le type de conformité -""""""""""""""""""""" +********************* Les itérations qui seront calculées pour ce cas devront toutes respecter le même comportement vis-à-vis de la conformité. L'option par défaut, 'conforme', implique que les maillages produits par HOMARD seront conformes au sens des éléments finis. C'est le choix classique de la plupart des logiciels de simulation par éléments finis. @@ -63,7 +63,7 @@ N .. index:: single: frontière Les frontières courbes -"""""""""""""""""""""" +********************** Quand le bord du domaine est courbe, HOMARD sait placer les nouveaux noeuds sur ces frontières pour éviter des singularités artificielles. Cette technique est aussi applicable à une courbure intérieure à un domaine. Deux cas de figure sont présents : @@ -83,7 +83,7 @@ La d .. _options_avancees: Les options avancées -"""""""""""""""""""" +******************** Par défaut, aucune option avancée n'est active. Néanmoins, on peut définir une oprion avancée : @@ -104,7 +104,7 @@ Si le maillage initial comporte des pyramides, il y a arr La poursuite d'un cas -===================== +********************* .. index:: single: poursuite .. index:: single: yacs @@ -141,7 +141,7 @@ Si on souhaite partir d'une it L'arbre d'étude -""""""""""""""" +*************** A l'issue de cette création de cas, l'arbre d'études a été enrichi de ce nouveau cas. On y trouve l'itération initiale, identifiée par le nom du maillage qui a été lu dans le fichier fourni. .. image:: images/create_case_6.png @@ -150,6 +150,6 @@ A l'issue de cette cr Méthodes python correspondantes -""""""""""""""""""""""""""""""" +******************************* Consulter :ref:`tui_create_case` diff --git a/doc/fr/gui_create_hypothese.rst b/doc/fr/gui_create_hypothese.rst index 1fc08f2b..55689453 100644 --- a/doc/fr/gui_create_hypothese.rst +++ b/doc/fr/gui_create_hypothese.rst @@ -1,7 +1,7 @@ .. _gui_create_hypothese: L'hypothèse -=========== +########### .. index:: single: hypothèse L'hypothèse contient toutes les paramètres de pilotage d'une adaptation d'un maillage. Cette opération permet de réaliser l'itération à laquelle elle est attachée. @@ -17,15 +17,15 @@ Il existe trois classes d'hypoth Nom de l'hypothèse -"""""""""""""""""" +****************** Un nom de l'hypothèse est proposé automatiquement : Hypo_1, Hypo_2, etc. Ce nom peut être modifié. Il ne doit pas avoir été utilisé pour une hypothèse précédente. Adaptation uniforme -""""""""""""""""""" +******************* Par défaut on propose un raffinement uniforme. Quand on part d'un maillage qui a déjà été raffiné, l'option de déraffinement supprimera les mailles produites. Adaptation selon un champ -""""""""""""""""""""""""" +************************* .. note:: Pour pouvoir adapter le maillage selon un champ il faut avoir au préalable désigné le fichier med contenant le champ. Cela se fait dans la fenêtre de construction de l'itération (voir :ref:`gui_create_iteration`). Le nom du fichier qui a été sélectionné est affiché sans modification possible ici : @@ -59,7 +59,7 @@ La m Adaptation selon une zone -""""""""""""""""""""""""" +************************* .. index:: single: zone Au démarrage, il faut créer une première zone par activation du bouton "*Nouveau*" (voir :ref:`gui_create_zone`) : @@ -74,7 +74,7 @@ Lorsque des zones ont d Filtrage par les groupes -"""""""""""""""""""""""" +************************ .. index:: single: groupe On peut restreindre l'application de l'hypothèse d'adaptation à des groupes. Ainsi les mailles n'appartenant pas à ces groupes ne seront pas modidiées, sauf par contamination ultérieure du raffinement pour assurer la conformité du maillage final. @@ -90,7 +90,7 @@ La liste des groupes de mailles pr Interpolation de champs -""""""""""""""""""""""" +*********************** .. index:: single: interpolation .. note:: @@ -108,7 +108,7 @@ Si on veut choisir les champs Les options avancées -"""""""""""""""""""" +******************** Si la case "Options avancées" n'est pas cochée, aucune contrainte supplémentaire n'est définie. Si la case est cochée, on définira les options avancées. @@ -124,7 +124,7 @@ Le dernier choix porte sur une sortie suppl .. index:: single: arbre d'étude L'arbre d'étude -""""""""""""""" +*************** .. index:: single: arbre d'étude L'arbre d'études contient les hypothèses créées et les itérations qui les utilisent. La description des zones qui leur sont éventuellement attachées est présente. @@ -135,5 +135,5 @@ L'arbre d' Méthodes python correspondantes -""""""""""""""""""""""""""""""" +******************************* Consulter :ref:`tui_create_hypothese` diff --git a/doc/fr/gui_create_iteration.rst b/doc/fr/gui_create_iteration.rst index 0b662fd0..ce4d4985 100644 --- a/doc/fr/gui_create_iteration.rst +++ b/doc/fr/gui_create_iteration.rst @@ -1,7 +1,7 @@ .. _gui_create_iteration: L'itération -=========== +########### .. index:: single: itération La définition d'une itération se fait par la donnée des informations suivantes : @@ -15,24 +15,24 @@ La d :align: center Le nom de l'itération -""""""""""""""""""""" +********************* Un nom de cas est proposé automatiquement : Iter_1, Iter_2, etc. Ce nom peut être modifié. Il ne doit pas avoir été utilisé pour une itération précédente. L'itération précédente -"""""""""""""""""""""" +********************** L'itération précédente est choisie dans l'arbre d'étude. Le nom du maillage correspondant sera affiché. .. index:: single: maillage;résultat Le nom du maillage résultat -""""""""""""""""""""""""""" +*************************** L'itération en cours de création produira un maillage. Ce maillage sera connu sous un nom. Ce nom est fourni en le tapant dans la zone de texte. Par défaut, on propose un nom identique à celui de l'itération précédente. .. index:: single: champ .. index:: single: MED Le champ -"""""""" +******** Pour créer ou utiliser une hypothèse d'adaptation basée sur un champ exprimé sur le maillage, on doit fournir le fichier où se trouve le champ. C'est également le cas si on veut interpoler des champs du maillage n au maillage n+1. Ce fichier est au format MED. Classiquement, il aura été produit par le logiciel de calcul avec lequel on travaille. Le nom du fichier peut être fourni, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. @@ -47,7 +47,7 @@ Dans le cas o .. index:: single: hypothèse L'hypothèse utilisée -"""""""""""""""""""" +******************** L'itération en cours pilotera l'adaptation par HOMARD selon un scénario défini dans une hypothèse. Celle-ci est choisie dans la liste des hypothèses existantes. Au démarrage, il faut créer une première hypothèse par activation du bouton "*Nouveau*" (voir :ref:`gui_create_hypothese`) : @@ -67,7 +67,7 @@ Ensuite, si une hypoth .. index:: single: arbre d'étude L'arbre d'étude -""""""""""""""" +*************** A l'issue de cette création d'itération, l'arbre d'études a été enrichi. On y trouve l'itération initiale, identifiée par le nom du maillage qui a été lu dans le fichier fourni, l'itération courante, identifiée par son nom. On trouve aussi l'hypothèse qui lui est attachée. L'icône en regard de l'itération permet de différencier les itérations calculées ou non. .. image:: images/create_iteration_6.png @@ -79,5 +79,5 @@ Quand plusieurs it :align: center Méthodes python correspondantes -""""""""""""""""""""""""""""""" +******************************* Consulter :ref:`tui_create_iteration` diff --git a/doc/fr/gui_create_zone.rst b/doc/fr/gui_create_zone.rst index b57e4725..699c957a 100644 --- a/doc/fr/gui_create_zone.rst +++ b/doc/fr/gui_create_zone.rst @@ -1,7 +1,7 @@ .. _gui_create_zone: La zone -======= +####### .. index:: single: zone .. index:: single: 2D @@ -28,11 +28,11 @@ conformit Les valeurs proposées par défaut pour les dimensions des zones tiennent compte de la géométrie du maillage. Nom de la zone -"""""""""""""" +************** Un nom de zone est proposé automatiquement : Zone_1, Zone_2, etc. Ce nom peut être modifié. Il ne doit pas avoir été déjà utilisé pour une autre zone. Un parallélépipède -"""""""""""""""""" +****************** .. index:: single: boite Le parallélépipède est obligatoirement parallèle aux axes de coordonnées. Il est défini par ses extrêmes dans chaque direction. @@ -41,7 +41,7 @@ Le parall :align: center Un cylindre -""""""""""" +*********** .. index:: single: cylindre Le cylindre est défini par son axe, un point de base positionné sur l'axe, sa hauteur et son rayon. L'axe est défini par un vecteur qui doit être correctement orienté : on retiendra le volume partant de la base dans la direction du vecteur jusqu'à la hauteur retenue. La norme de ce vecteur n'est pas nécessairement égale à 1. @@ -50,7 +50,7 @@ Le cylindre est d :align: center Un tuyau -"""""""" +******** .. index:: single: tuyau Le cylindre est défini par son axe, un point de base positionné sur l'axe, sa hauteur et ses rayons interne et externe. L'axe est défini par un vecteur qui doit être correctement orienté : on retiendra le volume partant de la base dans la direction du vecteur jusqu'à la hauteur retenue. La norme de ce vecteur n'est pas nécessairement égale à 1. @@ -59,7 +59,7 @@ Le cylindre est d :align: center Une sphère -"""""""""" +********** .. index:: single: sphere La sphère est définie par son centre et son rayon. @@ -68,7 +68,7 @@ La sph :align: center Un rectangle -"""""""""""" +************ .. index:: single: rectangle Le rectangle est obligatoirement parallèle aux axes de coordonnées. Il est défini par ses extrêmes dans chacune des directions valides. La coordonnée constante est affichée pour information, mais n'est pas modifiable. @@ -77,7 +77,7 @@ Le rectangle est obligatoirement parall :align: center Un disque -""""""""" +********* .. index:: single: disque Le disque est obligatoirement dans le plan des axes de coordonnées. Il est défini par son centre et son rayon. La coordonnée constante est affichée pour information, mais n'est pas modifiable. @@ -86,7 +86,7 @@ Le disque est obligatoirement dans le plan des axes de coordonn :align: center Un disque avec trou -""""""""""""""""""" +******************* .. index:: single: disque avec trou Le disque avec trou est obligatoirement dans le plan des axes de coordonnées. Il est défini par son centre et ses rayons externe et interne. La coordonnée constante est affichée pour information, mais n'est pas modifiable. @@ -97,5 +97,5 @@ Le disque avec trou est obligatoirement dans le plan des axes de coordonn Méthodes python correspondantes -""""""""""""""""""""""""""""""" +******************************* Consulter :ref:`tui_create_zone` diff --git a/doc/fr/gui_homard.rst b/doc/fr/gui_homard.rst index 1c95652d..71ede8a0 100644 --- a/doc/fr/gui_homard.rst +++ b/doc/fr/gui_homard.rst @@ -1,12 +1,12 @@ .. _gui_homard: Le calcul -========= +######### .. index:: single: itération .. index:: single: calcul Lancer une adaptation -""""""""""""""""""""" +********************* Lancer une adaptation s'obtient en sélectionnant l'itération à calculer. Elle est repérée par une icone "en attente". On choisit ensuite "*Calculer*" dans le menu HOMARD ou à la souris. .. image:: images/lancement_1.png @@ -15,7 +15,7 @@ Lancer une adaptation s'obtient en s .. index:: single: arbre d'étude L'arbre d'étude -""""""""""""""" +*************** A l'issue de ce calcul, l'arbre d'études a été enrichi. L'icone devant l'itération est validée. Sous l'itération, on trouve la référence aux fichiers de résultats créés, identifiés par leur nom dans le répertoire *rep* qui a été défini à la création du cas : @@ -32,7 +32,7 @@ Le fichier maill.(n+1).med est celui qui contient le maillage produit au format :align: center Consulter le résultat d'une adaptation -"""""""""""""""""""""""""""""""""""""" +************************************** Les deux fichiers de texte, Liste.n.vers.(n+1).log et apad.n.vers.(n+1).bilan, sont visibles en les sélectionnant. On choisit ensuite "*Afficher le fichier*" dans le menu HOMARD ou à la souris. .. image:: images/lancement_3.png @@ -45,6 +45,6 @@ Les deux fichiers de texte, Liste.n.vers.(n+1).log et apad.n.vers.(n+1).bilan, s "*HOMARD_EXE_PRIVATE*" définit le nom de l'exécutable dans ce répertoire, si ce nom est différent de "*homard*". Méthodes python correspondantes -""""""""""""""""""""""""""""""" +******************************* Consulter :ref:`tui_create_iteration` diff --git a/doc/fr/gui_mesh_info.rst b/doc/fr/gui_mesh_info.rst index 6ede3bcd..693a7a2f 100644 --- a/doc/fr/gui_mesh_info.rst +++ b/doc/fr/gui_mesh_info.rst @@ -1,7 +1,7 @@ .. _gui_mesh_info: Analyse de maillage -=================== +################### .. index:: single: analyse .. index:: single: information @@ -14,7 +14,7 @@ Si le maillage fait partie d'un cas enregistr Maillage à importer -""""""""""""""""""" +******************* La sélection de la fonction d'analyse est faite par le menu de la barre supérieure de la fenêtre : .. image:: images/mesh_info_1.png @@ -26,11 +26,11 @@ La fen :align: center Le nom du cas -------------- +============= Un nom de cas est proposé automatiquement : Case_1, Case_2, etc. Ce nom peut être modifié. Il ne doit pas avoir déjà été utilisé pour un autre cas. Le répertoire -------------- +============= Le répertoire est celui qui contiendra les fichiers produits par l'information. Par défaut, rien n'est proposé. Le choix est fait, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. C'est dans ce répertoire que seront exportés les fichiers d'information de nom ``Liste.log`` et ``info_av.00.bilan``. Ces fichiers seront visibles dans l'arbre d'études. .. image:: images/create_case_2.png @@ -40,7 +40,7 @@ Le r .. index:: single: MED Le maillage à analyser ----------------------- +====================== Le maillage à analyser doit se trouver dans un fichier au format MED. Le nom du fichier peut être fourni, soit en tapant le nom dans la zone de texte, soit en activant la fonction de recherche. .. image:: images/create_case_3.png @@ -53,7 +53,7 @@ Le maillage Le maillage ne doit pas être lui-même le produit d'une adaptation de maillage par HOMARD, sous peine de perdre l'analyse des différents niveaux de raffinement/déraffinement Options d'analyse ------------------ +================= L'analyse est faite selon les options cochées. - qualité des mailles - diamètre des mailles @@ -64,7 +64,7 @@ L'analyse est faite selon les options coch Le résultat de l'analyse est contenu dans le fichier ``info_av.00.bilan`` ; ce fichier est à consulter en l'affichant après sa désignation avec "*Afficher le fichier*" dans le menu HOMARD ou à la souris. L'arbre d'étude ---------------- +=============== A l'issue de cette demande d'information, l'arbre d'études a été enrichi de ce nouveau cas. On y trouve l'itération initiale, identifiée par le nom du maillage qui a été lu dans le fichier fourni, et les deux fichiers d'information de nom ``Liste.log`` et ``info_av.00.bilan``. .. image:: images/mesh_info_3.png @@ -72,7 +72,7 @@ A l'issue de cette demande d'information, l'arbre d' Itération calculée -"""""""""""""""""" +****************** Pour analyser le maillage produit par une itération d'adaptation de maillage, on désigne à la souris cette itération dans l'arbre d'études et on lance l'analyse. On retrouve le menu similaire au cas initial : @@ -87,6 +87,6 @@ Comme pour un maillage import Méthodes python correspondantes -""""""""""""""""""""""""""""""" +******************************* Consulter :ref:`tui_create_case` et :ref:`tui_create_iteration` diff --git a/doc/fr/images/dec_hex.gif b/doc/fr/images/dec_hex.gif new file mode 100644 index 00000000..ce3083dc Binary files /dev/null and b/doc/fr/images/dec_hex.gif differ diff --git a/doc/fr/images/dec_tetr_1.gif b/doc/fr/images/dec_tetr_1.gif new file mode 100644 index 00000000..c8883346 Binary files /dev/null and b/doc/fr/images/dec_tetr_1.gif differ diff --git a/doc/fr/images/dec_tetr_2.gif b/doc/fr/images/dec_tetr_2.gif new file mode 100644 index 00000000..1a4d2474 Binary files /dev/null and b/doc/fr/images/dec_tetr_2.gif differ diff --git a/doc/fr/images/dec_tetr_3.gif b/doc/fr/images/dec_tetr_3.gif new file mode 100644 index 00000000..e6471ee9 Binary files /dev/null and b/doc/fr/images/dec_tetr_3.gif differ diff --git a/doc/fr/images/dec_tetr_4.gif b/doc/fr/images/dec_tetr_4.gif new file mode 100644 index 00000000..b41bbea4 Binary files /dev/null and b/doc/fr/images/dec_tetr_4.gif differ diff --git a/doc/fr/images/dec_tetr_5.gif b/doc/fr/images/dec_tetr_5.gif new file mode 100644 index 00000000..774c3688 Binary files /dev/null and b/doc/fr/images/dec_tetr_5.gif differ diff --git a/doc/fr/images/dec_tetr_6.gif b/doc/fr/images/dec_tetr_6.gif new file mode 100644 index 00000000..2a4d8533 Binary files /dev/null and b/doc/fr/images/dec_tetr_6.gif differ diff --git a/doc/fr/images/dec_tetr_7.gif b/doc/fr/images/dec_tetr_7.gif new file mode 100644 index 00000000..ec1a043b Binary files /dev/null and b/doc/fr/images/dec_tetr_7.gif differ diff --git a/doc/fr/images/dec_tria_1.gif b/doc/fr/images/dec_tria_1.gif new file mode 100644 index 00000000..e09ed1f3 Binary files /dev/null and b/doc/fr/images/dec_tria_1.gif differ diff --git a/doc/fr/images/dec_tria_2.gif b/doc/fr/images/dec_tria_2.gif new file mode 100644 index 00000000..3530fc65 Binary files /dev/null and b/doc/fr/images/dec_tria_2.gif differ diff --git a/doc/fr/index.rst b/doc/fr/index.rst index 8b28e1c6..8c3de163 100644 --- a/doc/fr/index.rst +++ b/doc/fr/index.rst @@ -7,11 +7,11 @@ .. |flag| image:: ./images/drapeau_fr.gif Documentation du composant HOMARD |logo| ------------------------------------------ +######################################### HOMARD est le composant qui permet l'adaptation de maillage au sein de la plateforme SALOME. Mode d'emploi -""""""""""""" +************* .. toctree:: :maxdepth: 1 @@ -22,7 +22,7 @@ Mode d'emploi tutorials Présentation générale -""""""""""""""""""""" +********************* .. toctree:: :maxdepth: 1 @@ -32,7 +32,7 @@ Pr divers Licence -""""""" +******* .. index:: single: Licence La licence pour ce module est la GNU Lesser General Public License (Lesser GPL), tel qu'il est déclaré ici et dans les fichiers source. @@ -53,7 +53,7 @@ En compl La documentation de ce module est aussi couverte par la licence et l'obligation de citation. Index et tables -""""""""""""""" +*************** * :ref:`genindex` * :ref:`modindex` diff --git a/doc/fr/intro.rst b/doc/fr/intro.rst index 8b8369a8..067ccd1e 100644 --- a/doc/fr/intro.rst +++ b/doc/fr/intro.rst @@ -1,10 +1,10 @@ .. _gui_intro: Introduction -============ +############ Présentation générale -""""""""""""""""""""" +********************* Le logiciel HOMARD est destiné à adapter les maillages dans le cadre des codes de calculs par éléments ou volumes finis. Ce logiciel, réalisé par EDF R&D, procède par raffinement et déraffinement des maillages bidimensionnels ou tridimensionnels. Il est conçu pour être utilisé indépendamment du code de calcul auquel il est couplé. Raffiner le maillage signifie découper des mailles désignées selon des indications founies par l'utilisateur. Déraffiner le maillage signifie revenir en arrière sur des découpages précédemment réalisés : ainsi, en aucun cas HOMARD ne peut simplifier un maillage existant qui aura été créé trop fin. Le déraffinement prend toute son importance dans les calculs quand la zone d'intérêt se déplace au cours du calcul pour ne plus tenir compte de raffinements précédemment réalisés et qui deviennent inutiles. On en trouvera une illustration au bas de cette page. @@ -30,12 +30,13 @@ Plusieurs motivations apparaissent pour adapter un maillage : - les conditions du calcul changent au cours de son déroulement : les zones qui doivent être maillées finement se déplacent. Si on maille fin partout dès le début, le maillage est trop gros. En adaptant au fur et à mesure, le maillage ne sera fin qu'aux endroits nécessaires : sa taille sera réduite et la qualité de la solution sera bonne. Dans tous les cas, le principe de l'adaptation de maillage reste le même. Sur le maillage de départ, on réalise le calcul standard. Avec une analyse de la solution numérique obtenue, on estime l'erreur qui a été commise par rapport à la solution réelle. Cette estimation se représente par une valeur d'indicateur d'erreur dans chaque maille du calcul. A partir de là, on applique le principe suivant : les mailles où l'indicateur d'erreur est fort devraient être plus petites et, réciproquement, les mailles où l'indicateur d'erreur est faible pourraient être plus grandes. Avec cette information, on alimente HOMARD qui va modifier le maillage en conséquence. Sur le nouveau maillage, on recommencera alors le calcul. + Schématiquement, une itération d'adaptation de maillage se présente ainsi. Le logiciel calcule la solution numérique sur le maillage n°k, puis en déduit les valeurs de l'indicateur d'erreur sur tout le maillage. A partir de la connaissance du maillage n°k et de l'indicateur n°k, HOMARD crée le nouveau maillage n°k+1. .. image:: images/intro_1.png :align: center -Au final, la chaîne complète part du maillage initial produit par un mailleur. Elle comprend des maillons successifs (calcul d'indicateur / adaptation) comme sur la figure ci-après. +Au final, la chaîne complète part du maillage initial, puis comprend des maillons successifs (calcul d'indicateur / adaptation). Pour des problèmes stationnaires en temps, cela équivaut à une succession de calculs indépendants sur différents maillages. Pour des problèmes transitoires, le calcul est suspendu à un instant donné ; après adaptation du maillage, le calcul est repris au même instant ou à un instant antérieur. .. image:: ../images/intro_2.png :align: center @@ -53,8 +54,196 @@ Des variantes de ce sch `Accessible en cliquant ici `_ +Mode de découpage des mailles +***************************** +.. index:: single: découpage +.. index:: single: conformité + +Globalement le processus de maillage adaptatif par découpage des mailles se résume en deux phases. Dans la première phase, on découpe toutes les mailles qui ont été désignées par les indications de pilotage. Cela produit un maillage qui n'est pas conforme : des noeuds sont pendants à la jonction entre une zone à raffiner et une zone à garder. +La seconde phase vise à régler tous ces problèmes de conformité. + +A ces deux phases correspondent des modes de découpages différents. +Dans la première phase, toutes les mailles sont découpées de la même manière ; c'est ce que nous appelons le découpage standard. Dans la seconde phase, une partie des conflits de conformité de maillage dans les zones de jonction se règle +par les mêmes découpages standard de mailles et une autre partie se règle par des découpages spéciaux. + +Les modes de découpage décrits ci-dessous ont été choisis pour ne pas détériorer la qualité du maillage au cours des itérations d'adaptation. + + +Le découpage standard +===================== +Le découpage standard des mailles se fait en ayant pour objectif de limiter les cas de figure. +Ainsi, les arêtes sont-elles scindées en deux moitiés égales. + +Pour découper un triangle, on découpe ses trois arêtes en deux et on se trouve avec 4 triangles semblables. Ils conservent donc la même qualité. + +.. image:: ../images/dec_tria_1.gif + :align: center + :alt: Découpage standard d'un triangle + :width: 399 + :height: 88 + +Pour découper un quadrangle, on découpe ses quatre arêtes en deux et on se trouve avec 4 quadrangles non semblables au quadrangle père et donc de qualité différente. + +.. image:: ../images/dec_quad_1.png + :align: center + :alt: Découpage standard d'un quadrangle + :width: 399 + +Le découpage des tétraèdres se fait en huit. Pour commencer, chacune des faces triangulaires est découpée en 4 faces triangulaires semblables. + +.. image:: ../images/dec_tetr_1.gif + :align: center + :alt: Découpage standard d'un tétraèdre - 1 + :width: 328 + :height: 115 + +Ce découpage des faces produit 4 tétraèdres dans les angles du tétraèdre initial. On remarque que ces 4 nouveaux tétraèdres sont homothétiques de l'initial. Ils conservent donc la même qualité. + +.. image:: ../images/dec_tetr_2.gif + :align: center + :alt: Découpage standard d'un tétraèdre - 2 + :width: 201 + :height: 159 + +Il reste au coeur du tétraèdre, un bloc qui a la forme de deux pyramides accolées par leur base. On crée une arête avec l'une des 3 diagonales possibles, puis les 4 faces qui contiennent cette arête et deux arêtes extérieures. + +.. image:: ../images/dec_tetr_3.gif + :align: center + :alt: Découpage standard d'un tétraèdre - 3 + :width: 244 + :height: 74 + +Cela produit 4 nouveaux tétraèdres. On notera qu'ils sont semblables deux à deux, mais qu'ils ne peuvent jamais être semblables au tétraèdre initial. Ils ne pourront donc jamais avoir la même qualité que lui. Toutefois, selon le choix +de la diagonale qui a servi à la découpe du bloc pyramidal interne, le résultat +n'est pas le même. On montre que le meilleur choix, en terme de qualité, est celui +de la plus petite des trois diagonales possibles. + +.. image:: ../images/dec_tetr_4.gif + :align: center + :alt: Découpage standard d'un tétraèdre - 4 + :width: 229 + :height: 116 + +Le découpage des hexaèdres se fait en huit. Chacune des faces quadrangulaires est découpée en 4 faces quadrangulaires. 3 faces internes à l'hexaèdre sont créées, puis chacune est découpée en 4. Cette construction crée 6 points supplémentaires au centre de chaque face externe et un point supplémentaire à l'intérieur de l'hexaèdre. + +.. image:: ../images/dec_hex.png + :align: center + :alt: Découpage standard d'un hexaèdre + :scale: 70 + +Le découpage des pentaèdres se fait en huit. Chacune des faces quadrangulaires est découpée en 4 faces quadrangulaires de manière standard, de même pour les faces triangulaires. On construit trois arêtes internes chacune parallèle à une des faces quadrangulaires au milieu du penatèdre. On construit ensuite 4 faces triangulaires s'appuyant sur ces arêtes et correspondant au découpage standard d'une face triangulaire à l'intérieur du pentaèdre. Six faces quadrangulaires internes sont créées deux à deux parallèles à chaque face quadrangulaire du pentaèdre. + +.. image:: ../images/dec.pent.png + :align: center + :alt: Découpage standard d'un pentaèdre + :scale: 20 + +Le découpage de mise en conformité +================================== + +Le découpage de mise en conformité s'appliquent aux mailles à l'interface entre deux niveaux de raffinement différent. +Ces découpages produisent des mailles de qualité moindre par rapport aux mailles et on voit dans l'algorithme général comment cet inconvénient est pris en compte pour en minimiser les conséquences. + +Etant donné notre algorithme de maillage adaptatif, seules les quatre situations suivantes peuvent être rencontrées : + +Dans le cas d'un triangle, l'une de ses trois arêtes est coupée en deux. On joint son milieu au sommet opposé pour former deux nouveaux triangles. + +.. image:: ../images/dec_tria_2.gif + :align: center + :alt: Découpage de conformité d'un triangle + :width: 399 + :height: 88 + +Dans le cas d'un quadrangle, l'une de ses quatre arêtes est coupée en deux. On joint son milieu aux deux sommets opposés pour former trois triangles. Le maillage adapté obtenu est donc mixte. + +.. image:: ../images/dec_quad_2.png + :align: center + :alt: Découpage de conformité d'un quadrangle + :width: 399 + +Pour un tétraèdre dont trois des arêtes sont coupées : cela n'est possible que si ces arêtes sont sur la même face. Cette face est donc coupée en quatre. On joint les milieux des arêtes découpées au sommet opposé. Cela coupe en deux les trois autres faces et il y a création de 4 tétraèdres. + +.. image:: ../images/dec_tetr_5.gif + :align: center + :alt: Découpage de conformité d'un tétraèdre - 1 + :width: 116 + :height: 116 + +Pour un tétraèdre dont deux des arêtes sont coupées : cela n'est possible que si ces arêtes sont opposées. On fait toutes les jonctions entre les milieux de ces arêtes et les autres sommets, ainsi que entre les deux milieux d'arêtes. Les quatre faces sont coupées en deux et il y a création de 4 tétraèdres. + +.. image:: ../images/dec_tetr_6.gif + :align: center + :alt: Découpage de conformité d'un tétraèdre - 2 + :width: 116 + :height: 116 + +Pour un tétraèdre dont une des arêtes est coupée : on joint le milieu de cette arête découpée au sommet opposé et il y a création de 2 tétraèdres. + +.. image:: ../images/dec_tetr_6.gif + :align: center + :alt: Découpage de conformité d'un tétraèdre - 3 + :width: 116 + :height: 116 + +La conformité des hexaèdres est assurée par des combinaisons de tétraèdres et de pyramides. Les situations dépendent du nombre de non-conformités. + +Pour un hexaèdre dont une face est coupée il y a création de 4 arêtes, de 4 tétraèdres et de 5 pyramides. + +.. image:: ../images/hexaface.png + :align: center + :alt: Découpage de conformité d'un hexaèdre - 1 face + :width: 384 + :height: 101 + +Pour un hexaèdre dont une seule arête est coupée il y a création de deux arêtes et de 4 pyramides. + +.. image:: ../images/hexa1arete.png + :align: center + :alt: Découpage de conformité d'un hexaèdre - 1 arête + :width: 384 + :height: 101 + +Pour un hexaèdre dont deux arêtes sont coupées il y a création d'un point central, de 10 arêtes, de 12 tétraèdres et de 2 pyramides. + +.. image:: ../images/hexa2aretes.png + :align: center + :alt: Découpage de conformité d'un hexaèdre - 2 arêtes + :width: 384 + :height: 101 + +Pour un hexaèdre dont trois arêtes sont coupées il y a création d'un point central, de 11 arêtes et de 18 tétraèdres. + +.. image:: ../images/hexa3aretes.png + :align: center + :alt: Découpage de conformité d'un hexaèdre - 3 arêtes + :width: 384 + :height: 101 + + + +L'algorithme +************ +.. index:: single: algorithme + +La stratégie retenue dans les algorithmes d'HOMARD consiste à forcer le découpage en quatre pour toutes les faces triangulaires ou quadrangulaires présentant deux points de non conformité. A la fin, les seuls triangles ou quadrangles présentant des points de non conformité sont des faces où une arête et une seule est découpée. La mise en conformité est +alors assurée par la solution la plus simple possible comme vu ci-avant. +Cette dernière étape de mise en conformité introduit des mailles dont la qualité peut être plus faible que celle +des mailles dont elles sont issues. Cet inconvénient est contrôlé car nous avons choisi de donner un statut temporaire +à ces mailles de mise en conformité : elles sont présentes pour produire un maillage acceptable par les logiciels +de calcul, mais disparaissent s'il y a besoin de les découper ultérieurement. +Ainsi, la modification de qualité ne se propage pas au fil des itérations d'adaptation de maillage et reste limitée autant en valeur qu'en nombre de mailles concernées. + +L'algorithme général est donc le suivant : + + * Transfert des indications de raffinement ou de déraffinement des mailles en décisions de découpage ou de regroupement d'arêtes, de triangles et de quadrangles. + * Suppression des mailles temporaires de mise en conformité. + * Par examen de tous les triangles et quadrangles du niveau de découpage le plus bas vers le niveau le plus haut, règlement des conflits sur le déraffinement au moyen des règles de base. + * Par examen de tous les triangles et quadrangles du niveau de découpage le plus haut vers le niveau le plus bas, règlement des conflits sur le raffinement au moyen des règles de base. + * Création effective du nouveau maillage : découpage standard, suivi de mise en conformité. + + Quelques illustrations de maillage adaptés -"""""""""""""""""""""""""""""""""""""""""" +****************************************** .. index:: single: illustration On pourra trouver dans :ref:`applications` des exemples d'utilisations de l'adaptation de maillage. diff --git a/doc/images/dec.pent.png b/doc/images/dec.pent.png new file mode 100644 index 00000000..3a90c7d8 Binary files /dev/null and b/doc/images/dec.pent.png differ diff --git a/doc/images/dec_hex.gif b/doc/images/dec_hex.gif new file mode 100644 index 00000000..ce3083dc Binary files /dev/null and b/doc/images/dec_hex.gif differ diff --git a/doc/images/dec_hex.png b/doc/images/dec_hex.png new file mode 100644 index 00000000..26a7e26a Binary files /dev/null and b/doc/images/dec_hex.png differ diff --git a/doc/images/dec_quad_1.png b/doc/images/dec_quad_1.png new file mode 100644 index 00000000..5d38a0fa Binary files /dev/null and b/doc/images/dec_quad_1.png differ diff --git a/doc/images/dec_quad_2.png b/doc/images/dec_quad_2.png new file mode 100644 index 00000000..7e384921 Binary files /dev/null and b/doc/images/dec_quad_2.png differ diff --git a/doc/images/dec_tetr_1.gif b/doc/images/dec_tetr_1.gif new file mode 100644 index 00000000..c8883346 Binary files /dev/null and b/doc/images/dec_tetr_1.gif differ diff --git a/doc/images/dec_tetr_2.gif b/doc/images/dec_tetr_2.gif new file mode 100644 index 00000000..1a4d2474 Binary files /dev/null and b/doc/images/dec_tetr_2.gif differ diff --git a/doc/images/dec_tetr_3.gif b/doc/images/dec_tetr_3.gif new file mode 100644 index 00000000..e6471ee9 Binary files /dev/null and b/doc/images/dec_tetr_3.gif differ diff --git a/doc/images/dec_tetr_4.gif b/doc/images/dec_tetr_4.gif new file mode 100644 index 00000000..b41bbea4 Binary files /dev/null and b/doc/images/dec_tetr_4.gif differ diff --git a/doc/images/dec_tetr_5.gif b/doc/images/dec_tetr_5.gif new file mode 100644 index 00000000..774c3688 Binary files /dev/null and b/doc/images/dec_tetr_5.gif differ diff --git a/doc/images/dec_tetr_6.gif b/doc/images/dec_tetr_6.gif new file mode 100644 index 00000000..2a4d8533 Binary files /dev/null and b/doc/images/dec_tetr_6.gif differ diff --git a/doc/images/dec_tetr_7.gif b/doc/images/dec_tetr_7.gif new file mode 100644 index 00000000..ec1a043b Binary files /dev/null and b/doc/images/dec_tetr_7.gif differ diff --git a/doc/images/dec_tria_1.gif b/doc/images/dec_tria_1.gif new file mode 100644 index 00000000..e09ed1f3 Binary files /dev/null and b/doc/images/dec_tria_1.gif differ diff --git a/doc/images/dec_tria_2.gif b/doc/images/dec_tria_2.gif new file mode 100644 index 00000000..3530fc65 Binary files /dev/null and b/doc/images/dec_tria_2.gif differ diff --git a/doc/images/hexa1arete.png b/doc/images/hexa1arete.png new file mode 100644 index 00000000..a34b5b4b Binary files /dev/null and b/doc/images/hexa1arete.png differ diff --git a/doc/images/hexa2aretes.png b/doc/images/hexa2aretes.png new file mode 100644 index 00000000..5d258733 Binary files /dev/null and b/doc/images/hexa2aretes.png differ diff --git a/doc/images/hexa3aretes.png b/doc/images/hexa3aretes.png new file mode 100644 index 00000000..4eaae9d0 Binary files /dev/null and b/doc/images/hexa3aretes.png differ diff --git a/doc/images/hexaface.png b/doc/images/hexaface.png new file mode 100644 index 00000000..6eff557b Binary files /dev/null and b/doc/images/hexaface.png differ