Update SMESH documentation

This commit is contained in:
inv 2010-05-12 06:34:27 +00:00
parent 2e582dad32
commit d719b27fc2
16 changed files with 104 additions and 107 deletions

View File

@ -7,8 +7,6 @@
<li>\ref max_element_area_anchor "Max Element Area"</li> <li>\ref max_element_area_anchor "Max Element Area"</li>
<li>\ref length_from_edges_anchor "Length from Edges"</li> <li>\ref length_from_edges_anchor "Length from Edges"</li>
<li>\ref hypo_quad_params_anchor "Quadrangle parameters"</li> <li>\ref hypo_quad_params_anchor "Quadrangle parameters"</li>
<li>\ref quadrangle_preference_anchor "Quadrangle Preference"</li>
<li>\ref triangle_preference_anchor "Triangle Preference"</li>
</ul> </ul>
<br> <br>
@ -69,29 +67,5 @@ shows the good (left) and the bad (right) results of meshing.
<b>See Also</b> a sample TUI Script of a <b>See Also</b> a sample TUI Script of a
\ref tui_quadrangle_parameters "Quadrangle Parameters" hypothesis. \ref tui_quadrangle_parameters "Quadrangle Parameters" hypothesis.
\anchor quadrangle_preference_anchor
<h2>Quadrangle Preference</h2>
This algorithm can be used together with Quadrangle (Mapping) and Netgen 2D
algorithms.
It allows Netgen 2D to build quadrangular meshes at any conditions.
It allows Quadrangle (Mapping) to build quadrangular meshes even if the number
of nodes at the opposite edges of a meshed face is not equal,
otherwise this mesh will contain some triangular elements.
<br>
This hypothesis has one restriction on its work: the total quantity of
segments on all four sides of the face must be even (divisible by 2).
<br>
\anchor triangle_preference_anchor
<h2>Triangle Preference</h2>
This algorithm can be used only together with Quadrangle (Mapping)
algorithm. It allows to build triangular mesh faces in the refinement
area if the number of nodes at the opposite edges of a meshed face is not equal,
otherwise refinement area will contain some quadrangular elements.
<br> <br>
*/ */

View File

@ -55,6 +55,8 @@ with other hypotheses:
<li>Propagation of 1D Hypothesis on opposite edges</li> <li>Propagation of 1D Hypothesis on opposite edges</li>
<li>Non conform mesh allowed</li> <li>Non conform mesh allowed</li>
<li>Quadratic mesh</li> <li>Quadratic mesh</li>
<li>Quadrangle preference</li>
<li>Triangle preference</li>
</ul> </ul>
The choice of a hypothesis depends on: The choice of a hypothesis depends on:

View File

