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 .. |completeSplitDialog| image:: /_static/completeSplitDialog.png
47 .. |zonesSplitCreees| image:: /_static/zonesSplitCreees.png
50 .. |zonePontSplit| image:: /_static/zonePontSplit.png
53 .. |zoneAmontSplit| image:: /_static/zoneAmontSplit.png
56 .. |zoneAvalSplit| image:: /_static/zoneAvalSplit.png
59 .. |mergeZonesPont| image:: /_static/mergeZonesPont.png
62 .. |pilesDePont| image:: /_static/pilesDePont.png
66 Nous n'avons abordé jusqu'à présent que des polylignes à une seule section.
67 L'utilisation de plusieurs sections dans les polylignes permet de combiner des splines et des
68 lignes brisées dans un même contour, par exemple. Les opérations sur les polylignes
69 (merge, split, copy, paste) permettent, entre autres, de créer des contours partageant un bord,
70 avant la création du cas de calcul.
72 Limites de domaine maritime
73 ===========================
75 Un domaine maritime est souvent limité par une ligne de côte, détaillée, et par une ligne brisée
76 la plus simple possible au large.
78 La ligne de côte détaillée est saisie sous forme d'une spline, dans une polyligne, non fermée.
80 La limite en mer est saisie dans une deuxième section de la même polyligne.
82 Pour créer la deuxième section, il faut éditer la polyligne dans laquelle on a saisi la ligne de côte,
83 cliquer sur *insert new section* et choisir une ligne de type *polyline* non fermée.
84 On valide la création de section avec le bouton *Add*.
86 La section 2 étant sélectionnée, le bouton *Addition mode* permet d'ajouter des points.
87 On crée la ligne brisée en visant approximativement les extrémités de la ligne de côte.
91 Il faut maintenant faire correspondre précisément les extrémités des deux sections pour obtenir un
94 Pour cela, on sélectionne simultanément les deux sections (touche shift)
95 et on passe en mode modification (bouton *modification mode*).
97 On sélectionne simultanément les deux premiers points d'extrémité à rapprocher,
98 avec une selection par boite englobante à la souris
99 (en ayant préalablement fait un zoom si nécessaire).
103 Les coordonnées des deux points s'affichent, ainsi que la distance entre les deux points,
104 dans la colonne distance.
106 On notera que le bouton de droite est devenu actif (il faut sélectionner deux sections).
110 En cliquant sur le bouton, les deux points deviennent superposés, leurs coordonnées sont mises à jour,
111 et la distance affichée est devenue nulle.
113 |deuxPointsConfondus|
115 Il faut procéder de même avec les autres extrémités à rapprocher, puis valider avec *Apply and close*.
117 La polyligne représente maintenant un contour fermé composé de 2 sections de types différents.
119 |contourFermeDeuxSections|
121 * **remarque** : Lors de la superposition des points, l'un prend les coordonnées de l'autre.
122 Il n'est pas facile de maîtriser quel point reste fixe,
123 donc il vaut mieux éviter qu'ils soient trop éloignés pour ne pas déformer
126 Il faut ensuite transformer le contour en objet naturel. Nous avons notre domaine maritime.
130 Créer des sections sur un lit mineur : barrages, ponts
131 ======================================================
133 Le lit mineur d'une rivière peut être découpé en plusieurs sections, pour permettre des
134 traitement spécifiques. Par exemple :
136 * La zone au niveau d'un pont, pour laquelle la description explicite des piles du pont
137 va vraisemblablement imposer un maillage spécifique, si le reste du lit mineur est
138 maillé en triangles allongés dans le sens de l'écoulement.
140 * Un barrage, pour lequel on souhaite par exemple écrire des conditions limites décrivant
141 son fonctionnement. Le barrage sera alors défini comme une zone "non inondable"
142 ou "insubmersible" en travers du lit mineur.
144 * Une zone pour laquelle on veut particulariser le maillage.
146 Créer une zone spécifique au niveau d'un pont sur le lit mineur
147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
149 Nous reprenons l'exemple précédent sur la Garonne.
150 Nous commençons par dessiner un rectangle en travers du lit mineur *garonne*, débordant franchement
151 de part et d'autre des rives. Nous nommons la polyligne correspondante *zonePont*.
155 Nous utilisons alors la commande *Split polylignes* du menu contextuel de la polyligne *garonne*,
156 et nous prenons l'onglet *Complete split*. Il faut sélectionner la polyligne *zonePont* et cliquer
157 sur le bouton *include*, pour obtenir les deux polylignes dans la liste du dialogue.
159 |completeSplitDialog|
161 Après validation par *Apply and close*, nous obtenons quatre nouvelles polylines pour décrire
162 le lit mineur, et quatre pour décrire la zone du pont.
166 Nous allons regrouper les polylignes par paquets pour reconstituer les nouvelles zones, avec la
167 commande *Merge polylines*.
169 La zone du pont est constituée des quatres polylignes suivantes :
173 La zone du lit mineur en amont est constituée de deux polylignes :
177 La zone du lit mineur en aval est constituée de deux polylignes :
181 Pour regrouper les polylignes, nous en sélectionnons une et utilisons la commande *Merge polylines*
182 du menu contextuel. Il faut sélectionner les quatre polylignes, cliquer sur le bouton *include*,
183 choisir un nom pour la nouvelle polyligne, *litMineurPont* et valider par *Apply and close*.
187 Nous créons de même les polylignes *litMineurAmont* et *litMineurAval*.
188 Les trois nouvelles polylignes servent à définir trois zones immersibles,
189 *litMineur_aval*, *litMineur_amont* et *litMineur_pont*.
191 Si nous voulons représenter les piles du pont dans le maillage, il faut les représenter en tant que
192 polylignes et définir des zones non immersibles.
194 Créer une zone spécifique au niveau d'un barrage sur le lit mineur
195 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197 Le principe est exactement le même que pour le pont, mais sans les piles.
201 :ref:`ref_casParticuliers`