From 5dd3b79b00b742edd86b9df5f29948d83b2df892 Mon Sep 17 00:00:00 2001 From: ysn Date: Mon, 25 May 2015 12:40:41 +0300 Subject: [PATCH] Mesh module help update --- .../gui/SMESH/images/extrusionalongaline2.png | Bin 38678 -> 9123 bytes .../gui/SMESH/images/extrusionalongaline3.png | Bin 39501 -> 8196 bytes .../gui/SMESH/input/1d_meshing_hypo.doc | 39 ++++---- .../gui/SMESH/input/2d_meshing_hypo.doc | 8 +- doc/salome/gui/SMESH/input/about_filters.doc | 2 +- doc/salome/gui/SMESH/input/about_hypo.doc | 15 ++- doc/salome/gui/SMESH/input/about_meshes.doc | 32 +++--- .../gui/SMESH/input/additional_hypo.doc | 45 +++++---- .../gui/SMESH/input/basic_meshing_algos.doc | 7 +- .../input/borders_at_multi_connection.doc | 4 +- .../input/borders_at_multi_connection_2d.doc | 2 +- .../gui/SMESH/input/building_compounds.doc | 18 ++-- .../changing_orientation_of_elements.doc | 4 +- .../gui/SMESH/input/constructing_meshes.doc | 93 +++++++++--------- .../SMESH/input/constructing_submeshes.doc | 25 +++-- .../input/create_groups_from_geometry.doc | 6 +- .../gui/SMESH/input/creating_groups.doc | 8 +- .../input/diagonal_inversion_of_elements.doc | 3 +- doc/salome/gui/SMESH/input/extrusion.doc | 33 ++++--- .../input/group_of_underlying_elements.doc | 8 +- .../gui/SMESH/input/grouping_elements.doc | 32 +++--- doc/salome/gui/SMESH/input/index.doc | 8 +- .../gui/SMESH/input/merging_elements.doc | 15 ++- doc/salome/gui/SMESH/input/merging_nodes.doc | 15 ++- .../gui/SMESH/input/mesh_preferences.doc | 35 ++++--- .../gui/SMESH/input/modifying_meshes.doc | 4 +- doc/salome/gui/SMESH/input/quad_ijk_algo.doc | 30 +++--- doc/salome/gui/SMESH/input/reorient_faces.doc | 10 +- doc/salome/gui/SMESH/input/revolution.doc | 6 +- .../SMESH/input/selection_filter_library.doc | 12 +-- doc/salome/gui/SMESH/input/smoothing.doc | 6 +- doc/salome/gui/SMESH/input/symmetry.doc | 12 +-- .../SMESH/input/uniting_set_of_triangles.doc | 4 +- .../gui/SMESH/input/uniting_two_triangles.doc | 4 +- 34 files changed, 268 insertions(+), 277 deletions(-) diff --git a/doc/salome/gui/SMESH/images/extrusionalongaline2.png b/doc/salome/gui/SMESH/images/extrusionalongaline2.png index 32ea34f4a01773b1e162c2fe4b50e4baed3baede..f0e6d9e939cbad17fee99225115d22d1fe457d66 100644 GIT binary patch literal 9123 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 Q={|zO3l+I)8RNkJ16D)KHvj+t literal 39501 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
  • 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-continues edges.
  • +
  • how \ref a1d_algos_anchor "Composite Side Discretization" should divide the group of C1-continuous edges.
  • -By type of nodes distribution the 1D hypotheses can be categorized as follows: +1D hypotheses can be categorized by type of nodes distribution as follows:
      -
    • Uniform distribution +
    • 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 +
    • 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 +
    • Distribution depending on curvature:
      • \ref adaptive_1d_anchor "Adaptive"
      • \ref deflection_1d_anchor "Deflection 1D"
    • -
    • Arbitrary distribution +
    • Arbitrary distribution:
      • \ref fixed_points_1d_anchor "Fixed points 1D"
      • \ref number_of_segments_anchor "Number of segments" with @@ -316,7 +316,7 @@ 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 you in +\ref reversed_edges_helper_anchor "Helper" group assists in defining Reversed Edges parameter. @@ -330,23 +330,22 @@ defining Reversed Edges parameter. \image html rev_edges_helper_dlg.png -\b Helper group assists you in defining Reversed Edges +\b Helper group assists in defining Reversed Edges parameter of the hypotheses depending on edge direction. -Show whole geometry check-box lets you see the whole -geometrical model in the 3D Viewer. This can help you to understand -location within the model of a set of edges shown in the Viewer. +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 helps you to define -Reversed Edges so that opposite edges of quadrilateral faces -will be split in the logically same direction. When this group is +Propagation chains group allows 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 -model. When you select a chain in the list, edges of the chain are -shown in the Viewer with arrows so that you can chose a common -direction for all chain edges. \b Reverse button inverses the common -direction of chain edges. If \b Add button is active, this means that some -edges of a chain have different direction and you can click \b Add -button to add such edges to Reversed Edges list. +model. 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. If \b Add button is active, 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" diff --git a/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc index 234ffd11b..c014ee634 100644 --- a/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc +++ b/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc @@ -26,9 +26,9 @@ which will compose the mesh of these faces. \anchor length_from_edges_anchor

        Length from Edges

        -Length from edges hypothesis defines maximum linear size of -mesh faces as an average length of mesh edges approximating a boundary -of a face being meshed. +Length from edges hypothesis defines the maximum linear size of +mesh faces as an average length of mesh edges approximating +the meshed face boundary. See Also a sample TUI Script of a \ref tui_length_from_edges "Length from Edges" hypothesis operation. @@ -113,7 +113,7 @@ of the enforced nodes. projected to the meshed face and located close enough to the meshed face will be used to create the enforced nodes.
      -\note Enforced nodes can't be created at \b Reduced transition type. +\note Enforced nodes cannot be created at \b Reduced transition type. Let us see how the algorithm works:
        diff --git a/doc/salome/gui/SMESH/input/about_filters.doc b/doc/salome/gui/SMESH/input/about_filters.doc index bbd596023..f331fa4be 100644 --- a/doc/salome/gui/SMESH/input/about_filters.doc +++ b/doc/salome/gui/SMESH/input/about_filters.doc @@ -26,7 +26,7 @@ about selection filters and their usage in GUI. - In Python scripts, filters can be used to choose only some mesh entities (nodes or elements) for the operations, which require the list of entities as input parameter (create/modify group, remove - nodes/elements, etc) and for the operations, which accept objects as + nodes/elements, etc) and for the operations, which accept objects as input parameter. The page \ref tui_filters_page provides examples of the filters usage in Python scripts. */ diff --git a/doc/salome/gui/SMESH/input/about_hypo.doc b/doc/salome/gui/SMESH/input/about_hypo.doc index b2dab5dbf..651b38a91 100644 --- a/doc/salome/gui/SMESH/input/about_hypo.doc +++ b/doc/salome/gui/SMESH/input/about_hypo.doc @@ -14,17 +14,16 @@ The choice of a hypothesis depends on the selected algorithm. Hypotheses are created during creation and edition of \ref constructing_meshes_page "meshes" and -\ref constructing_submeshes_page "sub-mesh". +\ref constructing_submeshes_page "sub-meshes". Once created a hypotheses can be reused during creation and edition of other meshes and sub-meshes. All created hypotheses and algorithms are present in the Object Browser in \a Hypotheses and -\a Algorithms folders correspondingly. From the context menu of the -hypothesis you can invoke a dialog for modification of its parameters, -and \b Unassign command that will unassign the hypothesis from all -the meshes and sub-meshes using it. -Modification of any hypothesis parameter and unassignment of a -hypothesis leads to automatic removal of elements generated with use -of this hypothesis. +\a Algorithms folders correspondingly. It is possible to open a dialog +to modify the parameters of a hypothesis from its context menu. +This menu also provides \b Unassign command that will unassign the hypothesis from all +meshes and sub-meshes using it. +Modification of any parameter of a hypothesis and its unassignment lead +to automatic removal of elements generated using it. In \b MESH there are the following Basic Hypotheses:
          diff --git a/doc/salome/gui/SMESH/input/about_meshes.doc b/doc/salome/gui/SMESH/input/about_meshes.doc index 470cb854d..f40546ee5 100644 --- a/doc/salome/gui/SMESH/input/about_meshes.doc +++ b/doc/salome/gui/SMESH/input/about_meshes.doc @@ -19,21 +19,21 @@ Mesh module provides several ways to create the mesh: Construction of \subpage constructing_submeshes_page "sub-meshes" allows to discretize some sub-shapes of the main shape, for example a face, - using different meshing parameters than other sub-shapes.
          + using the meshing parameters that differ from those for other sub-shapes.
          Meshing parameters of meshes and sub-meshes can be \subpage editing_meshes_page "edited". (Upon edition only mesh entities generated using changed meshing parameters are removed and will be re-computed).
          - \note Algorithms and hypotheses used at mesh level are referred as - \a global ones and those used at sub-mesh level are referred as \a + \note Algorithms and hypotheses used at mesh level are referred to as + \a global ones and those used at sub-mesh level are referred to as \a local ones.
        • Bottom-up way, using \ref modifying_meshes_page "mesh modification" operations, especially \ref extrusion_page "extrusion" and \ref - revolution_page "revolution". To create an empty mesh not based on + revolution_page "revolution". To create an empty mesh not based on a geometry, use the same dialog as to \ref constructing_meshes_page - "construct the mesh on geometry" but do not specify any geometry - nor meshing algorithm. + "construct the mesh on geometry" but do not specify a geometry + or a meshing algorithm.
        • The mesh can be \ref importing_exporting_meshes_page "imported" from (and exported to) the file in MED, UNV, STL, CGNS, DAT, GMF and @@ -41,7 +41,7 @@ Mesh module provides several ways to create the mesh:
        • The 3D mesh can be generated from the 2D mesh, \ref importing_exporting_meshes_page "imported" or manually created. To - setup the meshing parameters of a mesh not based on geometry, just + setup the meshing parameters of a mesh not based on a geometry, just invoke \ref editing_meshes_page "Edit mesh / sub-mesh" command on your 3D mesh.
        • @@ -66,29 +66,29 @@ Attractive meshing capabilities include: sub-meshes. The \b structure of a SALOME mesh is described by nodes and elements based on -these nodes. Geometry of the element is defined by the sequence of +these nodes. The geometry of an element is defined by the sequence of nodes constituting it and the connectivity convention (adopted from MED library). Definition of -the element basing on elements of lower dimension is NOT supported. +the element basing on the elements of a lower dimension is NOT supported. \anchor mesh_entities The mesh can include the following entities:
            -
          • \b Node — an entity of a mesh defining a position in 3D +
          • \b Node — a mesh entity defining a position in 3D space with coordinates (x, y, z).
          • -
          • \b Edge (or segment) — 1D element of a mesh linking two nodes.
          • -
          • \b Face — 2D element of a mesh representing a part of +
          • \b Edge (or segment) — 1D mesh element linking two nodes.
          • +
          • \b Face — 2D mesh element representing a part of surface bound by links between face nodes. A face can be a triangle, quadrangle or polygon.
          • -
          • \b Volume — 3D element of a mesh representing a part of 3D +
          • \b Volume — 3D mesh element representing a part of 3D space bound by volume facets. Nodes of a volume describing each facet are defined by the MED connectivity convention. A volume can be a tetrahedron, hexahedron, pentahedron, pyramid, hexagonal prism or polyhedron.
          • -
          • \b 0D element — element of a mesh defined by one node.
          • -
          • \b Ball element — discrete element of a mesh defined by a +
          • \b 0D element — mesh element defined by one node.
          • +
          • \b Ball element — discrete mesh element defined by a node and a diameter.
          @@ -97,7 +97,7 @@ generated on (if any). The node generated on the geometrical edge or surface in addition stores its position in parametric space of the associated geometrical entity. -SALOME supports elements of second order, without central node +SALOME supports elements of second order, without a central node (quadratic triangle, quadrangle, tetrahedron, hexahedron, pentahedron and pyramid) and with central nodes (bi-quadratic triangle and quadrangle and tri-quadratic hexahedron).
          diff --git a/doc/salome/gui/SMESH/input/additional_hypo.doc b/doc/salome/gui/SMESH/input/additional_hypo.doc index 9bade2149..a1f3070e9 100644 --- a/doc/salome/gui/SMESH/input/additional_hypo.doc +++ b/doc/salome/gui/SMESH/input/additional_hypo.doc @@ -31,12 +31,12 @@ The following additional hypothesis are available:

          Propagation of 1D Hypothesis on opposite edges

          Propagation of 1D Hypothesis on opposite edges allows to mesh -opposite sides of a quadrangle face, and of other adjacent quadrangles, -using the same hypothesis assigned to one edge only.
          -Thus you define a sub-mesh on an edge where you define 1D meshing -parameters and a \b Propagation hypothesis. These local meshing +opposite sides of a quadrangle face and other adjacent quadrangles, +using the same hypothesis assigned to only one edge.
          +Thus you define a sub-mesh on the edge where you define 1D meshing +parameters and the \b Propagation hypothesis. These local meshing parameters will be propagated via opposite sides of quadrangles to the -whole geometry, or till an edge with other local meshing parameters. +whole geometry, or to an edge with other local meshing parameters. This hypothesis can be taken into account by \ref a1d_algos_anchor "Wire Discretization" and @@ -84,17 +84,17 @@ computations.
        • Stretch factor - defines the growth factor of element height from the mesh boundary inwards.
        • Extrusion method (available in 3D only) - defines how - position of nodes are found during prism construction and how - creation of distorted and intersecting prisms is prevented. -
          • Surface offset + smooth method extrudes nodes along normal - to underlying geometrical surface. Smoothing of internal surface of + positions of nodes are found during prism construction and how + the creation of distorted and intersecting prisms is prevented. +
            • Surface offset + smooth method extrudes nodes along the normal + to the underlying geometrical surface. Smoothing of the internal surface of element layers is possible to avoid creation of invalid prisms.
            • -
            • Face offset method extrudes nodes along average normal of - surrounding mesh faces till intersection with a neighbor mesh face - translated along its own normal by the layers thickness. Thickness +
            • Face offset method extrudes nodes along the average normal of + surrounding mesh faces to the intersection with a neighbor mesh face + translated along its own normal by the thickness of layers. The thickness of layers can be limited to avoid creation of invalid prisms.
            • -
            • Node offset method extrudes nodes along average normal of - surrounding mesh faces by the layers thickness. Thickness of +
            • Node offset method extrudes nodes along the average normal of + surrounding mesh faces by the thickness of layers. The thickness of layers can be limited to avoid creation of invalid prisms.
            • \image html viscous_layers_extrusion_method.png "Prisms created by the tree extrusion methods at the same other parameters"
          • @@ -107,9 +107,9 @@ computations. Faces (or edges) can be selected either in the Object Browser or in the VTK Viewer. \note A mesh shown in the 3D Viewer can prevent selection of faces - and edges, just hide the mesh to avoid this. Sometimes a face to - select is hidden by other faces, in this case consider creating a - group of faces you want to select in the Geometry module.
            + and edges, just hide the mesh to avoid this. If a face, which should be + selected, is hidden by other faces, consider creating a + group of faces to be selected in the Geometry module.
            To avoid a long wait when a geometry with many faces (or edges) is displayed, the number of faces (edges) shown at a time is limited by the value of "Sub-shapes @@ -150,12 +150,12 @@ computations. Quadratic Mesh hypothesis allows to build a quadratic mesh (in which links between element nodes are not straight but curved lines due to -presence of an additional midside node). +presence of an additional mid-side node). This 1D hypothesis can be taken into account by \ref a1d_algos_anchor "Wire Discretization" and \ref a1d_algos_anchor "Composite Side Discretization" algorithms. To -make a quadratic mesh assign this hypothesis at +create a quadratic mesh assign this hypothesis at \ref constructing_meshes_page "mesh construction". See \ref adding_quadratic_elements_page @@ -168,9 +168,8 @@ for more information about quadratic meshes. This additional hypothesis can be used together with 2D triangulation algorithms. It allows 2D triangulation algorithms to build quadrangular meshes. -When used with "Quadrangle (Mapping)" meshing algorithm, that is obsolete - since introducing \ref hypo_quad_params_anchor "Quadrangle parameters" -hypothesis, this hypothesis has one restriction on its work: the total quantity of +This hypothesis cannot be used with "Quadrangle (Mapping)" meshing algorithm, + since \ref hypo_quad_params_anchor "Quadrangle parameters" +hypothesis has a restriction: the total quantity of segments on all four sides of the face must be even (divisible by 2). - */ diff --git a/doc/salome/gui/SMESH/input/basic_meshing_algos.doc b/doc/salome/gui/SMESH/input/basic_meshing_algos.doc index f494926d1..87c6ac9b4 100644 --- a/doc/salome/gui/SMESH/input/basic_meshing_algos.doc +++ b/doc/salome/gui/SMESH/input/basic_meshing_algos.doc @@ -7,7 +7,7 @@ used for meshing entities (1D, 2D, 3D sub-shapes) composing geometrical objects. An algorithm represents either an implementation of a certain meshing -technique or a interface to a whole meshing program generating elements +technique or an interface to the whole meshing program generating elements of several dimensions.
              @@ -17,10 +17,9 @@ of several dimensions.
            • Wire Discretization meshing algorithm - splits an edge into a number of mesh segments following an 1D hypothesis.
            • -
            • Composite Side Discretization algorithm - allows to apply an 1D +
            • Composite Side Discretization algorithm - allows to apply a 1D hypothesis to a whole side of a geometrical face even if it is - composed of several edges provided that they form C1 curve and form - one side in all faces of the main shape.
            • + composed of several edges provided that they form C1 curve in all faces of the main shape.
          • For meshing of 2D entities (faces):
          • diff --git a/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc b/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc index b4f14481f..46fbc6047 100644 --- a/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc +++ b/doc/salome/gui/SMESH/input/borders_at_multi_connection.doc @@ -2,8 +2,8 @@ \page borders_at_multi_connection_page Borders at multi-connection -\n This mesh quality control highlights segments according to number -of elements, faces and volumes, the segment belongs to. +\n This mesh quality control highlights segments according to the number +of elements, faces and volumes, to which the segment belongs. \image html image151.gif diff --git a/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc b/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc index e0e78959b..77a439130 100644 --- a/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc +++ b/doc/salome/gui/SMESH/input/borders_at_multi_connection_2d.doc @@ -3,7 +3,7 @@ \page borders_at_multi_connection_2d_page Borders at multi-connection 2D \n This mesh quality control highlights borders of faces (links -between nodes) according to number of faces the link belongs to. +between nodes) according to the number of faces, to which the link belongs. \image html image127.gif diff --git a/doc/salome/gui/SMESH/input/building_compounds.doc b/doc/salome/gui/SMESH/input/building_compounds.doc index fb48fdb26..c10455d5c 100644 --- a/doc/salome/gui/SMESH/input/building_compounds.doc +++ b/doc/salome/gui/SMESH/input/building_compounds.doc @@ -4,10 +4,10 @@ \n Compound Mesh is a combination of several meshes. All elements and groups present in input meshes are present in the compound -mesh. Neither geometry nor hypotheses of initial meshes are used by -the compound mesh. No link between input meshes and a compound mesh is -supported, so that modification of an input mesh does not lead to -update of the compound mesh. +mesh. However, it does not use geometry or hypotheses of the initial meshes. +The links between the input meshes and the compound mesh are not +supported, consequently the modification of an input mesh does not lead to +the update of the compound mesh. To Build a compound mesh: @@ -27,15 +27,15 @@ The following dialog box will appear:
            • \b Name - allows selecting the name of the resulting \b Compound mesh.
            • Meshes, sub-meshes, groups - allows selecting the meshes, - sub-meshes and groups which will be concatenated. They can be + sub-meshes and groups to be concatenated. They can be chosen in the Object Browser while holding \b Ctrl button.
            • Processing identical groups - allows selecting the method of processing the namesake groups existing in the input meshes. They can be either
                -
              • \b United - all elements of Group1 of Mesh_1 and Group1 of Mesh_2 - become the elements of Group1 of the Compound_Mesh, or
              • -
              • \b Renamed - Group1 of Mesh_1 becomes Group1_1 and Group1 of Mesh_2 - becomes Group1_2.
              • +
              • \b United - all elements of \em Group1 \em of Mesh_1 and \em Group1 of \em Mesh_2 + become the elements of \em Group1 of the \em Compound_Mesh, or
              • +
              • \b Renamed - \em Group1 of \em Mesh_1 becomes \em Group1_1 and \em Group1 of \em Mesh_2 + becomes \em Group1_2.
              See \ref grouping_elements_page "Creating Groups" for more information about groups.
            • diff --git a/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc b/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc index 673e43fda..7253782c1 100644 --- a/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc +++ b/doc/salome/gui/SMESH/input/changing_orientation_of_elements.doc @@ -28,12 +28,12 @@ element will be added to the list. To remove a selected element or elements from the list click the \b Remove button. The \b Sort button allows to sort the list of elements IDs. The Set filter button - allows to apply a definite \ref filtering_elements "filter" to + allows to apply a definite \ref filtering_elements "filter" to the selection of elements.
            • Apply to all radio button allows to modify the orientation of all elements of the selected mesh.
            • Select from set of fields allows to choose a sub-mesh or an - existing group whose elements then can be added to the list.
            • + existing group whose elements can be added to the list.
            diff --git a/doc/salome/gui/SMESH/input/constructing_meshes.doc b/doc/salome/gui/SMESH/input/constructing_meshes.doc index 66941609e..de4167b6c 100644 --- a/doc/salome/gui/SMESH/input/constructing_meshes.doc +++ b/doc/salome/gui/SMESH/input/constructing_meshes.doc @@ -2,55 +2,53 @@ \page constructing_meshes_page Constructing meshes -To create a mesh on geometry, at first you create a mesh object by choosing +To create a mesh on geometry, it is necessary to create a mesh object by choosing - a geometrical shape produced in the Geometry module (main shape); - meshing parameters, including - \ref basic_meshing_algos_page "meshing algorithms" and - \ref about_hypo_page "hypotheses" specifying constraints to be - taken into account by chosen meshing algorithms. + taken into account by the chosen meshing algorithms. -Then you already can launch mesh generation by invoking \ref -compute_anchor "Compute" command. +Then you can launch mesh generation by invoking \ref compute_anchor "Compute" command. \note Sometimes \a hypotheses term is used to refer to both algorithms and hypotheses. -Generation of the mesh on the geometry is performed in the bottom-up +Mesh generation on the geometry is performed in the bottom-up flow: nodes on vertices are created first, then edges are divided into -segments using nodes on vertices; the segments of the edges is then -used while meshing faces; then the mesh of the faces is used while meshing +segments using nodes on vertices; the segments of edges are then +used to mesh faces; then the mesh of faces is used to mesh solids. This automatically assures the conformity of the mesh. -You are to choose a meshing algorithm for every dimension of -sub-shapes up to the highest dimension you desire to generate. Note -that some algorithms generate elements of several dimensions while -others, of only one. But it's not necessary to define meshing +It is required to choose a meshing algorithm for every dimension of +sub-shapes up to the highest dimension to be generated. Note +that some algorithms generate elements of several dimensions, and +others of only one. It is not necessary to define meshing parameters for all dimensions at once; you can start from 1D meshing parameters only, compute the 1D mesh, then define 2D meshing -parameters and compute the 2D mesh (note that 1D mesh won't be +parameters and compute the 2D mesh (note that 1D mesh will not be re-computed). An algorithm of a certain dimension chosen at mesh creation is applied -to discretize every sub-shape of this dimension. But you can +to discretize every sub-shape of this dimension. It is possible to specify a different algorithm or hypothesis to be applied to one or a group of sub-shapes by creating a \ref constructing_submeshes_page "sub-mesh". You can specify no algorithms at all at mesh object creation and specify the meshing parameters on sub-meshes only; then -only sub-shapes for which you defined an algorithm and a needed -hypothesis (if any) will be discretized. +only the sub-shapes, for which an algorithm and a hypothesis (if any) +have been defined will be discretized. -\n Construction of a mesh on some geometry includes at least two (mesh +\n Construction of a mesh on a geometry includes at least two (mesh creation and computing) of the following steps:
              -
            • \ref create_mesh_anchor "Creation of a mesh object" where you +
            • \ref create_mesh_anchor "Creation of a mesh object", where you can specify meshing parameters to apply to all sub-shapes of the main shape.
            • -
            • \ref constructing_submeshes_page "Creation of sub-meshes" - (optional) where you can specify meshing parameters to apply to +
            • \ref constructing_submeshes_page "Creation of sub-meshes", + (optional) where you can specify meshing parameters to apply to the selected sub-shapes.
            • \ref evaluate_anchor "Evaluating mesh size" (optional) can be - used to know approximate number of elements before actual generation - of them.
            • + used to know an approximate number of elements before their actual generation.
            • \ref preview_anchor "Previewing the mesh" (optional) can be used to generate mesh of only lower dimension(s) in order to visually estimate it before full mesh generation, which can be much @@ -61,8 +59,8 @@ creation and computing) of the following steps:
            • \ref compute_anchor "Computing the mesh" uses defined meshing parameters to generate mesh elements.
            • \ref edit_anchor "Editing the mesh" (optional) can be used to - \ref modifying_meshes_page "modify" mesh of lower dimension before - \ref compute_anchor "computing" elements of upper dimension.
            • + \ref modifying_meshes_page "modify" the mesh of a lower dimension before + \ref compute_anchor "computing" elements of an upper dimension.
            \anchor create_mesh_anchor @@ -103,10 +101,9 @@ creation and computing) of the following steps: 3D sub-shapes (solids) and generate 3D mesh elements (tetrahedra, hexahedra etc.) - As soon as you have selected an algorithm, you can create (or - select already created) a hypothesis. A set of accessible - hypotheses includes only hypotheses the selected algorithm can take - into account. + As soon as you have selected an algorithm, you can create a hypothesis (or + select an already created one). A set of accessible + hypotheses includes only the hypotheses that can be used by the selected algorithm. \note - Some page(s) can be disabled if the geometrical @@ -115,10 +112,10 @@ creation and computing) of the following steps: \b 3D page is disabled. - Some algorithms affect the geometry of several dimensions, i.e. 1D+2D or 1D+2D+3D. If such an algorithm is selected, the - dialog box pages related to the corresponding lower dimensions are + dialog pages related to the corresponding lower dimensions are disabled. - - \b 0D page does not refer to the 0D elements, but to 0D - geometry (vertices). Mesh module does not provide algorithms that + - \b 0D page refers to 0D geometry (vertices) rather than + to 0D elements. Mesh module does not provide algorithms that produce 0D elements. Currently \b 0D page provides only one algorithm "Segments around vertex" that allows specifying the required size of mesh edges about the selected vertex (or vertices). @@ -126,9 +123,9 @@ creation and computing) of the following steps: For example, you need to mesh a 3D object. First, you can change a default name of your mesh in the \b Name - box. Then check that a selected geometrical object, whose name is - shown in \b Geometry field, is that you wish to mesh; if not, click - the right object in the Object Browser. Click "Select" button + box. Then check that the selected geometrical object + indicated in \b Geometry field, is what you wish to mesh; if not, select + the correct object in the Object Browser. Click "Select" button near \b Geometry field if the name of the object has not yet appeared in \b Geometry field.
            @@ -225,9 +222,7 @@ creation and computing) of the following steps: \note - \a "Automatic" in the names of predefined sets of - hypotheses came from previous versions of SALOME where - \ref automatic_length_anchor "Automatic Length" hypothesis - was included in these sets, and not that these sets are suitable for + hypotheses does not actually mean that they are suitable for meshing any geometry. - The list of sets of hypotheses can be shorter than in the above image depending on the geometry dimension. @@ -381,18 +376,18 @@ click "Compute" button of the toolbar. After the mesh computation finishes, the Mesh Computation information box appears. If you close this box and click "Compute" button again, -without previously changing meshing parameters, the mesh is -NOT re-computed and the Mesh Computation information box with -the same contents is shown. (To fully re-compute the mesh, invoke \ref +without previously changing meshing parameters, the mesh will +NOT be re-computed and the Mesh Computation information box will be shown with +the same contents. (To fully re-compute the mesh, invoke \ref clear_mesh_anchor "Clear Mesh Data" command before). -In case of a success, the box shows information on number of entities +If the mesh computation has been a success, the box shows information on the number of entities of different types in the mesh. \image html meshcomputationsucceed.png \anchor meshing_failed_anchor -If the mesh computation failed, the information about the cause of the +If the mesh computation has failed, the information about the cause of the failure is provided in \b Errors table. \image html meshcomputationfail.png @@ -439,12 +434,12 @@ By default, the information box is always shown after mesh computation operation \anchor edit_anchor

            Editing the mesh

            -It is possible to \ref modifying_meshes_page "edit the mesh" of -lower dimension before generation of mesh of higher dimension. +It is possible to \ref modifying_meshes_page "edit the mesh" of a +lower dimension before generation of the mesh of a higher dimension. -For example you can generate 2D mesh, modify it using e.g. -\ref pattern_mapping_page, and then generate 3D mesh basing on the -modified 2D mesh. The workflow is following: +For example you can generate a 2D mesh, modify it using e.g. +\ref pattern_mapping_page, and then generate a 3D mesh basing on the +modified 2D mesh. The workflow is as follows: - Define 1D and 2D meshing algorithms. - Compute the mesh. 2D mesh is generated. - Apply \ref pattern_mapping_page. @@ -453,9 +448,9 @@ and hypotheses. - Compute the mesh. 3D mesh is generated. \note Nodes and elements added \ref adding_nodes_and_elements_page -"manually" can't be used in this workflow because the manually created -entities are not attached to any geometry and thus (usually) can't be -found by a mesher paving some geometry. +"manually" cannot be used in this workflow because the manually created +entities are not attached to any geometry and thus (usually) cannot be +found by the mesher paving a geometry. See Also a sample TUI Script demonstrates the possibility of \ref tui_editing_while_meshing "Intermediate edition while meshing" diff --git a/doc/salome/gui/SMESH/input/constructing_submeshes.doc b/doc/salome/gui/SMESH/input/constructing_submeshes.doc index 9da2e4f7f..43f99e5c5 100644 --- a/doc/salome/gui/SMESH/input/constructing_submeshes.doc +++ b/doc/salome/gui/SMESH/input/constructing_submeshes.doc @@ -11,8 +11,8 @@ and/or hypotheses than those used to generate the mesh on other sub-shapes. Creation of a sub-mesh allows to control individually meshing of a -certain sub-shape, thus allowing to get mesh locally coarser or finer, to get -elements of different types in the same mesh etc. +certain sub-shape, thus to get a locally coarser or finer mesh, to get +elements of different types in the same mesh, etc. A sub-shape to create a sub-mesh on should be retrieved from the main shape in one of the following ways:
              @@ -33,7 +33,7 @@ compound of solids, starts from searching an algorithm, 1D as for the edge. The following sub-shapes are sequentially checked for presence of a sub-mesh where 1D algorithm is assigned:
                -
              • the \b edge it-self
              • +
              • the \b edge itself
              • groups of edges containing the edge, if any
              • \b wires sharing the edge
              • \b faces sharing the edge
              • @@ -43,29 +43,28 @@ of a sub-mesh where 1D algorithm is assigned:
              • groups of solids sharing the edge, if any
              • the main shape
              -(This sequence of sub-shapes defines priority of sub-meshes. Thus more +(This sequence of sub-shapes defines the priority of sub-meshes. Thus more local, i.e. assigned to sub-shape of lower dimension, algorithms and hypotheses have higher priority during the search of hypotheses to apply.) -As soon as an 1D algorithm is found the search stops and the same -sequence of sub-shapes is checked to find a main and additional 1D -hypotheses the found 1D algorithm can take into account. +As soon as a 1D algorithm is found, the search stops and the same +sequence of sub-shapes is checked to find the main and additional 1D +hypotheses, which can be taken into account by the found 1D algorithm. -The multi-dimensional algorithms have higher priority than -uni-dimensional algorithms if they are assigned to sub-meshes of the +The multi-dimensional algorithms have a higher priority than +uni-dimensional ones if they are assigned to sub-meshes of the same priority. If meshing parameters are defined on sub-meshes of the same priority, -for example different 1D hypotheses are assigned to two faces sharing +for example, different 1D hypotheses are assigned to two faces sharing an edge, the hypothesis assigned to a sub-shape with a lower ID will be used for meshing. You can \ref submesh_order_anchor "change" mutual priority of such concurrent sub-meshes. - \n Construction of a sub-mesh consists of:
                -
              • Selecting a mesh which will encapsulate your sub-mesh
              • +
              • Selecting a mesh which will encapsulate the sub-mesh
              • Selecting a sub-shape for meshing
              • Applying one or several \ref about_hypo_page "hypotheses" and @@ -94,7 +93,7 @@ Geometry (e.g. a face if the parent mesh has been built on box) of the sub-mesh. You can define meshing algorithms and hypotheses in the same way as in \ref constructing_meshes_page "Create mesh" dialog. -Later you can change applied hypotheses or their parameters in +Later you can change the applied hypotheses or their parameters in \ref editing_meshes_page "Edit mesh/sub-mesh" dialog. Mesh entities generated using changed hypotheses are automatically removed. diff --git a/doc/salome/gui/SMESH/input/create_groups_from_geometry.doc b/doc/salome/gui/SMESH/input/create_groups_from_geometry.doc index 34a09a449..009866e47 100644 --- a/doc/salome/gui/SMESH/input/create_groups_from_geometry.doc +++ b/doc/salome/gui/SMESH/input/create_groups_from_geometry.doc @@ -14,9 +14,9 @@ menu in the Object browser Create Groups from Geometry item. \image html create_groups_from_geometry.png -In this dialog \b Elements group contains a list of shapes to create -groups of elements on them; \b Nodes group contains a list of shapes -to create groups of node on them. +In this dialog \b Elements group contains a list of shapes, on which +groups of elements will be created; \b Nodes group contains a list of shapes, +on which groups of nodes will be created. */ diff --git a/doc/salome/gui/SMESH/input/creating_groups.doc b/doc/salome/gui/SMESH/input/creating_groups.doc index 796353528..61077e052 100644 --- a/doc/salome/gui/SMESH/input/creating_groups.doc +++ b/doc/salome/gui/SMESH/input/creating_groups.doc @@ -98,11 +98,11 @@ of a certain type generated on the selected geometrical object. Group contents are dynamically updated if the mesh is modified. The group on geometry can be created only if the mesh is based on geometry. -To define a group, click a \a Selection button and chose +To define a group, click the \a Selection button and choose - Direct geometry selection to select a shape in the Object Browser or in the Viewer; - Find geometry by mesh element selection to activate a - dialog which retrieves a shape by a selected element generated on + dialog which retrieves a shape by the selected element generated on this shape. Note that this choice is available only if the mesh elements are @@ -130,8 +130,8 @@ of a certain type satisfying the defined filter. Group contents are dynamically updated if the mesh is modified. To define a group, click the Set filter button and define -criteria of the filter in the opened dialog. After confirmation of the -operation a new group of mesh elements will be created. See more about +criteria of the filter in the opened dialog. After the +operation is confirmed, a new group of mesh elements will be created. See more about filters on the \ref selection_filter_library_page "Selection filter library" page. diff --git a/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc b/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc index 1bc75ef20..c97663de2 100644 --- a/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc +++ b/doc/salome/gui/SMESH/input/diagonal_inversion_of_elements.doc @@ -18,7 +18,8 @@ The following dialog box shall appear: \image html diagonalinversion.png
              • -
              • Enter IDs of nodes forming the required edge in the \b Edge field (the node IDs must be separated by a dash) or select +
              • Enter IDs of nodes forming the required edge in the \b Edge field +(the node IDs must be separated by dashes) or select this edge in the 3D viewer.
              • Click the \b Apply or Apply and Close button.
              • diff --git a/doc/salome/gui/SMESH/input/extrusion.doc b/doc/salome/gui/SMESH/input/extrusion.doc index 6337e5a0e..e248114d2 100644 --- a/doc/salome/gui/SMESH/input/extrusion.doc +++ b/doc/salome/gui/SMESH/input/extrusion.doc @@ -8,7 +8,7 @@ mesh of plus one dimension are additionally created. All created elements can be automatically grouped. Extrusion can be used to create a \ref extrusion_struct "structured mesh from scratch". -\image html extrusion_box.png "If you extrude several quadrangles, you get exactly same mesh as if you meshed a geometrical box (except that the initial quadrangles can be incorrectly oriented): quadrangles and segments on boundary of generated mesh are created" +\image html extrusion_box.png "If you extrude several quadrangles, you get exactly the same mesh as if you meshed a geometrical box (except for that the initial quadrangles can be incorrectly oriented): quadrangles and segments are created on the boundary of the generated mesh"

                Any node, segment or 2D element can be extruded. Each type of elements is extruded into a corresponding type of result elements: @@ -32,15 +32,10 @@ elements is extruded into a corresponding type of result elements: "Extrusion" button

            -The following dialog, looking different depending on selected options, -will appear: +The following dialog will appear: \image html extrusionalongaline1.png -\image html extrusionalongaline2.png - -\image html extrusionalongaline3.png -
          • In this dialog: @@ -48,8 +43,8 @@ will appear:
          • Specify \b Nodes, \b Edges and \b Faces, which will be extruded, by one of following means:
              -
            • Select the whole mesh, sub-mesh or group activating this - checkbox.
            • +
            • Select the whole mesh, sub-mesh or group activating the + corresponding check-box.
            • Choose mesh elements with the mouse in the 3D Viewer. It is possible to select a whole area with a mouse frame.
            • Input the element IDs directly in Node IDs, Edge @@ -63,7 +58,10 @@ will appear:
            • If the Extrusion to Distance radio button is selected - specify the translation vector by which the elements will be extruded.
            • -
            • If the Extrusion Along Vector radio button is selected + +\image html extrusionalongaline2.png + +
            • If the Extrusion Along Vector radio button is selected
              • specify the coordinates of the \b Vector along which the elements will be extruded, either directly or by selecting the mesh face (the @@ -72,19 +70,22 @@ will appear: be negative).
            • + +\image html extrusionalongaline3.png +
            • If the Extrusion By Normal radio button is selected, - every node of selected faces is extruded along the \a average + every node of the selected faces is extruded along the \a average of the \a normal vectors to the faces sharing the node. (Nodes and - edges can't be extruded in this mode.) + edges cannot be extruded in this mode.)
              • Specify the \b Distance of extrusion (it can be negative),
              • Use Along average normal check-box to specify along - what vector the distance is measured. + which vector the distance is measured.
                • If it is \a activated the distance is measured along the average normal mentioned above.
                • If it is \a deactivated every node is extruded along the - average normal till its intersection with the virtual plane got + average normal till its intersection with a virtual plane obtained by translation of the face sharing the node along its own normal by the \b Distance.
                @@ -95,8 +96,8 @@ will appear: \image html extrusionbynormal_alongavgnorm.png "'Along average normal' activated (to the left) and deactivated (to the right)"

              • -
              • Using Use only input elements check-box specify what - elements to use to compute the average normal.
                  +
                • Use only input elements check-box specifies what + elements will be used to compute the average normal.
                  • If it is \a activated only selected faces, among faces sharing the node, are used to compute the average normal at the node.
                  • diff --git a/doc/salome/gui/SMESH/input/group_of_underlying_elements.doc b/doc/salome/gui/SMESH/input/group_of_underlying_elements.doc index e24cebd3e..7d31f7350 100755 --- a/doc/salome/gui/SMESH/input/group_of_underlying_elements.doc +++ b/doc/salome/gui/SMESH/input/group_of_underlying_elements.doc @@ -19,12 +19,12 @@ In this dialog box specify
                    • \b All - include if all nodes are common;
                    • \b Main - include if all corner nodes are common (meaningful for a quadratic mesh)
                    • -
                    • At least one - include if one or more node is common
                    • -
                    • \b Majority - include if half of nodes or more is common
                    +
                  • At least one - include if one or more nodes are common
                  • +
                  • \b Majority - include if half or more nodes are common
                • select reference groups,
                • -
                • Include underlying entities only option if activated - allows inclusion of an entity provided that it is based on nodes of +
                • If Include underlying entities only option is activated + an entity can be included if it is based on nodes of one element of a reference group.
                diff --git a/doc/salome/gui/SMESH/input/grouping_elements.doc b/doc/salome/gui/SMESH/input/grouping_elements.doc index b0b4ab065..335f5b071 100644 --- a/doc/salome/gui/SMESH/input/grouping_elements.doc +++ b/doc/salome/gui/SMESH/input/grouping_elements.doc @@ -12,35 +12,36 @@ visualization only and is not exported. There are three types of groups different by their internal organization:
                1. Standalone group is a static set of mesh entities. Its - contents can be explicitely controlled by the user. Upon removal of + contents can be explicitly controlled by the user. Upon removal of the entities included into the group, the group becomes empty and - the user is to pay efforts to restore its contents. Hence it is - resonable to create standalone groups when the mesh generation is + its content can be restored only manually. Hence it is + reasonable to create standalone groups when the mesh generation is finished and mesh quality is verified. \warning Creation and edition of large standalone groups in \ref creating_groups_page "Create group" dialog using manual edition is problematic due to poor performance of the dialog.
                2. -
                3. Group on geomerty is associated to one or a group of + +
                4. Group on geometry is associated to a sub-shape or a group of sub-shapes of the main shape and includes mesh entities generated on - this geometrical entities. The association to geometry is - established at group construction and can't be changed. The group - contents is always up-to-date without user's efforts, hence the + these geometrical entities. The association to a geometry is + established at group construction and cannot be changed. The group + contents are always updated automatically, hence the group can be created even before mesh elements generation.
                5. -
                6. Group on filter encapsulates a filter which is used to +
                7. Group on filter encapsulates a filter, which is used to select mesh entities composing the group from the whole mesh. Criteria of the filter can be changed at any time. The - group contents is always up-to-date without user's efforts, hence + group contents are always updated automatically, hence the group can be created even before mesh elements generation.
                The group on geometry and group on filter can be converted to -the standalone group. +a standalone group. \image html groups_in_OB.png "Groups of different types look differently in the Object Browser" The following ways of group creation are possible: - \subpage creating_groups_page "Create group" dialog allows creation of - a group of any of all the three types: + a group of any type: \ref standalone_group "Standalone group", \ref group_on_geom "Group on geometry" and \ref group_on_filter "Group on filter" using dedicated tabs. @@ -49,7 +50,7 @@ The following ways of group creation are possible: - Standalone groups of all nodes and elements of the chosen sub-mesh (type of elements depends on dimension of sub-mesh geometry) can be created using Mesh -> Construct Group menu item (available - in context menu as well). + from the context menu as well). - Standalone groups of any element type can be created basing on nodes of other groups - using \subpage group_of_underlying_elements_page "Group based on nodes of other groups" dialog. @@ -69,10 +70,9 @@ The created groups can be later: - \ref importing_exporting_meshes_page "Exported" into a file as a whole mesh. -In the Object Browser, if groups container item includes more -than one group, it is possible to sort the groups by name in -ascending order. For this, select the groups container in the Object -Browser and choose Sort children context menu item. +In the Object Browser, if an item contains more +than one group, it is possible to sort its groups by name in +ascending order using Sort children context menu item. \image html smesh_sort_groups.png "Sorting groups" diff --git a/doc/salome/gui/SMESH/input/index.doc b/doc/salome/gui/SMESH/input/index.doc index 48047a296..10475e5b3 100644 --- a/doc/salome/gui/SMESH/input/index.doc +++ b/doc/salome/gui/SMESH/input/index.doc @@ -16,7 +16,7 @@ either \ref importing_exporting_meshes_page "imported" or manually created);
              • -
              • \ref importing_exporting_meshes_page "import and export of meshes in various formats";
              • +
              • \ref importing_exporting_meshes_page "importing and exporting meshes in various formats";
              • \subpage modifying_meshes_page "modifying meshes" with a vast array of dedicated operations;
              • \subpage grouping_elements_page "creating groups of mesh elements";
              • @@ -28,11 +28,11 @@ the VTK viewer;
              • applying to meshes \subpage quality_page "Quality Controls", allowing to highlight important elements; -
              • various \subpage measurements_page "measurements" of the mesh objects. +
              • taking various \subpage measurements_page "measurements" of the mesh objects.
              -When setting parameters of operations, it is possible to use the variables predefined in -\subpage using_notebook_mesh_page "Salome notebook". +It is possible to use the variables predefined in +\subpage using_notebook_mesh_page "Salome notebook" to set parameters of operations. Mesh module preferences are described in the \subpage mesh_preferences_page section of SALOME Mesh Help. diff --git a/doc/salome/gui/SMESH/input/merging_elements.doc b/doc/salome/gui/SMESH/input/merging_elements.doc index 9cde2b0ce..c892b16c8 100644 --- a/doc/salome/gui/SMESH/input/merging_elements.doc +++ b/doc/salome/gui/SMESH/input/merging_elements.doc @@ -37,15 +37,15 @@ object selectable in the dialog box. Two elements are considered coincident if t
            • \b Detect button generates the list of coincident elements found in the selected object.
            • Coincident elements is a list of groups of elements for - merging. As result of the operation all elements of each group will - be replaced by the firts element of the group. + merging. After the operation all elements of each group will + be united into one element.
              • \b Remove button deletes the selected group from the list.
              • \b Add button adds to the list a group of elements selected in the viewer with pressed "Shift" key.
              • -
              • Select all checkbox selects all groups.
              • -
              • Show double elements IDs checkbox shows/hides identifiers of - elements of selected groups in the 3D viewer.
              • +
              • Select all check-box selects all groups.
              • +
              • Show double elements IDs check-box shows/hides identifiers of + elements of the selected groups in the 3D viewer.
            • Edit selected group list allows editing the selected group:

              @@ -53,12 +53,11 @@ object selectable in the dialog box. Two elements are considered coincident if t
              adds to the group the elements selected in the viewer.

              \image html remove.png -
              removes from the group the selected elements.
              +
              removes the selected elements from the group.

              \image html sort.png
              moves the selected element to the first position in the - group. This means that all other elements of the group will be - replaced by this one.
              + group.
            • To confirm your choice click \b Apply or Apply and Close button.
            • diff --git a/doc/salome/gui/SMESH/input/merging_nodes.doc b/doc/salome/gui/SMESH/input/merging_nodes.doc index 76692add1..08bd1e1dc 100644 --- a/doc/salome/gui/SMESH/input/merging_nodes.doc +++ b/doc/salome/gui/SMESH/input/merging_nodes.doc @@ -38,15 +38,15 @@ In this mode additional controls are available:
              • \b Detect button generates the list of coincident nodes for the given \b Tolerance.
              • -
              • Coincident nodes is a list of groups of nodes for - merging. As result of the operation all nodes of each group will be - replaces by the firts node of the group. +
              • Coincident nodes is a list of groups of elements for + merging. After the operation all elements of each group will + be united into one element.
                • \b Remove button deletes the selected group from the list.
                • \b Add button adds to the list a group of nodes selected in the viewer with pressed "Shift" key.
                • -
                • Select all checkbox selects all groups.
                • -
                • Show double nodes IDs checkbox shows/hides identifiers of +
                • Select all check-box selects all groups.
                • +
                • Show double nodes IDs check-box shows/hides identifiers of nodes of selected groups in the 3D viewer.
                @@ -65,15 +65,14 @@ nodes of selected groups in the 3D viewer.

              • \image html sort.png
                moves the selected node to the first position in the - group. This means that all other nodes of the group will be - replaced by this one.

                + group.
            • To confirm your choice click \b Apply or Apply and Close button.
            • -\image html merging_nodes1.png "The initial obgect" +\image html merging_nodes1.png "The initial object" \image html merging_nodes2.png "The object has been merged with a very big tolerance" diff --git a/doc/salome/gui/SMESH/input/mesh_preferences.doc b/doc/salome/gui/SMESH/input/mesh_preferences.doc index 7c47c1fa2..777333dcc 100644 --- a/doc/salome/gui/SMESH/input/mesh_preferences.doc +++ b/doc/salome/gui/SMESH/input/mesh_preferences.doc @@ -44,17 +44,17 @@ or in later sessions with this module according to the preferences. presentation mode as default. - Representation of the 2D quadratic elements - - Default mode of the 2D quadratic elements combobox - allows + - Default mode of the 2D quadratic elements combo-box - allows to select lines or arcs for representation of quadratic elements as default. - Maximum Angle - maximum deviation angle used by the application to build arcs. - Mesh export - - If you toggle Automatically create groups for MED export checkbox, + - If you toggle Automatically create groups for MED export check-box, this operation will be carried out automatically. - Mesh computation - - Show a computation result notification combobox allows to + - Show a computation result notification combob-ox allows to select the notification mode about a mesh computation result. There are 3 possible modes: - Never - do not show the result dialog at all; @@ -132,16 +132,16 @@ or in later sessions with this module according to the preferences. \image html pref22.png - Nodes allows to define default parameters for nodes, which will be applied - for a new created mesh only. Customization of already created meshes can be done using - \ref colors_size_page "Properties dialog box" that is called by click on popup menu of mesh. + for a newly created mesh only. Existing meshes can be customized using + \ref colors_size_page "Properties dialog box" available from the context menu of a mesh. - Color - allows to select the color of nodes. Click on the colored line to access to the Select Color dialog box. - Type of marker - allows to define the shape of nodes. - Scale of marker - allows to define the size of nodes. - Elements allows to define default parameters for different elements, which will be applied - for a new created mesh only. Customization of already created meshes can be done using - \ref colors_size_page "Properties dialog box" that is called by click on popup menu of mesh. + for a newly created mesh only. Existing meshes can be customized using + \ref colors_size_page "Properties dialog box" available from the context menu of a mesh. - Surface color - allows to select the surface color of 2D elements (seen in Shading mode). Click on the colored line to access to the Select Color dialog box. @@ -175,21 +175,20 @@ or in later sessions with this module according to the preferences. - Groups - Names color - specifies color of group names to be used in 3D viewer. - - Default color - specifies default group color, which is used - when creating new mesh group (see \ref creating_groups_page "Create Group dialog box"). + - Default color - specifies the default group color, which is used + to create a new mesh group (see \ref creating_groups_page "Create Group dialog box"). - Numbering allows to define properties of numbering functionality: - Nodes - specifies text properties of nodes numbering (font family, size, attributes, color). - Elements - same for elements. -- Orientation of Faces - allows to define the behavior of - Orientation of faces functionality, which will be applied - for a new created mesh only. Customization of already created meshes can be done using - \ref colors_size_page "Properties dialog box" that is called by click on popup menu of mesh. - - \b Color - allows to define the color of orientation vertors; +- Orientation of Faces - will be applied + for a newly created mesh only. Existing meshes can be customized using + \ref colors_size_page "Properties dialog box" available from the context menu of a mesh. + - \b Color - allows to define the color of orientation vectors; - \b Scale - allows to define the size of orientation vectors; - - 3D Vector checkbox allows to choose between 2D planar + - 3D Vector check-box allows to choose between 2D planar and 3D vectors.

              Selection Preferences

              @@ -220,9 +219,9 @@ or in later sessions with this module according to the preferences. \image html pref24.png \note The following settings are default and will be applied for -a new created mesh only. Customization of already created meshes -can be done using local \ref scalar_bar_dlg "Scalar Bar Properties dialog box" -that is called by click on popup menu of mesh. +a newly created mesh only. Existing meshes +can be customized using local \ref scalar_bar_dlg "Scalar Bar Properties dialog box" +available from the context menu of a mesh. - Font - in this menu you can set type, face and color for the font of Title and Labels. diff --git a/doc/salome/gui/SMESH/input/modifying_meshes.doc b/doc/salome/gui/SMESH/input/modifying_meshes.doc index 8aa6503ba..94002fad5 100644 --- a/doc/salome/gui/SMESH/input/modifying_meshes.doc +++ b/doc/salome/gui/SMESH/input/modifying_meshes.doc @@ -58,8 +58,8 @@ transformation operations, giving the possibility to:
            • \subpage cut_mesh_by_plane_page "Cut a tetrahedron mesh by a plane".
            -It is possible to \ref edit_anchor "modify the mesh" of lower -dimension before generation of mesh of higher dimension. +\note It is possible to \ref edit_anchor "modify the mesh" of a lower +dimension before generation of the mesh of a higher dimension.


            diff --git a/doc/salome/gui/SMESH/input/quad_ijk_algo.doc b/doc/salome/gui/SMESH/input/quad_ijk_algo.doc index dfdb2d5cb..1ba49dd83 100644 --- a/doc/salome/gui/SMESH/input/quad_ijk_algo.doc +++ b/doc/salome/gui/SMESH/input/quad_ijk_algo.doc @@ -3,20 +3,20 @@ \page quad_ijk_algo_page Quadrangle (Mapping) meshing algorithm Quadrangle (Mapping) meshing algorithm is intended for creating -all-quadrangle and quad-dominant meshes on faces with no holes and +all-quadrangle and quad-dominant meshes on faces without holes and bound by at least three edges. -The algorithm can create mesh on any face but mesh quality and -validity depends on two factors: -- face shape (number of edges and concavity of boundary); +The algorithm can create mesh on any face but its quality and +validity depend on two factors: +- face shape (number of edges and boundary concavity); - discretization of edges. \image html quad_mesh_invalid.png "Invalid mesh on quadrilateral concave faces" -The algorithm uses Transfinite Interpolation technic in +The algorithm uses Transfinite Interpolation technique in the parametric space of a face to locate nodes inside the face. -The algorithm treats any face as a quadrangle. If a face is bound by +The algorithm treats any face as quadrangle. If a face is bound by more than four edges, four most sharp vertices are considered as corners of the quadrangle and all edges between these vertices are treated as quadrangle sides. In the case of three edges, the vertex @@ -26,24 +26,24 @@ quadrangle. \image html quad_meshes.png "Algorithm generates a structured mesh on complex faces provided that edges are properly discretized" To get an all-quadrangle mesh you have to carefully define 1D -hypotheses on edges of a face. To get a \b structured mesh you have to assure +hypotheses on edges of a face. To get a \b structured mesh you have to provide equal number of segments on opposite sides of the quadrangle. If this -condition is not respected, the algorithm by default (with no -hypothesis) creates \b quad-dominant mesh with triangles located near a -side with maximal number of segments. But you can get an +condition is not respected, the algorithm by default (without a +hypothesis) creates a \b quad-dominant mesh with triangles located near the +side with the maximal number of segments. However, you can get an \b all-quadrangle mesh in this case by using \ref hypo_quad_params_anchor "Quadrangle Parameters" hypothesis to specify how to make transition mesh between opposite sides with different number of segments, provided that certain -conditions are respected. In any case total number of segments must be -even. To use \a Reduced transition method there must be equal number +conditions are respected. In any case the total number of segments must be +even. To use \a Reduced transition method, there must be an equal number of segments on one pair of opposite sides. -The following hypotheses help in creation of quadrangle meshes. +The following hypotheses help to create quadrangle meshes. - \ref propagation_anchor "Propagation" additional 1D hypotheses - help to get equal number of segments on opposite sides of the + help to get an equal number of segments on the opposite sides of a quadrilateral face. - \ref a1d_algos_anchor "Composite Side Discretization" algorithm is useful - to discretize several C1 continues edges as one quadrangle side. + to discretize several C1 continuous edges as one quadrangle side. */ diff --git a/doc/salome/gui/SMESH/input/reorient_faces.doc b/doc/salome/gui/SMESH/input/reorient_faces.doc index f2581bb89..96072cf43 100644 --- a/doc/salome/gui/SMESH/input/reorient_faces.doc +++ b/doc/salome/gui/SMESH/input/reorient_faces.doc @@ -5,8 +5,8 @@ \n This operation allows fixing the orientation of a set of faces in the following ways:
              -
            • The desired orientation of a set of neighboring faces can be defined - by a vector giving a desired direction of a normal of a certain face.
              +
            • The required orientation of a set of neighboring faces can be defined + by a vector giving the direction of a normal to a certain face.
              Since the direction of face normals in the set can be even opposite, it is necessary to specify a \a control face, the normal to which will be compared with the vector. This face can be either: @@ -41,7 +41,7 @@ The orientation of a face is changed by reverting the order of its nodes.
            • To reorient by direction of the face normal:
              • Specify the coordinates of the \b Point by which the control face - will be found. You can specify the \b Point by either picking a + will be found. You can specify the \b Point by picking a node in the 3D Viewer or selecting a vertex in the Object Browser.
              • Set up the \b Direction vector to be compared with the normal of the @@ -61,7 +61,7 @@ The orientation of a face is changed by reverting the order of its nodes.
              • -
              • In the second mode it is possible to either pick the \b Face by mouse in the 3D Viewer or directly input the \b Face ID in the corresponding field. +
              • In the second mode it is possible to pick the \b Face by mouse in the 3D Viewer or directly input the \b Face ID in the corresponding field.
                \image html reorient_2d_face.png "The orientation of adjacent faces is chosen according to a vector. The control face is explicitly given." @@ -81,7 +81,7 @@ The orientation of a face is changed by reverting the order of its nodes.
                -\image html reorient_2d_volume.png "The orientation of faces is chosen with relation to adjacent volumes." +\image html reorient_2d_volume.png "The orientation of faces is chosen relatively to adjacent volumes."
              • diff --git a/doc/salome/gui/SMESH/input/revolution.doc b/doc/salome/gui/SMESH/input/revolution.doc index fdc4f9544..69278627c 100644 --- a/doc/salome/gui/SMESH/input/revolution.doc +++ b/doc/salome/gui/SMESH/input/revolution.doc @@ -33,7 +33,7 @@ The following dialog will appear: of following means:
                • Select the whole mesh, sub-mesh or group activating this - checkbox.
                • + check-box.
                • Choose mesh elements with the mouse in the 3D Viewer. It is possible to select a whole area with a mouse frame.
                • Input the element IDs directly in Node IDs, Edge @@ -46,14 +46,14 @@ The following dialog will appear:
                • Specify the \b Axis of revolution:
                    -
                  • Specify the cooordinates of the start \b Point of the +
                  • Specify the coordinates of the start \b Point of the axis of revolution; either directly or by picking a node in the Viewer (selection of nodes is activated as you click the \a Selection button).
                  • Specify the \b Vector of the axis in either of three ways:
                    • directly adjust vector components;
                    • -
                    • click \a Selection button, chose From Origin to +
                    • click \a Selection button, choose From Origin to selected Point in the opened menu and pick a node in the Viewer;
                    • click \a Selection button, chose Normal to diff --git a/doc/salome/gui/SMESH/input/selection_filter_library.doc b/doc/salome/gui/SMESH/input/selection_filter_library.doc index 94ba01319..bb3e087ea 100644 --- a/doc/salome/gui/SMESH/input/selection_filter_library.doc +++ b/doc/salome/gui/SMESH/input/selection_filter_library.doc @@ -27,14 +27,14 @@ criteria. The \b Insert button creates a new criterion before the selected criterion. The \b Remove button deletes the selected criterion. The \b Clear button deletes all criteria. \n Each Entity type has its specific list of criteria, however all -filters have common syntax. For each criterion you should specify the -Threshold Value and for numerical criteria whether we search -for the elements that should be \b More, \b Less or \b Equal to this +filters have common syntax. The Threshold Value should be specified +for each criterion. For numerical criteria it is necessary to indicate if +the found elements should be \b More, \b Less or \b Equal to this \b Value. You can also reverse the sense of a criterion using \b Unary operator \a Not and you should specify logical relations between criteria using \b Binary operators \a Or and \a And. \n Some criteria have the additional parameter of \b Tolerance.
                      -Switching on Insert filter in viewer checkbox limits +Switching on Insert filter in viewer check-box limits selection of elements in the Viewer to the current filter.
                      In the \b Source field you choose if the filter will be applied to @@ -72,7 +72,7 @@ algorithm works faster, if this is any other shape, the algorithm works slower.
                    • Belong to Mesh Group selects entities included into the mesh group -defined by Threshold Value. +defined by the Threshold Value.
                    • Range of IDs allows selection of entities with the specified IDs. @@ -102,7 +102,7 @@ defined by the Threshold Value. The list of available geometric types depends on the current entity type.
                    • Entity type allows selection of elements by their type defined -as combination of geometry type + number of nodes. +as a combination of geometry type amd the number of nodes.
                    diff --git a/doc/salome/gui/SMESH/input/smoothing.doc b/doc/salome/gui/SMESH/input/smoothing.doc index eb74611cf..3255d4417 100644 --- a/doc/salome/gui/SMESH/input/smoothing.doc +++ b/doc/salome/gui/SMESH/input/smoothing.doc @@ -3,8 +3,10 @@ \page smoothing_page Smoothing \n Smoothing is used to improve quality of 2D mesh by adjusting the -locations of element corners (nodes). \note Depending on smoothing -method and mesh geometry smoothing can decrease quality of elements. +locations of element corners (nodes). + +\note Depending on the chosen method and mesh geometry +the smoothing can actually decrease the quality of elements. To apply smoothing to the elements of your mesh:
                      diff --git a/doc/salome/gui/SMESH/input/symmetry.doc b/doc/salome/gui/SMESH/input/symmetry.doc index 9c0b43263..4641ffe31 100644 --- a/doc/salome/gui/SMESH/input/symmetry.doc +++ b/doc/salome/gui/SMESH/input/symmetry.doc @@ -64,21 +64,21 @@ possible to select a whole area with a mouse frame; or
                    1. specify the conditions of symmetry operation:
                        -
                      • activate Move elements radio button to change location of +
                      • activate Move elements radio button to change the location of the selected elements within the current mesh;
                      • activate Copy elements radio button to duplicate the selected elements at the new location within the current mesh;
                      • -
                      • activate Create as new mesh radio button to create new +
                      • activate Create as new mesh radio button to create a new element in a new mesh; the new mesh appears in the Object Browser - with the default name MeshName_mirrored (it is possible to change + with the default name \a MeshName_mirrored (it is possible to change this name in the adjacent box);
                      • -
                      • activate Copy groups checkbox to put new mesh enities - into new groups if source entities belongs to some groups. New +
                      • activate Copy groups check-box to put new mesh entities + into new groups if source entities belong to some groups. New groups are named by pattern "_mirrored".
                  -
                • activate Preview checkbox to show the result of +
                • activate Preview check-box to show the result of transformation in the viewer;
                • click \b Apply or Apply and Close button to confirm the operation.
                • diff --git a/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc b/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc index 6397bd401..5cade1631 100644 --- a/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc +++ b/doc/salome/gui/SMESH/input/uniting_set_of_triangles.doc @@ -2,7 +2,7 @@ \page uniting_set_of_triangles_page Uniting a set of triangles -\n In MESH you can union many neighboring triangles (cells) into +\n It is possible to unite many neighboring triangles (cells) into quadrangles by deletion of the common edge. To union several triangles: @@ -10,7 +10,7 @@ quadrangles by deletion of the common edge.
                • Select a mesh (and display it in the 3D Viewer if you are going to pick elements by mouse).
                • In the \b Modification menu select the Union of triangles - item or click "Union of triangles" button in the toolbar. + item or click "Union of triangles" button in the tool-bar. \image html image80.png
                  "Union of triangles" button
                  diff --git a/doc/salome/gui/SMESH/input/uniting_two_triangles.doc b/doc/salome/gui/SMESH/input/uniting_two_triangles.doc index 39a61bbb2..2ce90229a 100644 --- a/doc/salome/gui/SMESH/input/uniting_two_triangles.doc +++ b/doc/salome/gui/SMESH/input/uniting_two_triangles.doc @@ -9,7 +9,7 @@ of the common edge.
                  1. From the \b Modification menu choose the Union of two triangles item or click "Union of two triangles" button -in the toolbar. +in the tool-bar. \image html image71.png
                    "Union of two triangles" button
                    @@ -20,7 +20,7 @@ The following dialog box shall appear:
                  2. Enter IDs of nodes forming the required edge in the \b Edge field - (the node IDs must be separated by a dash) or select this edge in + (the node IDs must be separated by dashes) or select this edge in the 3D viewer.
                  3. Click the \b Apply or Apply and Close button.
                  -- 2.39.2