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 #########################################
21 #########################################
23 .. |axeDigue| image:: /../_static/axeDigue.png
26 .. |creationDigue_1| image:: /../_static/creationDigue_1.png
29 .. |modifModeProfile| image:: /../_static/modifModeProfile.png
32 .. |creationDigue_2| image:: /../_static/creationDigue_2.png
35 .. |creationDigue_3| image:: /../_static/creationDigue_3.png
38 .. |altitudeDigue| image:: /../_static/altitudeDigue.png
41 .. |polyline3D| image:: /../_static/polyline3D.png
44 .. |artificialDigue| image:: /../_static/artificialDigue.png
47 .. |zoomDigue| image:: /../_static/zoomDigue.png
50 Artificial objects cover embankments and channels. Both object types are constructed on the same principle:
52 * A constant vertical section,
54 * A 3D axis, this being a 3D polyline from which the section will be extruded.
56 The 3D axis is constructed from a horizontal polyline, to which will be associated a vertically-defined line
57 of altitude, which gives the Z-value as a function of the curvilinear abscissa of the polyline’s horizontal path.
59 The altitude line is either explicitly constructed or obtained by projecting the horizontal polyline
60 onto a bathymetry field.
62 When the node altitudes are computed (Z interpolation), a specific treatment is applied to the nodes on the
63 embankment: the altitude of the node is evaluated on the 3D geometric shape of the embankment, as defined above.
65 Creating an embankment
66 ======================
68 To define the embankment's horizontal axis, an open, spline-type polyline is created with the polyline editor
69 (context menu of the *POLYLINES* folder in the SALOME study tree).
71 Assign the name axeDigue (embankmentAxis) to this polyline.
75 The embankment section is created using the *Create profile* context menu of the *PROFILES* folder
76 in the SALOME study tree.
78 This section is named *sectionDigue* (embankmentSection).
80 The approximate shape of the section has to be drawn freehand;
81 it will later be edited to put in the exact elevation parameters.
85 To correct the node coordinates, you need to switch to Modification mode:
89 The nodes can be block selected by grabbing them in a selection rectangle, in the graphic view.
91 They are displayed in a table above the graphic view.
93 The nodes are reordered by clicking on the *Index* column title.
97 For the choice of Z-values, it is essential to know that the final altitude of a point on the embankment is obtained
98 from the cross-section at this point, by adding the elevation of the point on the section to the elevation of the
99 section along the altitude profile. To be more specific, the calculation required is as follows:
101 * Point **A** (x,y,0), whose altitude is required, is projected onto the *axeDigue* curve at a point **P** (x’,y’,0)
102 such that the straight line *AP* is perpendicular to the tangent to the curve of the embankment axis at **P**.
103 The point **P** is at a horizontal distance *d* = distance(A,P) from the *axeDigue* curve.
105 * From the curvilinear coordinate **P** on *axeDigue*, we get a value of Z0 value on the line of altitude.
106 This Z0 value corresponds to the zero-elevation level of the embankment section.
108 * To obtain the final altitude in **P**, the elevation Z1 on the section is calculated at the abscissa point *d*.
109 The final altitude is Z = Z0 +Z1.
111 * **Note:** this calculation method assumes a symmetrical cross-section with respect to x=0.
113 In this case, the line of altitude that will be defined corresponds to the vertex (i.e. top) of the cross-section. Hence, we create a symmetrical cross-section that is 20 metres wide, with fairly steep slopes.
117 The embankment line of altitude still has to be created.
118 It will be defined explicitly with the altitude of the two ends.
120 If the elevation of the embankment is variable, an approximate idea of its length is needed
121 in order to construct an accurate altitude profile (a display function of the polyline lengths is missing).
123 If more than two points are defined, the altitude is linearly interpolated between two points and,
124 if the curve is longer than the altitude line, the Z values beyond the end point are taken
125 at the elevation of this last point.
129 The 3D axis has to be created next using the *Create polyline 3D* context menu of the POLYLINES 3D folder.
133 The last step uses the *Create digue* context menu of the *ARTIFICIAL OBJECTS* folders.
137 The equidistance parameter serves to optimise the precision of the section extrusion along the axis.
139 * If the value is too high in relation to the radius of axis curvature, the cross-section
140 is offset from its centre line during extrusion.
142 * If the value is too low, the computational time becomes long.
144 Taking a value of about two or three times the width of the embankment is a reasonable first approximation.
146 The views of the embankment and its axis should then be overlaid to verify the result.
150 When the calculation case with the embankment is set up, the latter should be isolated in a specific region
151 because it is preferable to mesh it in quadrangles using the *Quadrangle (Medial Axis projection)* algorithm.
153 As the embankment is overlaid on natural terrain, the *ZMAX* option is generally the most logical choice for the altitude calculation.
158 The canal channel is created in exactly same the same way as the embankment but using a specific menu,
159 *Create channel*, in the *ARTIFICIAL OBJECTS* folder.
161 The section is bowl-shaped and the altitude is calculated using the same approach as for the embankment.
163 When the calculation case with the channel is being set up, the channel should be isolated in a specific region
164 as it is preferable to mesh it in quadrangles using the Quadrangle (Medial Axis projection) algorithm.
166 For the altitude calculation, with the channel being in natural terrain,
167 the *ZMIN* option is the most logical choice in most cases.
171 :ref:`ref_casParticuliers`