X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2F1d_meshing_hypo.doc;h=01deffbcd3dd5030cb77f5859b5571bc3367a912;hb=1cea00918546e5ab79c0d74d49d7820d431f3c85;hp=716ddd90d56c5c81849fa6192afe2fef6f6d83d0;hpb=79b1ac2b6df9117f16f11d444b1f165d477a1813;p=modules%2Fsmesh.git
diff --git a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc
index 716ddd90d..01deffbcd 100644
--- a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc
+++ b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc
@@ -2,16 +2,62 @@
\page a1d_meshing_hypo_page 1D Meshing Hypotheses
-
+Basic 1D hypothesis specifies:
+
+- how \ref a1d_algos_anchor "Wire Discretization" should divide the edge;
+- how \ref a1d_algos_anchor "Composite Side Discretization" should divide the group of C1-continuous edges.
+
+
+1D hypotheses can be categorized by type of nodes distribution as follows:
-- \ref arithmetic_1d_anchor "Arithmetic 1D"
-- \ref average_length_anchor "Average Length"
-- \ref deflection_1d_anchor "Deflection 1D"
-- \ref number_of_segments_anchor "Number of segments"
-- \ref start_and_end_length_anchor "Start and end length"
-- \ref automatic_length_anchor "Automatic Length"
+- Uniform distribution:
+
+ - \ref average_length_anchor "Local Length"
+ - \ref max_length_anchor "Max Size"
+ - \ref number_of_segments_anchor "Number of segments" with Equidistant distribution
+ - \ref automatic_length_anchor "Automatic Length"
+
+- Constantly increasing or decreasing length of segments:
+
+ - \ref arithmetic_1d_anchor "Arithmetic 1D"
+ - \ref geometric_1d_anchor "Geometric Progression"
+ - \ref start_and_end_length_anchor "Start and end length"
+ - \ref number_of_segments_anchor "Number of segments" with Scale distribution
+
+- Distribution depending on curvature:
+
+ - \ref adaptive_1d_anchor "Adaptive"
+ - \ref deflection_1d_anchor "Deflection 1D"
+
+- Arbitrary distribution:
+
+ - \ref fixed_points_1d_anchor "Fixed points 1D"
+ - \ref number_of_segments_anchor "Number of segments" with
+ \ref analyticdensity_anchor "Analytic Density Distribution" or Table Density Distribution
+
+
+\anchor adaptive_1d_anchor
+Adaptive hypothesis
+
+Adaptive hypothesis allows to split edges into segments with a
+length that depends on the curvature of edges and faces and is limited by Min. Size
+and Max Size. The length of a segment also depends on the lengths
+of adjacent segments (that can't differ more than twice) and on the
+distance to close geometrical entities (edges and faces) to avoid
+creation of narrow 2D elements.
+
+\image html adaptive1d.png
+
+- Min size parameter limits the minimal segment size.
+- Max size parameter defines the length of segments on straight edges.
+- \b Deflection parameter gives maximal distance of a segment from a curved edge.
+
+\image html adaptive1d_sample_mesh.png "Adaptive hypothesis and Netgen 2D algorithm - the size of mesh segments reflects the size of geometrical features"
+
+See Also a \ref tui_1d_adaptive "sample TUI Script" that uses Adaptive hypothesis.
+
\anchor arithmetic_1d_anchor
Arithmetic 1D hypothesis
@@ -20,79 +66,142 @@
length that changes in arithmetic progression (Lk = Lk-1 + d)
beginning from a given starting length and up to a given end length.
+The splitting direction is defined by the orientation of the
+underlying geometrical edge.
+Reverse Edges list box allows specifying the edges, for which
+the splitting should be made in the direction opposite to their
+orientation. This list box is usable only if a geometry object is
+selected for meshing. In this case it is possible to select edges to
+be reversed either directly picking them in the 3D viewer or by
+selecting the edges or groups of edges in the Object Browser. Use \b
+Add button to add the selected edges to the list.
+
+\ref reversed_edges_helper_anchor "Helper" group assists you in
+defining Reversed Edges parameter.
+
+
\image html a-arithmetic1d.png
-\image html b-ithmetic1d.png
+\image html b-ithmetic1d.png "Arithmetic 1D hypothesis - the size of mesh elements gradually increases"
+
+See Also a sample TUI Script of a
+\ref tui_1d_arithmetic "Defining Arithmetic 1D and Geometric Progression hypothesis" operation.
+
+
+\anchor geometric_1d_anchor
+Geometric Progression hypothesis
+
+Geometric Progression hypothesis allows splitting edges into
+segments with a length that changes in geometric progression (Lk =
+Lk-1 * d) starting from a given Start Length and with a given
+Common Ratio.
+
+The splitting direction is defined by the orientation of the
+underlying geometrical edge.
+Reverse Edges list box allows specifying the edges, for which
+the splitting should be made in the direction opposite to their
+orientation. This list box is usable only if a geometry object is
+selected for meshing. In this case it is possible to select edges to
+be reversed either directly picking them in the 3D viewer or by
+selecting the edges or groups of edges in the Object Browser. Use \b
+Add button to add the selected edges to the list.
+
+\ref reversed_edges_helper_anchor "Helper" group assists you in
+defining Reversed Edges parameter.
+
+\image html a-geometric1d.png
See Also a sample TUI Script of a
-\ref tui_1d_arithmetic "Defining Arithmetic 1D hypothesis" operation.
+\ref tui_1d_arithmetic "Defining Arithmetic 1D and Geometric Progression hypothesis" operation.
\anchor deflection_1d_anchor
Deflection 1D hypothesis
Deflection 1D hypothesis can be applied for meshing curvilinear edges
-composing your geometrical object. It uses only one parameter: the
-value of deflection.
-\n A geometrical edge is divided into equal segments. The maximum
-distance between a point on the edge within a segment and the line
-connecting the ends of the segment should not exceed the specified
-value of deflection . Then mesh nodes are constructed at end segment
-locations and 1D mesh elements are constructed on segments.
+composing your geometrical object. It defines only one parameter: the
+value of deflection (or chord error).
+
+A geometrical edge is divided into segments of length depending on
+edge curvature. The more curved the edge, the shorter the
+segment. Nodes on the edge are placed so that the maximum distance
+between the edge and a segment approximating a part of edge between
+two nodes should not exceed the value of deflection.
\image html a-deflection1d.png
-\image html b-flection1d.png
+\image html b-flection1d.png "Deflection 1D hypothesis - useful for meshing curvilinear edges"
See Also a sample TUI Script of a
\ref tui_deflection_1d "Defining Deflection 1D hypothesis" operation.
\anchor average_length_anchor
-Average Length hypothesis
+Local Length hypothesis
-Average Length hypothesis can be applied for meshing of edges
+Local Length hypothesis can be applied for meshing of edges
composing your geometrical object. Definition of this hypothesis
-consists of setting the \b length of segments, which will split these
-edges, and the \b precision of rounding. The points on the edges
-generated by these segments will represent nodes of your mesh.
-Later these nodes will be used for meshing of the faces abutting to
-these edges.
-
-The \b precision parameter is used to allow rounding a number of
-segments, calculated from the edge length and average length of
-segment, to the lower integer, if this value outstands from it in
-bounds of the precision. Otherwise, the number of segments is rounded
-to the higher integer. Use value 0.5 to provide rounding to the
-nearest integer, 1.0 for the lower integer, 0.0 for the higher
-integer. Default value is 1e-07.
+consists of setting the \b length of segments, which will approximate these
+edges, and the \b precision of rounding.
+
+The \b precision parameter is used to round a number of segments,
+calculated by dividing the edge length by the specified \b length of
+segment, to the higher integer if the \a remainder exceeds the \b precision
+and to the lower integer otherwise.
+Use value 0.5 to provide rounding to the nearest integer, 1.0 for the lower integer, 0.0 for the higher integer. Default value is 1e-07.
+
+For example: if edge length is 10.0 and the segment \b length
+is 3.0 then their division gives 10./3. = 3.33(3) and the \a remainder is 0.33(3).
+If \b precision is less than 0.33(3) then the edge is divided into 3 segments.
+If \b precision is more than 0.33(3) then the edge is divided into 4 segments.
+
\image html image41.gif
\image html a-averagelength.png
-\image html b-erage_length.png
+\image html b-erage_length.png "Local Length hypothesis - all 1D mesh segments are equal"
See Also a sample TUI Script of a
-\ref tui_average_length "Defining Average Length" hypothesis
+\ref tui_average_length "Defining Local Length" hypothesis
operation.
+
\anchor max_length_anchor
+Max Size
+Max Size hypothesis allows splitting geometrical edges into
+segments not longer than the given length. Definition of this hypothesis
+consists of setting the maximal allowed \b length of segments.
+Use preestimated length check box lets you use \b length
+automatically calculated basing on size of your geometrical object,
+namely as diagonal of bounding box divided by ten. The divider can be
+changed via "Ratio Bounding Box Diagonal / Max Size"
+preference parameter.
+Use preestimated length check box is enabled only if the
+geometrical object has been selected before hypothesis definition.
+
+\image html a-maxsize1d.png
+
\anchor number_of_segments_anchor
Number of segments hypothesis
-Number of segments hypothesis can be applied for meshing of edges
-composing your geometrical object. Definition of this hypothesis
-consists of setting the number of segments, which will split these
-edges. In other words your edges will be split into a definite number
-of segments with approximately the same length. The points on the
-edges generated by these segments will represent nodes of your
-mesh. Later these nodes will be used for meshing of the faces abutting
-to these edges.
+Number of segments hypothesis can be applied for approximating
+edges by a definite number of mesh segments with length depending on
+the selected type of distribution of nodes.
+
+The direction of the splitting is defined by the orientation of the
+underlying geometrical edge. Reverse Edges list box allows to
+specify the edges for which the splitting should be made in the
+direction opposing to their orientation. This list box is enabled only
+if the geometry object is selected for the meshing. In this case it is
+possible to select edges to be reversed either by directly picking them
+in the 3D viewer or by selecting the edges or groups of edges in the
+Object Browser.
-\image html image46.gif
+\ref reversed_edges_helper_anchor "Helper" group assists you in
+defining Reversed Edges parameter.
-You can set the type of distribution for this hypothesis in the
+You can set the type of node distribution for this hypothesis in the
Hypothesis Construction dialog bog :
\image html a-nbsegments1.png
@@ -100,46 +209,74 @@ You can set the type of distribution for this hypothesis in the
Equidistant Distribution - all segments will have the same
length, you define only the Number of Segments.
-\image html b-mberofsegments.png
+
Scale Distribution - length of segments gradually changes
+depending on the Scale Factor, which is a ratio of the first
+segment length to the last segment length.
+Length of segments changes in geometric progression with the common
+ratio (A) depending on the Scale Factor (S) and Number of
+Segments (N) as follows: A = S**(1/(N-1))
. For an
+edge of length L, length of the first segment is
+L * (1 - A)/(1 - A**N)
.
-
Scale Distribution - each next segment differs from the
-previous according to the formula: Ai+1 = Ai * k, where \b k is a
-Scale Factor.
\image html a-nbsegments2.png
-
Distribution with Table Density - you input a number of
-pairs t - F(t), where \b t ranges from 0 to 1, and the module computes the
-formula, which will rule the change of length of segments and shows
-the curve in the plot. You can select the Conversion mode from
-\b Exponent and Cut negative.
-
-\image html distributionwithtabledensity.png
-
Distribution with Analytic Density - you input the formula,
which will rule the change of length of segments and the module shows
-the curve in the plot.
+in the plot the density function curve in red and the node
+distribution as blue crosses.
\image html distributionwithanalyticdensity.png
+
+\anchor analyticdensity_anchor
+The node distribution is computed so that to have the density function
+integral on the range between two nodes equal for all segments.
+\image html analyticdensity.png
+
+
Distribution with Table Density - you input a number of
+pairs t - F(t), where \b t ranges from 0 to 1, and the module computes the
+formula, which will rule the change of length of segments and shows
+in the plot the density function curve in red and the node
+distribution as blue crosses. The node distribution is computed in the
+same way as for
+\ref analyticdensity_anchor "Distribution with Analytic Density". You
+can select the Conversion mode from \b Exponent and Cut
+negative.
+
+\image html distributionwithtabledensity.png
+
See Also a sample TUI Script of a
\ref tui_deflection_1d "Defining Number of Segments" hypothesis
operation.
+\note The plot functionality is available only if GUI module is built with Plot 2D Viewer (option SALOME_USE_PLOT2DVIEWER is ON when building GUI module).
+
\anchor start_and_end_length_anchor
Start and End Length hypothesis
Start and End Length hypothesis allows to divide a geometrical edge
into segments so that the first and the last segments have a specified
-length. The length of each but the first segment differs from length
-of the previous one by a constant factor. Then mesh nodes are
-constructed at segment ends location and 1D mesh elements are
-constructed on them.
+length. The length of medium segments changes with automatically chosen
+geometric progression.
+
+The direction of the splitting is defined by the orientation of the
+underlying geometrical edge. Reverse Edges list box allows to
+specify the edges, for which the splitting should be made in the
+direction opposing to their orientation. This list box is enabled only
+if the geometry object is selected for the meshing. In this case it is
+possible to select edges to be reversed either by directly picking them
+in the 3D viewer or by selecting the edges or groups of edges in the
+Object Browser.
+
+\ref reversed_edges_helper_anchor "Helper" group assists you in
+defining Reversed Edges parameter.
+
\image html a-startendlength.png
-\image html b-art_end_length.png
+\image html b-art_end_length.png "The lengths of the first and the last segment are strictly defined"
See Also a sample TUI Script of a
\ref tui_start_and_end_length "Defining Start and End Length"
@@ -149,19 +286,82 @@ hypothesis operation.
\anchor automatic_length_anchor
Automatic Length
-This hypothesis is automatically applied when you select Assign a
-set of hypotheses option in Create Mesh menu.
+The dialog box prompts you to define the quality of the future mesh by
+only one parameter, which is \b Fineness, ranging from 0 (coarse mesh,
+low number of segments) to 1 (extremely fine mesh, great number of
+segments).
\image html automaticlength.png
-The dialog box prompts you to define the quality of the future mesh by
-only one parameter, which is \b Fineness, ranging from 0 (coarse mesh,
-low number of elements) to 1 (extremely fine mesh, great number of
-elements). Compare one and the same object (sphere) meshed with
+Compare one and the same object (sphere) meshed with
minimum and maximum value of this parameter.
-\image html image147.gif
+\image html image147.gif "Example of a rough mesh at Automatic Length Fineness of 0."
+
+\image html image148.gif "Example of a fine mesh at Automatic Length Fineness of 1."
+
+
+\anchor fixed_points_1d_anchor
+Fixed points 1D hypothesis
+
+Fixed points 1D hypothesis allows splitting edges through a
+set of points parametrized on the edge (from 1 to 0) and a number of
+segments for each interval limited by the points.
-\image html image148.gif
+\image html hypo_fixedpnt_dlg.png
+
+It is possible to check in Same Nb. Segments for all intervals
+option and to define one value for all intervals.
+
+The splitting direction is defined by the orientation of the
+underlying geometrical edge. Reverse Edges list box allows to
+specify the edges for which the splitting should be made in the
+direction opposite to their orientation. This list box is enabled only
+if the geometrical object is selected for meshing. In this case it is
+possible to select the edges to be reversed either directly picking them in
+the 3D viewer or selecting the edges or groups of edges in the
+Object Browser.
+
+\ref reversed_edges_helper_anchor "Helper" group assists in
+defining Reversed Edges parameter.
+
+
+\image html mesh_fixedpnt.png "Example of a sub-mesh on the edge built using Fixed points 1D hypothesis"
+
+See Also a sample TUI Script of a
+\ref tui_fixed_points "Defining Fixed Points" hypothesis operation.
+
+\anchor reversed_edges_helper_anchor
+Reversed Edges Helper
+
+\image html rev_edges_helper_dlg.png
+
+\b Helper group assists in defining Reversed Edges
+parameter of the hypotheses depending on edge direction.
+
+Show whole geometry check-box allows seeing the whole
+geometrical model in the 3D Viewer, which can help to understand the
+location of a set of edges within the model.
+
+Propagation chains group allows defining Reversed Edges
+for splitting opposite edges of quadrilateral faces in a logically
+uniform direction. When this group is activated, the list is filled
+with propagation chains found within the shape on which a hypothesis
+is assigned. When a chain is selected in the list its edges are shown
+in the Viewer with arrows, which enables choosing a common direction
+for all chain edges. \b Reverse button inverts the common direction of
+chain edges. \b Add button is active if some edges of a chain have a
+different direction, so you can click \b Add button to add them
+to Reversed Edges list.
+
+\image html propagation_chain.png "The whole geometry and a propagation chain"
+
+\note Alternatively, uniform direction of edges of one propagation
+chain can be achieved by
+\ref constructing_submeshes_page "definition of a sub-mesh" on one
+edge of the chain and assigning a
+\ref propagation_anchor "Propagation" additional hypothesis.
+Orientation of this edge (and hence of all the rest edges of the chain) can be
+controlled by using Reversed Edges field.
*/