From: vsr Date: Fri, 22 Oct 2010 08:42:28 +0000 (+0000) Subject: Update documentation X-Git-Tag: V5_1_5rc1~4 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=ccac421ca7a3b986d981a0287ad2b87178f1ab90;p=modules%2Fsmesh.git Update documentation --- diff --git a/doc/salome/gui/SMESH/images/2d_from_3d_dlg.png b/doc/salome/gui/SMESH/images/2d_from_3d_dlg.png new file mode 100644 index 000000000..a03530978 Binary files /dev/null and b/doc/salome/gui/SMESH/images/2d_from_3d_dlg.png differ diff --git a/doc/salome/gui/SMESH/images/2d_from_3d_ico.png b/doc/salome/gui/SMESH/images/2d_from_3d_ico.png new file mode 100644 index 000000000..b0842d3e7 Binary files /dev/null and b/doc/salome/gui/SMESH/images/2d_from_3d_ico.png differ diff --git a/doc/salome/gui/SMESH/input/double_nodes_page.doc b/doc/salome/gui/SMESH/input/double_nodes_page.doc index 22f324032..063bcba5e 100644 --- a/doc/salome/gui/SMESH/input/double_nodes_page.doc +++ b/doc/salome/gui/SMESH/input/double_nodes_page.doc @@ -3,6 +3,9 @@ \page double_nodes_page Duplicate Nodes \n This operation allows to duplicate nodes of your mesh. +Duplication consists in replacement of an existing mesh element by another one. +Lower level elements of the duplicated ones are cloned +automatically. To duplicate nodes:
    @@ -34,13 +37,13 @@ In this mode the dialog looks like: \image html duplicate01.png Parameters to be defined in this mode: -
      +
      • Group of nodes to duplicate (mandatory): these nodes will be duplicated.
      • Group of elements to replace nodes with new ones (optional): the duplicated nodes will be associated with these elements.
      • Construct group with newly created nodes option (checked by default): if checked - the group with just created nodes will be built.
      • -
    +
    \anchor mode_with_elem_anchor @@ -51,15 +54,15 @@ In this mode the dialog looks like: \image html duplicate02.png Parameters to be defined in this mode: -
      +
      • Group of elements to duplicate (mandatory): these elements will be duplicated.
      • Group of nodes at not to duplicate (optional): group of nodes at crack bottom which will not be duplicated.
      • Group of elements to replace nodes with new ones (mandatory): the duplicated nodes will be associated with these elements.
      • Construct group with newly created elements option (checked by default): - if checked - the group with just created elements will be builded.
      • -
    + if checked - the group with just created elements will be built. +
    See Also a sample TUI Script of a \ref tui_duplicate_nodes "Duplicate nodes" operation. diff --git a/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc b/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc index 9d334340f..e52078629 100644 --- a/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc +++ b/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc @@ -2,18 +2,18 @@ \page make_2dmesh_from_3d_page Generate boundary elements -\n This functionality allows to generate mesh elements on borders of -elements of higher dimension. - +\n This functionality allows to generate mesh elements on the borders of +elements of a higher dimension. To generate border elements:
    1. From the Modification menu choose "Create boundary elements" -item, or choose from the popup menu. +item, or click "Create boundary elements" button in the toolbar + +\image html 2d_from_3d_ico.png "Create boundary elements icon" -\image html 2d_from_3d_menu.png The following dialog box will appear: -\image html 2d_from_3d_dlg.png +\image html 2d_from_3d_dlg.png "Create boundary elements dialog box".
    2. Check in the dialog box one of three radio buttons corresponding to the type of operation you would like to perform.
    3. @@ -28,32 +28,30 @@ of three types.
    4. 1D from 2D creates mesh edges on free edges of mesh faces
    5. 1D from 3D creates mesh edges on all borders of free facets of volume elements
    6. -Here free facet means a facet shared by only one volume, free edge +Here a free facet means a facet shared by only one volume, a free edge means an edge shared by only one mesh face. In this dialog:
        -
      • specify Mesh, submesh or group to analyze the boundary.
      • -
      • specify Target mesh where boundary elements will +
      • specify the Mesh, submesh or group, the boundary which of +will be analyzed.
      • +
      • specify the Target mesh, where the boundary elements will be created.
        • This mesh adds elements in the selected mesh or the mesh the selected submesh or group belongs to.
        • -
        • New mesh add elements to a new mesh. The new mesh appears - in the Object Browser with the name specified in the adjacent box - that you can change.
        • +
        • New mesh adds elements to a new mesh. The new mesh appears + in the Object Browser with the name that you can change in the adjacent box.
      • activate Copy source mesh checkbox to copy 2D or 3D - elements (depending on operation type) belonging to the object - specified in Mesh, submesh or group field to the new - mesh.
      • + elements (depending on the operation type), which belong to the analyzed +Mesh, submesh or group field, to the new mesh.
      • deactivate Copy missing elements only checkbox to copy - boundary elements already present in the mesh being checked to the + boundary elements already present in the analyzed mesh to the new mesh.
      • -
      • activate Create group checkbox to create a group where - missing boundary elements are added to. The new group appears - in the Object Browser with the name specified in the adjacent box - that you can change.
      • +
      • activate Create group checkbox to create a group to which the + missing boundary elements are added. The new group appears + in the Object Browser with the name that you can change in the adjacent box.

      See Also a sample TUI Script of a \ref tui_make_2dmesh_from_3d "Create boundary elements" operation. diff --git a/doc/salome/gui/SMESH/input/pattern_mapping.doc b/doc/salome/gui/SMESH/input/pattern_mapping.doc index 8421b1d87..ef7f8ba66 100644 --- a/doc/salome/gui/SMESH/input/pattern_mapping.doc +++ b/doc/salome/gui/SMESH/input/pattern_mapping.doc @@ -99,92 +99,118 @@ From the \b Modification menu choose the Pattern Mapping item or click The following dialog box will appear: -\n 2D pattern +\n For a 2D pattern \image html patternmapping1.png In this dialog you should specify:
        -
      • A face with the number of vertices equal to the number of +
      • \b Pattern, which can be loaded from .smp pattern file previously +created manually or generated automatically from an existing mesh or submesh.
      • +
      • \b Face with the number of vertices equal to the number of key-points in the pattern; the number of key-points on internal boundaries of the pattern must also be equal to the number of vertices on internal boundaries of the face;
      • -
      • A vertex to which the first key-point should be mapped;
      • -
      • If the order of key-points is reversed or not. (The order of vertices of - a face is counterclockwise looking from the outside).
      • +
      • \b Vertex to which the first key-point should be mapped;
      • +Alternatively, it is possible to select Refine selected mesh elements +checkbox and apply the pattern to +
      • Mesh Face instead of a geometric Face
      • +
      • and select \b Node instead of vertex.
      • + +Additionally it is possible to: +
      • Reverse the order of key-points By default, the vertices of + a face are ordered counterclockwise.
      • +
      • Enable to Create polygons near boundary
      • +
      • and Create polyhedrons near boundary
      -\n 3D pattern +\n For a 3D pattern \image html patternmapping2.png In this dialog you should specify:
        +
      • \b Pattern, which can be loaded from .smp pattern file previously +created manually or generated automatically from an existing mesh or submesh.
      • A 3D block (Solid) object;
      • Two vertices that specify the order of nodes in the resulting mesh.
      • +Alternatively, it is possible to select Refine selected mesh elements +checkbox and apply the pattern to +
      • One or several Mesh volumes instead of a geometric 3D +object
      • +
      • and select two /b Nodes instead of vertices.
      • +Additionally it is possible to: +
      • Enable to Create polygons near boundary
      • +
      • and Create polyhedrons near boundary
      -Then you either load a .smp pattern file previously created manually -by clicking on the "Load pattern" button, or click on the \b -New button for automatic generation of the pattern. +\n Automatic Generation -For automatic generation you should specify a geometrical face (for a -2D pattern) or a solid (for a 3D pattern) with a mesh built on it. Mesh nodes lying on -face vertices become key-points of the pattern. Additionally, for a 2D -pattern you may choose the way of getting nodes coordinates by -projecting nodes on the face instead of using -"positions on face" generated by mesher (if there is any). Faces -having a seam edge can't be used for automatic pattern creation. +To generate a pattern automatically from an existing mesh or submesh, +click \b New button. -When creating a pattern from an existing mesh, there are two possible -cases: +The following dialog box will appear: -- A sub-mesh on face/solid is selected. A pattern is created from the 2d/3d -elements bound to a face/solid by mesher. For 2D pattern, node coordinates are either -"positions on face" computed by mesher, or coordinates got by node -projection on a geometrical surface, according to the user choice. For -3D pattern, nodes coordinates correspond to the nodes computed by mesher. -- A mesh where the main shape is a face/solid, is selected. A pattern is -created from all the 2d/3d elements in a mesh. In addition, for 2D -pattern, if all mesh elements are build by mesher, the user can select -the way of getting nodes coordinates, else all nodes are projected on -a face surface. +\image html a-patterntype1.png -\image html a-patterntype.png +In this dialog you should specify: -
      2D Pattern Creation dialog box
      +
        +
      • Mesh or Submesh, which is a meshed geometrical face (for a +2D pattern) or a meshed solid (for a 3D pattern). Mesh nodes lying on +the face vertices become key-points of the pattern.
      • +
      • A custom Pattern Name
      • +
      • Additionally, for a 2D pattern you may choose to +Project nodes on the face to get node coordinates instead of using +"positions on face" generated by the mesher (if there is any). The faces +having a seam edge cannot be used for automatic pattern creation.
      • +
      -\image html a-patterntype1.png +When a pattern is created from an existing mesh, two cases are possible: + +- A sub-mesh on a face/solid is selected. The pattern is created from the 2d/3d +elements bound to the face/solid by the mesher. For a 2D pattern, the node coordinates are either +"positions on face" computed by the mesher, or coordinates got by node +projection on a geometrical surface, according to the user choice. For +a 3D pattern, the node coordinates correspond to the nodes computed by +the mesher. +- A mesh, where the main shape is a face/solid, is selected. The pattern is +created from all 2d/3d elements in a mesh. In addition, if all mesh +elements of a 2D pattern are built by the mesher, the user can select +how to get node coordinates, otherwise all nodes are projected on +a face surface. -
      3D Pattern Creation dialog box

      Mapping algorithm

      -The mapping algorithm for 2D case is as follows: - -- Key-points are set in the order that they are encountered when - walking along a pattern boundary so that elements are on the left. The - first key-point is preserved. -- Find geometrical vertices corresponding to key-points by vertices - order in a face boundary; here, "Reverse order of key-points" flag is - taken into account. \image html image95.gif -- Boundary nodes of a pattern are mapped onto edges of a face: a - node located between certain key-points on a pattern boundary is - mapped on a geometrical edge limited by corresponding geometrical - vertices. Node position on an edge reflects its distance from two - key-points. \image html image96.gif -- Coordinates of a non-boundary node in a parametric space of a face - are defined as following. In a parametric space of a pattern, a node - lays at the intersection of two iso-lines, each of which intersects a - pattern boundary at least at two points. Knowing mapped positions of - boundary nodes, we find where isoline-boundary intersection points are - mapped to, and hence we can find mapped isolines direction and then, - two node positions on two mapped isolines. The eventual mapped - position of a node is found as an average of positions on mapped - isolines. \image html image97.gif - -For 3D case the algorithm is similar. +The mapping algorithm for a 2D case is as follows: + +- The key-points are set counterclockwise in the order corresponding + to their location on the pattern boundary. The first key-point is preserved. +- The geometrical vertices corresponding to the key-points are found + on face boundary. Here, "Reverse order of key-points" flag is set. +\image html image95.gif +- The boundary nodes of the pattern are mapped onto the edges of the face: a + node located between two key-points on the pattern boundary is + mapped on the geometrical edge limited by the corresponding geometrical + vertices. The node position on the edge depends on its distance from the + key-points. +\image html image96.gif +- The cordinates of a non-boundary node in the parametric space of the face + are defined in the following way. In the parametric space of the + pattern, the node lies at the intersection of two iso-lines. Both + of them intersect the pattern boundary at two + points at least. If the mapped positions of boundary nodes are known, it is + possible to find, where the points at the intersection of isolines + and boundaries are mapped. Then it is possible to find + the direction of mapped isolinesection and, filally, the poitions of + two nodes on two mapped isolines. The eventual mapped + position of the node is found as an average of the positions on mapped + isolines. +\image html image97.gif + +The 3D algorithm is similar. See Also a sample TUI Script of a \ref tui_pattern_mapping "Pattern Mapping" operation. diff --git a/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc b/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc index 87d75b672..22f11886f 100644 --- a/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc +++ b/doc/salome/gui/SMESH/input/tui_transforming_meshes.doc @@ -426,15 +426,15 @@ if salome.sg.hasDesktop():

      Create boundary elements

      \code -# The goal of this feature is to enable the following use cases: -# 1) The mesh MESH1 with 3D cells does not have or have only a part of its skin (2D cells): -# 1.1) Add the 2D skin (missing 2D cells) to MESH1 (what it's done now by the algorithm). -# 1.2) Create new 3D Mesh MESH2 that consists of MESH1 and added 2D skin cells. -# 1.3) Create new 2D Mesh MESH3 that consists of only the 2D skin cells. +# The objective of these samples is to illustrate the following use cases: +# 1) The mesh MESH1 with 3D cells has no or only a part of its skin (2D cells): +# 1.1) Add the 2D skin (missing 2D cells) to MESH1 (what is done now by the algorithm). +# 1.2) Create a new 3D Mesh MESH2 that consists of MESH1 and added 2D skin cells. +# 1.3) Create a new 2D Mesh MESH3 that consists only of 2D skin cells. # 2) The mesh MESH1 with 3D cells has all its skin (2D cells): -# Create new 2D Mesh MESH3 that consists of only the 2D skin cells. +# Create a new 2D Mesh MESH3 that consists only of 2D skin cells. # -# In all cases an option to create a group containing these 2D skin cells should be available. +# In all cases an option to create a group containing these 2D skin cells is available. from smesh import * @@ -451,7 +451,7 @@ init_nb_faces = MESH1.NbFaces() init_nb_volumes = MESH1.NbVolumes() # ========================================================================================= -# 1) The mesh MESH1 with 3D cells does not have or have only a part of its skin (2D cells) +# 1) The mesh MESH1 with 3D cells has no or only a part of its skin (2D cells) # ========================================================================================= # remove some faces all_faces = MESH1.GetElementsByType(SMESH.FACE) @@ -479,7 +479,7 @@ for v in volumes: assert(init_nb_faces == MESH1.NbFaces()) assert(init_nb_edges == MESH1.NbEdges()) -# 1.1.3) to group of elements +# 1.1.3) to a group of elements volGroup1 = MESH1.CreateEmptyGroup(SMESH.VOLUME, "volGroup1") volGroup1.Add( volumes[: init_nb_volumes/2]) volGroup2 = MESH1.CreateEmptyGroup(SMESH.VOLUME, "volGroup2") @@ -490,8 +490,8 @@ MESH1.MakeBoundaryMesh(volGroup2) assert(init_nb_faces == MESH1.NbFaces()) assert(init_nb_edges == MESH1.NbEdges()) -# 1.1.4) to submesh. -# The submesh has no volumes, so check if it pass w/o a crash and does not create +# 1.1.4) to a submesh. +# The submesh has no volumes, so it is required to check if it passes without crash and does not create # missing faces faceSubmesh = MESH1.GetSubMesh( boxFace, "boxFace" ) MESH1.RemoveElements(rm_faces) @@ -507,7 +507,7 @@ assert(group.GetName() == groupName) assert(group.Size() == len(rm_faces)) -# 1.2) Create new 3D Mesh MESH2 that consists of MESH1 and added 2D skin cells. +# 1.2) Create a new 3D Mesh MESH2 that consists of MESH1 and added 2D skin cells. # ------------------------------------------------------------------------------ MESH1.RemoveElements(rm_faces) meshName = "MESH2" @@ -526,7 +526,7 @@ assert(group.GetName() == groupName) assert(group.Size() == len(rm_faces)) assert(group.GetMesh()._is_equivalent(MESH2.GetMesh())) -# 1.3) Create new 2D Mesh MESH3 that consists of only the 2D skin cells. +# 1.3) Create a new 2D Mesh MESH3 that consists only of 2D skin cells. # ----------------------------------------------------------------------- MESH1.RemoveElements(rm_faces) meshName = "MESH3" @@ -549,7 +549,7 @@ assert(MESH3.NbFaces() == init_nb_faces) # ================================================================== # 2) The mesh MESH1 with 3D cells has all its skin (2D cells) -# Create new 2D Mesh MESH3 that consists of only the 2D skin cells. +# Create a new 2D Mesh MESH3 that consists only of 2D skin cells. # ================================================================== MESH1.MakeBoundaryMesh(MESH1) MESH3,group = MESH1.MakeBoundaryMesh(MESH1,meshName=meshName,toCopyExistingBondary=True)