X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2F1d_meshing_hypo.doc;h=c4de6317c9d1dd4d24a0d115ad88d69ebb060b61;hp=716ddd90d56c5c81849fa6192afe2fef6f6d83d0;hb=204a3246f4d94d4375bdac7391bec2b3ab49e0d9;hpb=79b1ac2b6df9117f16f11d444b1f165d477a1813 diff --git a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc index 716ddd90d..c4de6317c 100644 --- a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc +++ b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc @@ -2,97 +2,209 @@ \page a1d_meshing_hypo_page 1D Meshing Hypotheses -
+Basic 1D hypothesis specifies: + + +1D hypotheses can be categorized by type of nodes distribution as follows: +
+\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

+

Arithmetic Progression hypothesis

-Arithmetic 1D hypothesis allows to split edges into segments with a +Arithmetic Progression hypothesis allows to split edges into segments with a 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 Progression hypothesis - the size of mesh elements gradually increases" See Also a sample TUI Script of a -\ref tui_1d_arithmetic "Defining Arithmetic 1D hypothesis" operation. +\ref tui_1d_arithmetic "Defining Arithmetic Progression 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 Progression and Geometric Progression hypothesis" operation.
\anchor deflection_1d_anchor -

Deflection 1D hypothesis

+

Deflection 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. +Deflection hypothesis can be applied for meshing curvilinear edges +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 hypothesis - useful for meshing curvilinear edges" See Also a sample TUI Script of a -\ref tui_deflection_1d "Defining Deflection 1D hypothesis" operation. +\ref tui_deflection_1d "Defining Deflection 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 \ref diagonal_size_ratio_pref "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. - -\image html image46.gif - -You can set the type of distribution for this hypothesis in the +

Number of Segments hypothesis

+ +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 default number of +segments can be set via +\ref nb_segments_pref "Automatic Parameters / Default Number of Segments" +preference parameter. + +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. + +You can set the type of node distribution for this hypothesis in the Hypothesis Construction dialog bog : \image html a-nbsegments1.png @@ -100,46 +212,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 +289,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 hypothesis

+ +Fixed Points 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 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. */