]> SALOME platform Git repositories - modules/homard.git/blob - doc/intro.rst
Salome HOME
ec755610afca1040812ebd8d002dce01fa774b00
[modules/homard.git] / doc / intro.rst
1
2 Introduction
3 ============
4 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é.
5
6 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.
7
8 HOMARD sait traiter des maillages en 2 ou 3 dimensions et comportant les mailles suivantes :
9    - mailles-points
10    - segments
11    - triangles
12    - quadrangles
13    - tétraèdres
14    - hexaèdres
15    - prismes
16
17 Ces mailles peuvent être présentes simultanément. Par exemple, HOMARD saura adapter un maillage comportant des triangles et des quadrangles.
18 Les noeuds acceptés sont évidemment les noeuds qui sont les sommets des mailles, ce qui correspond à la description classique « en degré 1 » . Si les éléments sont décrits « en degré 2 », les noeuds complémentaires sont gérés. En revanche, il ne peut pas y avoir cohabitation de mailles décrites en degré 1 et d'autres décrites en degré 2. Enfin, HOMARD sait prendre en compte des noeuds isolés, qui n'appartiendraient à aucune définition de mailles : ils ressortiront tels quels du processus d'adaptation.
19
20 Le cas des pyramides est à part. Pour un maillage comportant des hexaèdres ou des prismes, la mise en conformité du maillage issu du raffinement crée des pyramides pour assurer la liaison entre deux régions de niveaux de raffinement différents. Ces pyramides sont gérées comme toutes les mailles de transition et ne sont pas redécoupées par la suite. En revanche, si le maillage initial contient des pyramides, HOMARD ne saura pas l'adapter et émettra un message d'erreur. Dans certains cas particuliers, on pourra néanmoins traiter un tel maillage, comme il est décrit dans la rubrique 'Options avancées' de :ref:`gui_create_case`).
21
22 Plusieurs motivations apparaissent pour adapter un maillage :
23
24   - on veut simplifier la réalisation du maillage d'une géométrie complexe : on part d'un maillage grossier et on confie à un processus automatique la charge de le raffiner.
25   - on veut s'assurer de la convergence de la solution numérique : plutôt que de réaliser à la main des maillages de plus en plus fins, on laisse le logiciel chercher lui-même les endroits où il faudrait affiner le maillage pour augmenter la précision du résultat.
26   - 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.
27
28 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.
29 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.
30
31 .. image:: images/intro_1.png
32    :align: center
33
34 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.
35
36 .. image:: images/intro_2.png
37    :align: center
38
39 Des variantes de ce schéma de base sont possibles. Si aucun calcul d'erreur n'est disponible dans le logiciel couplé, on peut utiliser un champ pour piloter l'adaptation. Un champ de contraintes en mécaniques peut être utilisé : raffiner là où les contraintes sont importantes est souvent efficace pour améliorer la qualité de la simulation. On peut également adapter en fonction du saut d'une variable d'une maille à sa voisine ou dans une zone connue a priori. Grâce à ses nombreuses options, HOMARD permet d'envisager de multiples scénarios d'adaptation de maillage.
40
41 .. note::
42   Pour une description plus complète, voir :download:`Description générale de HOMARD <files/HOMARD_0.pdf>`.
43
44
45 Quelques illustrations de maillage adaptés
46 ==========================================
47
48 +---------------------------------------------------------------+
49 +---------------------------------------------------------------+
50 |                                                               |
51 | .. image:: images/intro_3.png                                 |
52 |    :align: center                                             |
53 |                                                               |
54 +---------------------------------------------------------------+
55 |                                                               |
56 | .. image:: images/intro_4.png                                 |
57 |    :align: center                                             |
58 |                                                               |
59 +---------------------------------------------------------------+
60 |                                                               |
61 | .. image:: images/intro_5.png                                 |
62 |    :align: center                                             |
63 |                                                               |
64 +---------------------------------------------------------------+
65 |                                                               |
66 | .. image:: images/intro_6.png                                 |
67 |    :align: center                                             |
68 |                                                               |
69 +---------------------------------------------------------------+
70 |                                                               |
71 | .. image:: images/intro_7.png                                 |
72 |    :align: center                                             |
73 |                                                               |
74 +---------------------------------------------------------------+
75 |                                                               |
76 | .. image:: images/intro_8.gif                                 |
77 |    :align: center                                             |
78 |                                                               |
79 +---------------------------------------------------------------+
80
81
82
83