X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2Fpattern_mapping.doc;h=b42795e5d3eb2c6709c72f41f657a38a900a26a7;hp=cf556d51bb714014f79fcf10da665796c6b22092;hb=5c5e1f2368ca2b3388f657ae028b2a6b5ce8ae36;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070 diff --git a/doc/salome/gui/SMESH/input/pattern_mapping.doc b/doc/salome/gui/SMESH/input/pattern_mapping.doc index cf556d51b..b42795e5d 100644 --- a/doc/salome/gui/SMESH/input/pattern_mapping.doc +++ b/doc/salome/gui/SMESH/input/pattern_mapping.doc @@ -5,40 +5,93 @@

About patterns

The pattern describes a mesh to generate: positions of nodes within a -geometrical domain and nodal connectivity of elements. As well, a -pattern specifies the so-called key-points, i.e. nodes that will be -located at geometrical vertices. Pattern description is stored in +geometrical domain and nodal connectivity of elements. A +pattern also specifies the so-called key-points, i.e. the nodes that will be +located at geometrical vertices. The pattern description is stored in \.smp file. The smp file contains 4 sections: -
    -
  1. The first line holds the number of nodes (N).
  2. -
  3. The next N lines describe nodes coordinates. Each line holds 2 -coordinates of a node.
  4. - -
  5. A key-points line: indices of nodes to be mapped on geometrical -vertices. An index n refers to a node described on an n-th line of -section 2. The first node index is zero.
  6. - -
  7. The rest lines describe nodal connectivity of elements, one line -for an element. A line holds indices of nodes forming an element. An -index n refers to a node described on an n-th line of the section -2. The first node index is zero. There must be 3 or 4 indices on a -line: only 2d elements are allowed.
  8. -
- -The 2D pattern must contain at least one element and at least one -key-point. All key-points must lay on boundaries. - -An example of a simple smp file and a preview of a pattern described -in this file: - -\image html image94.gif +-# The first line indicates the total number of pattern nodes (N). +-# The next N lines describe nodes coordinates. Each line contains 2 + node coordinates for a 2D pattern or 3 node coordinates for a 3D pattern. + Note, that node coordinates of a 3D pattern can be defined only by + relative values in range [0;1]. +-# The key-points line contains the indices of the nodes to be mapped on geometrical + vertices (for a 2D pattern only). Index n refers to the node described + on the n-th line of section 2. The index of the first node is + zero. For a 3D pattern the key points are not specified. +-# The remaining lines describe nodal connectivity of elements, one line + for each element. Each line holds indices of nodes forming an element. + Index n refers to the node described on the n-th line of section 2. + The first node index is zero. There must be 3 or 4 indices on each + line for a 2D pattern (only liner 2d elements are allowed) and 4, 5, 6 or 8 + indices for a 3D pattern (only linear 3d elements are allowed). + +A 2D pattern must contain at least one element and at least one +key-point. All key-points must lie on boundaries. + +A 3D pattern must contain at least one element. + +An example of a simple 2D pattern smp file: + +\code +!!! SALOME 2D mesh pattern file +!!! +!!! Nb of points: +9 + 200 0 !- 0 + 100 0 !- 1 + 0 0 !- 2 + 0 -100 !- 3 + 0 -200 !- 4 + 100 -200 !- 5 + 200 -200 !- 6 + 200 -100 !- 7 + 100 -100 !- 8 +!!! Indices of 4 key-points + 2 0 4 6 +!!! Indices of points of 6 elements + 0 1 8 + 8 5 6 7 + 2 3 8 + 8 3 4 5 + 8 7 0 + 8 1 2 +\endcode + +The image below provides a preview of the above pattern: + +\image html pattern2d.png + +An example of a simple 3D pattern smp file: + +\code +!!! SALOME 3D mesh pattern file +!!! +!!! Nb of points: +9 + 0 0 0 !- 0 + 1 0 0 !- 1 + 0 1 0 !- 2 + 1 1 0 !- 3 + 0 0 1 !- 4 + 1 0 1 !- 5 + 0 1 1 !- 6 + 1 1 1 !- 7 + 0.5 0.5 0.5 !- 8 +!!! Indices of points of 6 elements: + 0 1 5 4 8 + 7 5 1 3 8 + 3 2 6 7 8 + 2 0 4 6 8 + 0 2 3 1 8 + 4 5 7 6 8 +\endcode

Application of pattern mapping

-To apply pattern mapping to a geometrical object: +To apply pattern mapping to a geometrical object or mesh elements: From the \b Modification menu choose the Pattern Mapping item or click "Pattern mapping" button in the toolbar. @@ -46,90 +99,133 @@ From the \b Modification menu choose the Pattern Mapping item or click \image html image98.png
"Pattern mapping" button
-The following dialog box shall appear: +The following dialog box will appear: + +\n For a 2D pattern \image html patternmapping1.png +In this dialog you should specify: + + + +Alternatively, it is possible to select Refine selected mesh elements +check-box and apply the pattern to + +Additionally it is possible to: + +\n For a 3D pattern + \image html patternmapping2.png -To apply a pattern to a geometrical object, you should specify: +In this dialog you should specify: + + +Alternatively, it is possible to select Refine selected mesh elements +check-box and apply the pattern to + +Additionally it is possible to: -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. -\n For an automatic generation you just specify a geometrical face -having a mesh built on it. Mesh nodes lying on face vertices become -key-points. Additionally, 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. - -When creating a pattern from an existing mesh, there are two possible -cases: -
    -
  1. A sub-mesh on face is selected. A pattern is created from the 2d -elements bound to a face by mesher. Node coordinates are either -"positions on face" computed by mesher, or coordinates got by node -projection on a geometrical surface, according to your choice.
  2. -
  3. A mesh where the main shape is a face, is selected. A pattern is -created from all the 2d elements in a mesh. 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.
  4. -
- -\image html a-patterntype.png +
+

Automatic Pattern Generation

+ +To generate a pattern automatically from an existing mesh or sub-mesh, +click \b New button. + +The following dialog box will appear: \image html a-patterntype1.png -

Mapping algorithm

+In this dialog you should specify: + + -The mapping algorithm is as follows: -
    -
  1. 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. -
  2. +When a pattern is created from an existing mesh, two cases are possible: -
  3. 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. +- 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. -\image html image95.gif -
  4. -
  5. 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. +

    Mapping algorithm

    + +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 -
  6. - -
  7. 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. - +- The coordinates 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 iso-lines + and boundaries are mapped. Then it is possible to find + the direction of mapped iso-line section and, finally, the positions of + two nodes on two mapped isolines. The eventual mapped + position of the node is found as an average of the positions on mapped + iso-lines. \image html image97.gif -
  8. -
-
See Also a sample TUI Script of a +The 3D algorithm is similar. + +See Also a sample TUI Script of a \ref tui_pattern_mapping "Pattern Mapping" operation. -*/ \ No newline at end of file +*/