2 Copyright (C) 2015-2016 EDF
4 This file is part of SALOME HYDRO module.
6 SALOME HYDRO module is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 SALOME HYDRO module is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
19 #########################################
20 Manipulations de Polylignes
21 #########################################
23 .. |deuxSections| image:: /_static/deuxSections.png
26 .. |deuxExtremites| image:: /_static/deuxExtremites.png
29 .. |bringTogether| image:: /_static/bringTogether.png
32 .. |deuxPointsConfondus| image:: /_static/deuxPointsConfondus.png
35 .. |contourFermeDeuxSections| image:: /_static/contourFermeDeuxSections.png
38 .. |domaineMaritime| image:: /_static/domaineMaritime.png
41 .. |zonePont| image:: /_static/zonePont.png
44 .. |raffinement| image:: /_static/raffinement.png
47 .. |completeSplitDialog| image:: /_static/completeSplitDialog.png
50 .. |zonesSplitCreees| image:: /_static/zonesSplitCreees.png
53 .. |zonePontSplit| image:: /_static/zonePontSplit.png
56 .. |zoneAmontSplit| image:: /_static/zoneAmontSplit.png
59 .. |zoneAvalSplit| image:: /_static/zoneAvalSplit.png
62 .. |mergeZonesPont| image:: /_static/mergeZonesPont.png
65 .. |pilesDePont| image:: /_static/pilesDePont.png
68 .. |objetsPont| image:: /_static/objetsPont.png
72 Nous n'avons abordé jusqu'à présent que des polylignes à une seule section.
73 L'utilisation de plusieurs sections dans les polylignes permet de combiner des splines et des
74 lignes brisées dans un même contour, par exemple. Les opérations sur les polylignes
75 (merge, split, copy, paste) permettent, entre autres, de créer des contours partageant un bord,
76 avant la création du cas de calcul.
78 Limites de domaine maritime
79 ===========================
81 Un domaine maritime est souvent limité par une ligne de côte, détaillée, et par une ligne brisée
82 la plus simple possible au large.
84 La ligne de côte détaillée est saisie sous forme d'une spline, dans une polyligne, non fermée.
86 La limite en mer est saisie dans une deuxième section de la même polyligne.
88 Pour créer la deuxième section, il faut éditer la polyligne dans laquelle on a saisi la ligne de côte,
89 cliquer sur *insert new section* et choisir une ligne de type *polyline* non fermée.
90 On valide la création de section avec le bouton *Add*.
92 La section 2 étant sélectionnée, le bouton *Addition mode* permet d'ajouter des points.
93 On crée la ligne brisée en visant approximativement les extrémités de la ligne de côte.
97 Il faut maintenant faire correspondre précisément les extrémités des deux sections pour obtenir un
100 Pour cela, on sélectionne simultanément les deux sections (touche shift)
101 et on passe en mode modification (bouton *modification mode*).
103 On sélectionne simultanément les deux premiers points d'extrémité à rapprocher,
104 avec une selection par boite englobante à la souris
105 (en ayant préalablement fait un zoom si nécessaire).
109 Les coordonnées des deux points s'affichent, ainsi que la distance entre les deux points,
110 dans la colonne distance.
112 On notera que le bouton de droite est devenu actif (il faut sélectionner deux sections).
116 En cliquant sur le bouton, les deux points deviennent superposés, leurs coordonnées sont mises à jour,
117 et la distance affichée est devenue nulle.
119 |deuxPointsConfondus|
121 Il faut procéder de même avec les autres extrémités à rapprocher, puis valider avec *Apply and close*.
123 La polyligne représente maintenant un contour fermé composé de 2 sections de types différents.
125 |contourFermeDeuxSections|
127 * **remarque** : Lors de la superposition des points, l'un prend les coordonnées de l'autre.
128 Il n'est pas facile de maîtriser quel point reste fixe,
129 donc il vaut mieux éviter qu'ils soient trop éloignés pour ne pas déformer
132 Il faut ensuite transformer le contour en objet naturel. Nous avons notre domaine maritime.
136 Créer des sections sur un lit mineur : barrages, ponts
137 ======================================================
139 Le lit mineur d'une rivière peut être découpé en plusieurs sections, pour permettre des
140 traitement spécifiques. Par exemple :
142 * La zone au niveau d'un pont, pour laquelle la description explicite des piles du pont
143 va vraisemblablement imposer un maillage spécifique, si le reste du lit mineur est
144 maillé en triangles allongés dans le sens de l'écoulement.
146 * Un barrage, pour lequel on souhaite par exemple écrire des conditions limites décrivant
147 son fonctionnement. Le barrage sera alors défini comme une zone "non inondable"
148 ou "insubmersible" en travers du lit mineur.
150 * Une zone pour laquelle on veut particulariser le maillage.
152 Créer une zone spécifique au niveau d'un pont sur le lit mineur
153 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
155 Nous reprenons l'exemple précédent sur la Garonne.
156 Nous commençons par dessiner un rectangle en travers du lit mineur *garonne*, débordant franchement
157 de part et d'autre des rives. Nous nommons la polyligne correspondante *zonePont*.
161 **La polyligne du lit mineur doit être suffisamment raffinée pour que le découpage soit précis, et
162 pour éviter des problèmes plus tard à la création du cas de calcul.** Si besoin, il faut éditer la
163 polyligne du lit mineur pour ajouter des points de part et d'autre des traits de coupe.
164 **Il faut notamment éviter qu'il n'y ait pas de point entre deux traits de coupe d'une courbe spline**.
168 Nous utilisons alors la commande *Split polylignes* du menu contextuel de la polyligne *garonne*,
169 et nous prenons l'onglet *Complete split*. Il faut sélectionner la polyligne *zonePont* et cliquer
170 sur le bouton *include*, pour obtenir les deux polylignes dans la liste du dialogue.
172 |completeSplitDialog|
174 Après validation par *Apply and close*, nous obtenons quatre nouvelles polylines pour décrire
175 le lit mineur, et quatre pour décrire la zone du pont.
179 Nous allons regrouper les polylignes par paquets pour reconstituer les nouvelles zones, avec la
180 commande *Merge polylines*.
182 La zone du pont est constituée des quatres polylignes suivantes :
186 La zone du lit mineur en amont est constituée de deux polylignes :
190 La zone du lit mineur en aval est constituée de deux polylignes :
194 Pour regrouper les polylignes, nous en sélectionnons une et utilisons la commande *Merge polylines*
195 du menu contextuel. Il faut sélectionner les quatre polylignes, cliquer sur le bouton *include*,
196 choisir un nom pour la nouvelle polyligne, *litMineurPont* et valider par *Apply and close*.
200 Nous créons de même les polylignes *litMineurAmont* et *litMineurAval*.
201 Les trois nouvelles polylignes servent à définir trois zones immersibles,
202 *litMineur_aval*, *litMineur_amont* et *litMineur_pont*.
204 Si nous voulons représenter les piles du pont dans le maillage, il faut les représenter en tant que
205 polylignes et définir des zones non immersibles.
211 Créer une zone spécifique au niveau d'un barrage sur le lit mineur
212 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
214 Le principe est exactement le même que pour le pont, mais sans les piles.
218 :ref:`ref_casParticuliers`