@ -26,10 +26,11 @@ following associated submenu will appear:</li>
\image html image146.png \image html image146.png
From this submenu select the type of element which you would like to add to your mesh. From this submenu select the type of element which you would like to add to your mesh.
\note All dialogs intended for adding nodes or elements to mesh (except dialog for adding
0D elements) provide a possibility to add these nodes/elements to the specified group \note All dialogs for adding nodes or elements to the mesh (except for
(or to create the group if it doesn't exist). <b>Add to group</b> box allows to choose the dialog for 0D elements) provide a possibility to add them to the specified group
an existing group for created node or element or to specify a name for new group. or to create it anew using <b>Add to group</b> box, which allows to choose
an existing group for the created node or element or to give name to a new group.
</ol> </ol>
<b>See Also</b> sample TUI Scripts of <b>See Also</b> sample TUI Scripts of

View File

@ -2,7 +2,7 @@
\page adding_quadratic_elements_page Adding Quadratic Elements \page adding_quadratic_elements_page Adding Quadratic Elements
\n MESH modules allows you to work with <b>Quadratic Elements</b>. \n MESH module allows you to work with <b>Quadratic Elements</b>.
Quadratic Edge is not a straight but a broken line and can be defined Quadratic Edge is not a straight but a broken line and can be defined
by three points: first, middle and last. All more complex \b Quadratic by three points: first, middle and last. All more complex \b Quadratic
@ -18,10 +18,10 @@ one of the following:
\image html image152.png \image html image152.png
\note All dialogs intended for adding quadratic elements to mesh provide a possibility \note All dialogs adding quadratic elements to mesh provide a possibility
to add these elements to the specified group (or to create the group if it doesn't exist). to add them to the specified group or to create it anew using <b>Add
<b>Add to group</b> box allows to choose an existing group for created element or to group</b> box, which allows to choose an existing group for the created element or
to specify a name for new group. to give name to a new group.
To create any <b>Quadratic Element</b> specify the nodes which will form your To create any <b>Quadratic Element</b> specify the nodes which will form your
triangle by selecting them in the 3D viewer with pressed Shift triangle by selecting them in the 3D viewer with pressed Shift

View File

@ -28,8 +28,30 @@ hypothesis onto an opposite edge. If a local hypothesis and
propagation are defined on an edge of a quadrangular face, the propagation are defined on an edge of a quadrangular face, the
opposite edge will have the same hypothesis, unless another hypothesis opposite edge will have the same hypothesis, unless another hypothesis
has been locally defined on the opposite edge. has been locally defined on the opposite edge.
<br><b>See Also</b> a sample TUI Script of a <br><b>See Also</b> a sample TUI Script of a
\ref tui_propagation "Propagation hypothesis" operation. \ref tui_propagation "Propagation hypothesis" operation
*/ <h2>Quadrangle Preference</h2>
This additional hypothesis can be used together with Quadrangle (Mapping) and Netgen 2D
algorithms.
It allows Netgen 2D to build quadrangular meshes at any conditions.
It allows Quadrangle (Mapping) to build quadrangular meshes even if the number
of nodes at the opposite edges of a meshed face is not equal,
otherwise this mesh will contain some triangular elements.
<br>
This hypothesis has one restriction on its work: the total quantity of
segments on all four sides of the face must be even (divisible by 2).
<h2>Triangle Preference</h2>
This additional hypothesis can be used only together with Quadrangle (Mapping)
algorithm. It allows to build triangular mesh faces in the refinement
area if the number of nodes at the opposite edges of a meshed face is not equal,
otherwise refinement area will contain some quadrangular elements.
*/

View File

@ -154,21 +154,20 @@ evaluation will be displayed in the following information box:
</li> </li>
</ol>
\anchor mesh_order_anchor \anchor mesh_order_anchor
It is allowed to change submesh priority in mesh computation when
there are concurrent submeshes present. I.e. user can change priority of
applying algorithms on shared subshapes of Mesh shape.
<em>To change submesh priority:</em>
<ol>
<li>From the Mesh menu choose the "Change submesh priority" on
selected Mesh item, or invoke from popup menu. The opened dialogue box
shows a list of submeshes in the order of their priority. Algorithm and its
hypotheses of a submesh being upper in the list are applied before those of
a submesh lower in the list.
There is an example of submesh order modifications of Mesh created on a Box <li>
If the mesh contains concurrent submeshes, it is possible to change
the priority of their computation, i.e. to change the priority of
applying algorithms to the shared subshapes of the Mesh shape.</li>
<em>To change submesh priority:</em>
<li>Choose "Change submesh priority" from the Mesh menu or a popup menu. The opened dialogue
shows a list of submeshes in the order of their priority.
There is an example of submesh order modifications of the Mesh created on a Box
shape. The main Mesh object: shape. The main Mesh object:
<ul> <ul>
<li><i>3D</i> <b>Tetrahedron (Netgen)</b> with Hypothesis<b>Max Element Volume</b></li> <li><i>3D</i> <b>Tetrahedron (Netgen)</b> with Hypothesis<b>Max Element Volume</b></li>
@ -189,51 +188,50 @@ is:
(Number of Segments = 8)</li> (Number of Segments = 8)</li>
</ul> </ul>
And the last third submesh object <b>Submesh_3</b> created on <b>Face_3</b> And the last submesh object <b>Submesh_3</b> created on <b>Face_3</b>
is: is:
<ul> <ul>
<li><i>2D</i> Netgen 1D-2D with Hypothesis <b>Netgen Simple parameters</b> <li><i>2D</i> Netgen 1D-2D with Hypothesis <b>Netgen Simple parameters</b>
(Number of Segments = 12)</li> (Number of Segments = 12)</li>
</ul> </ul>
The submeshes can become concurrent if their algorithms leads to mesh shared subshape The submeshes become concurrent if they share subshapes that can be meshed
with different algorithms (or different algorithms parameters, i.e. hypothesises). with different algorithms (or different hypothesises).
In fact, we have three submeshes with concurrent algorithms, because In the example, we have three submeshes with concurrent algorithms,
they have different hypothesises assigned to them. because they have different hypotheses.
The first mesh computation made with: The first mesh computation is made with:
\image html mesh_order_123.png \image html mesh_order_123.png
<center><em>"Mesh order SubMesh_1, SubMesh_2, SubMesh_3"</em></center> <center><em>"Mesh order SubMesh_1, SubMesh_2, SubMesh_3"</em></center>
\image html mesh_order_123_res.png \image html mesh_order_123_res.png
<center><em>"Result mesh with order SubMesh_1, SubMesh_2, SubMesh_3 "</em></center> <center><em>"Result mesh with order SubMesh_1, SubMesh_2, SubMesh_3 "</em></center>
The next mesh computation with: The next mesh computation is made with:
\image html mesh_order_213.png \image html mesh_order_213.png
<center><em>"Mesh order SubMesh_2, SubMesh_1, SubMesh_3"</em></center> <center><em>"Mesh order SubMesh_2, SubMesh_1, SubMesh_3"</em></center>
\image html mesh_order_213_res.png \image html mesh_order_213_res.png
<center><em>"Result mesh with order SubMesh_2, SubMesh_1, SubMesh_3 "</em></center> <center><em>"Result mesh with order SubMesh_2, SubMesh_1, SubMesh_3 "</em></center>
And the last mesh computation with: And the last mesh computation is made with:
\image html mesh_order_321.png \image html mesh_order_321.png
<center><em>"Mesh order SubMesh_3, SubMesh_2, SubMesh_1"</em></center> <center><em>"Mesh order SubMesh_3, SubMesh_2, SubMesh_1"</em></center>
\image html mesh_order_321_res.png \image html mesh_order_321_res.png
<center><em>"Result mesh with order SubMesh_3, SubMesh_2, SubMesh_1 "</em></center> <center><em>"Result mesh with order SubMesh_3, SubMesh_2, SubMesh_1 "</em></center>
As we can see each mesh computation has different number of result As we can see, each mesh computation has a different number of result
elements and different mesh discretisation on shared edges (edges elements and a different mesh discretisation on the shared edges (the edges
that are shared between <b>Face_1</b>, <b>Face_2</b> and <b>Face_3</b>) that are shared between <b>Face_1</b>, <b>Face_2</b> and <b>Face_3</b>)
Additionally, submesh priority (order of algorithms to be applied) can Additionally, submesh priority (the order of applied algorithms) can
be modified not only in separate dialog box, but in <b>Preview</b> be modified not only in a separate dialog box, but also in the
also. This helps to preview different mesh results, modifying submesh <b>Preview</b>. This helps to preview different mesh results,
order. modifying the order of submeshes.
\image html mesh_order_preview.png \image html mesh_order_preview.png
<center><em>"Preview with submesh priority list box"</em></center> <center><em>"Preview with submesh priority list box"</em></center>
If there are no concurrent submeshes under Mesh object, then user will see the If there are no concurrent submeshes under the Mesh object, the user will see the
following information dialog box following information.
\image html mesh_order_no_concurrent.png \image html mesh_order_no_concurrent.png
<center><em>"No concurrent submeshes detected"</em></center> <center><em>"No concurrent submeshes detected"</em></center>
and no mesh order list box will appear in Preview dialog box.
</ol> </ol>

View File

@ -24,8 +24,8 @@ The following dialog box will appear:
<ul> <ul>
<li>the coordinates of the point;</li> <li>the coordinates of the point;</li>
<li>the type of elements to be found; it is also possible to find elements <li>the type of elements to be found; it is also possible to find elements
of all types related to the reference point. To be exact, type "All" of all types related to the reference point. Choose type "All" to find
means to find elements of any type except nodes and 0D elements.</li> elements of any type except for nodes and 0D elements.</li>
</ul> </ul>
</li> </li>

View File

@ -16,7 +16,8 @@ the VTK viewer;</li>
allowing to highlight important elements: allowing to highlight important elements:
<li>\subpage modifying_meshes_page "modifying meshes" with a vast <li>\subpage modifying_meshes_page "modifying meshes" with a vast
array of dedicated operations.</li> array of dedicated operations.</li>
<li>\subpage using_notebook_mesh_page.</li> <li>easily setting parameters via the variables predefined in
\subpage using_notebook_mesh_page "Salome notebook".</li>
</ul> </ul>
Almost all mesh module functionalities are accessible via Almost all mesh module functionalities are accessible via

View File

@ -8,32 +8,31 @@ selectable in the dialog box.
\image html mergeelems_ico.png "Merge elements button" \image html mergeelems_ico.png "Merge elements button"
<ol> <ol>
<li>From the \b Modification choose \b Transformation and from its <li>Choose in the main menu \b Modification -> \b Transformation -> <b>Merge elements</b> item. The following dialog box
sub-menu select the <b>Merge elements</b> item. The following dialog box
shall appear:</li> shall appear:</li>
\image html mergeelems_auto.png \image html mergeelems_auto.png
<br> <br>
<ul> <ul>
<li>\b Name is the name of the mesh whose elements will be merged.</li> <li>\b Name is the name of the mesh whose elements will be merged.</li>
<li>\b Automatic Mode or \b Manual Mode is to switch the dialog <li>\b Automatic or \b Manual Mode allows choosing how the elements
controls type. are processed.
</ul> </ul>
<li><b>Automatic mode:</b> <li><b>Automatic mode:</b>
<ul> <ul>
<li>In \b Automatic Mode the elements that were created on the same nodes will be merged.</li> <li>In the \b Automatic Mode the elements created on the same nodes will be merged.</li>
</ul> </ul>
</li> </li>
<li>If the \b Manual Mode is selected there are additional controls to <li>If the \b Manual Mode is selected, additional controls are
manage the elements to be merged in more detail: available:
\image html mergeelems.png \image html mergeelems.png
<br> <br>
<ul> <ul>
<li>\b Detect button generates the list of coincident elements for the given \b Tolerance.</li> <li>\b Detect button generates the list of coincident elements for the given \b Tolerance.</li>
<li><b>Coincident elements</b> is a list of groupes of elements for <li><b>Coincident elements</b> is a list of groups of elements for
merging. All elements of each group will form one after the operation. merging. All elements of each group will form one after the operation.
<ul> <ul>
<li>\b Remove button deletes the selected group from the list.</li> <li>\b Remove button deletes the selected group from the list.</li>

View File

@ -17,25 +17,24 @@ shall appear:</li>
<br> <br>
<ul> <ul>
<li>\b Name is the name of the mesh whose nodes will be merged.</li> <li>\b Name is the name of the mesh whose nodes will be merged.</li>
<li>\b Automatic Mode or \b Manual Mode is to switch the dialog <li>\b Automatic or \b Manual Mode allows choosing how the nodes are
controls type. processed.
<li>\b Tolerance is a maximum distance between nodes sufficient for <li>\b Tolerance is a maximum distance between nodes sufficient for
merging, that is able in both dialog modes.</li> merging.</li>
</ul> </ul>
<li><b>Automatic mode:</b> <li><b>Automatic mode:</b>
<br> <br>
<ul> <ul>
<li>In \b Automatic Mode to merge the Nodes, just input the tolerance <li>In the \b Automatic Mode all Nodes within the indicated tolerance
value and confirm by \b Apply button.</li> will be merged.</li>
</ul> </ul>
</li><br> </li><br>
<li>If the \b Manual Mode is selected there are additional controls to <li>If the \b Manual Mode is selected, additional controls are available:
manage the nodes to be merged in more detail:
<ul> <ul>
<li>\b Detect button generates the list of coincident nodes for the given <li>\b Detect button generates the list of coincident nodes for the given
\b Tolerance.</li> \b Tolerance.</li>
<li><b>Coincident nodes</b> is a list of groupes of nodes for <li><b>Coincident nodes</b> is a list of groups of nodes for
merging. All nodes of each group will form one after the merging. All nodes of each group will form one after the
operation. operation.
<ul> <ul>

View File

@ -9,7 +9,7 @@ shapes or by loading a custom texture from an external file.
- Standard point markers - Standard point markers
The Mesh module provides a set of predefined point marker shapes The Mesh module provides a set of predefined point marker shapes
which can be used to display points in 3D viewer. which can be used to display points in the 3D viewer.
Each standard point marker has two attributes: type (defines shape Each standard point marker has two attributes: type (defines shape
form) and scale factor (defines shape size). form) and scale factor (defines shape size).
@ -23,9 +23,9 @@ form) and scale factor (defines shape size).
It is also possible to load a point marker shape from an external file. It is also possible to load a point marker shape from an external file.
This file should provide a description of the point texture as a set This file should provide a description of the point texture as a set
of lines; each line is represented as sequence of "0" and "1" symbols, of lines; each line is represented as a sequence of "0" and "1" symbols,
where "1" symbol means an opaque pixel and "0" symbol means a where "1" symbol means an opaque pixel and "0" symbol means a
transparent pixel. The width of the texture correspond to the length transparent pixel. The width of the texture corresponds to the length
of the longest line in the file, expanded to the nearest byte-aligned of the longest line in the file, expanded to the nearest byte-aligned
value. The height of the texture is equal to the number of non-empty value. The height of the texture is equal to the number of non-empty
lines in the file. Note that missing symbols are replaced by "0". lines in the file. Note that missing symbols are replaced by "0".

View File

@ -69,17 +69,17 @@ name in the adjacent box);</li>
<b>Example of using:</b> <b>Example of using:</b>
1. Create quandrangle mesh 3x3 on simple planar face (200x200) 1. Create quandrangle mesh 3x3 on a simple planar face (200x200)
\image html scaleinit01.png \image html scaleinit01.png
and union 3 face (along axis Z) to group "gr_faces" and union 3 faces (along axis Z) to group "gr_faces"
\image html scaleinit02.png \image html scaleinit02.png
2. Perform scale operation for whole mesh with creation of new mesh: 2. Perform scale operation for the whole mesh and create a new mesh:
\image html scale03.png \image html scale03.png
@ -89,7 +89,7 @@ result after operation:
3. Perform scale operation for whole mesh with copy of elements: 3. Perform scale operation for the whole mesh and copy elements:
\image html scale04.png \image html scale04.png
@ -99,7 +99,7 @@ result after operation:
4. Perform scale operation for group of faces with copy of elements: 4. Perform scale operation for a group of faces and copy elements:
\image html scale06.png \image html scale06.png
@ -109,7 +109,7 @@ result after operation:
5. Perform scale operation for two edges with moving of elements: 5. Perform scale operation for two edges and move elements:
\image html scale07.png \image html scale07.png
@ -119,7 +119,7 @@ result after operation:
6. Perform scale operation for one face with moving of elements: 6. Perform scale operation for one face and move elements:
\image html scale09.png \image html scale09.png

View File

@ -23,7 +23,7 @@ The following dialog box will appear:
<li>The main list contains the list of volumes. You can click on <li>The main list contains the list of volumes. You can click on
a volume in the 3D viewer and it will be highlighted (lock Shift a volume in the 3D viewer and it will be highlighted (lock Shift
keyboard button to select several volumes). Click \b Add button and keyboard button to select several volumes). Click \b Add button and
the ID of this volume will be added to the list. To remove a the ID of this volume will be added to the list. To remove the
selected element or elements from the list click \b Remove button. <b>Sort selected element or elements from the list click \b Remove button. <b>Sort
list</b> button allows to sort the list of IDs. \b Filter button allows to list</b> button allows to sort the list of IDs. \b Filter button allows to
apply a definite filter to the selection of volumes. apply a definite filter to the selection of volumes.
@ -40,12 +40,12 @@ volumes of the currently displayed mesh or submesh.</li>
<li><b>Into 5 tetrahedra</b> and <b>Into 6 tetrahedra</b> allows to <li><b>Into 5 tetrahedra</b> and <b>Into 6 tetrahedra</b> allows to
specify the number of tetrahedra a hexahedron will be split into. If the specified method does specify the number of tetrahedra a hexahedron will be split into. If the specified method does
not allow to get a conform mesh, a generic solution is applied: an additional node not allow to get a conform mesh, a generic solution is applied: an additional node
is created at gravity center of a hexahedron, serving an apex of tetrahedra, all quadrangle sides of the hexahedron are split into two triangles each serving a base of a new tetrahedron.</li> is created at the gravity center of a hexahedron, serving an apex of tetrahedra, all quadrangle sides of the hexahedron are split into two triangles each serving a base of a new tetrahedron.</li>
</ul> </ul>
</li> </li>
<li><b>Select from</b> set of fields allows to choose a submesh or an <li><b>Select from</b> a set of fields allows to choose a submesh or an
existing group whose elements will be automatically added to the existing group whose elements will be automatically added to the
list.</li> list.</li>
</ul> </ul>

View File

@ -536,7 +536,8 @@ radial_Quad_algo = mesh.Quadrangle(algo=RADIAL_QUAD)
# In this case it uses "Default Nb of Segments" preferences parameter to discretize edges # In this case it uses "Default Nb of Segments" preferences parameter to discretize edges
mesh.Compute() mesh.Compute()
# The Radial Quadrange uses global or local 1d hypotheses if no its own hypotheses assigned. # The Radial Quadrange uses global or local 1d hypotheses if it does
# not have its own hypotheses.
# Define global hypotheses to discretize radial edges and a local one for circular edge # Define global hypotheses to discretize radial edges and a local one for circular edge
global_Nb_Segments = mesh.Segment().NumberOfSegments(5) global_Nb_Segments = mesh.Segment().NumberOfSegments(5)
local_Nb_Segments = mesh.Segment(circle).NumberOfSegments(10) local_Nb_Segments = mesh.Segment(circle).NumberOfSegments(10)

View File

@ -62,16 +62,16 @@ Nb_Segments_1.SetDistrType( 0 )
Quadrangle_2D = Mesh1.Quadrangle() Quadrangle_2D = Mesh1.Quadrangle()
isDone = Mesh1.Compute() isDone = Mesh1.Compute()
#Perform scale opration for whole mesh with creation of new mesh #Perform scale opration for the whole mesh and creation of a new mesh
newMesh = Mesh1.ScaleMakeMesh(Mesh1,SMESH.PointStruct(100,100,200),[0.5,0.3,0.7],True,"ScaledMesh") newMesh = Mesh1.ScaleMakeMesh(Mesh1,SMESH.PointStruct(100,100,200),[0.5,0.3,0.7],True,"ScaledMesh")
#Perform scale operation for whole mesh with copy of elements #Perform scale operation for the whole mesh and copy elements
Mesh1.Scale(Mesh1,SMESH.PointStruct(200,100,100),[0.5,0.5,0.5],True,True) Mesh1.Scale(Mesh1,SMESH.PointStruct(200,100,100),[0.5,0.5,0.5],True,True)
#Perform scale opration for two edges with moving of elements #Perform scale opration for two edges and move elements
Mesh1.Scale([1,2],SMESH.PointStruct(-100,100,100),[0.8,1.0,0.7],False) Mesh1.Scale([1,2],SMESH.PointStruct(-100,100,100),[0.8,1.0,0.7],False)
#Perform scale opration for one face with moving of elements #Perform scale opration for one face and move elements
Mesh1.Scale([21],SMESH.PointStruct(0,200,200),[0.7,0.7,0.7],False) Mesh1.Scale([21],SMESH.PointStruct(0,200,200),[0.7,0.7,0.7],False)
\endcode \endcode

View File

@ -37,9 +37,9 @@ Faces, Edges or both.</li>
<li><b>2D Quadratic</b> - allows to select between the representation <li><b>2D Quadratic</b> - allows to select between the representation
of quadratic edges as broken <b>lines</b> or as <b>arcs</b></li> of quadratic edges as broken <b>lines</b> or as <b>arcs</b></li>
<li><b>Orientation of faces</b> - shows vectors of orientation of <li><b>Orientation of faces</b> - shows vectors of orientation of
faces of the selected mesh. Vector is shown for each 2D mesh element faces of the selected mesh. The orientation vector is shown for each 2D mesh element
and for each free face of 3D mesh element. Vector direction is calculated by and for each free face of a 3D mesh element. the vector direction is calculated by
the first three nodes of face as a cross product of vectors n1-n2 and n1-n3.</li> the first three nodes of the face produced by vectors n1-n2 and n1-n3.</li>
<li>\subpage colors_size_page "Colors / Size" - allows to select color and size of <li>\subpage colors_size_page "Colors / Size" - allows to select color and size of
meshes.</li> meshes.</li>
<li>\subpage transparency_page "Transparency" - allows to change the <li>\subpage transparency_page "Transparency" - allows to change the