mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-28 18:30:35 +05:00
Update SMESH documentation
This commit is contained in:
parent
2e582dad32
commit
d719b27fc2
@ -7,8 +7,6 @@
|
||||
<li>\ref max_element_area_anchor "Max Element Area"</li>
|
||||
<li>\ref length_from_edges_anchor "Length from Edges"</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>
|
||||
|
||||
<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
|
||||
\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>
|
||||
*/
|
||||
|
@ -55,6 +55,8 @@ with other hypotheses:
|
||||
<li>Propagation of 1D Hypothesis on opposite edges</li>
|
||||
<li>Non conform mesh allowed</li>
|
||||
<li>Quadratic mesh</li>
|
||||
<li>Quadrangle preference</li>
|
||||
<li>Triangle preference</li>
|
||||
</ul>
|
||||
|
||||
The choice of a hypothesis depends on:
|
||||
|
@ -26,10 +26,11 @@ following associated submenu will appear:</li>
|
||||
\image html image146.png
|
||||
|
||||
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
|
||||
(or to create the group if it doesn't exist). <b>Add to group</b> box allows to choose
|
||||
an existing group for created node or element or to specify a name for new group.
|
||||
|
||||
\note All dialogs for adding nodes or elements to the mesh (except for
|
||||
the dialog for 0D elements) provide a possibility to add them to the specified 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>
|
||||
|
||||
<b>See Also</b> sample TUI Scripts of
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
\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
|
||||
by three points: first, middle and last. All more complex \b Quadratic
|
||||
@ -18,10 +18,10 @@ one of the following:
|
||||
|
||||
\image html image152.png
|
||||
|
||||
\note All dialogs intended for 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).
|
||||
<b>Add to group</b> box allows to choose an existing group for created element or
|
||||
to specify a name for new group.
|
||||
\note All dialogs adding quadratic elements to mesh provide a possibility
|
||||
to add them to the specified group or to create it anew using <b>Add
|
||||
to group</b> box, which allows to choose an existing group for the created element or
|
||||
to give name to a new group.
|
||||
|
||||
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
|
||||
|
@ -30,6 +30,28 @@ opposite edge will have the same hypothesis, unless another hypothesis
|
||||
has been locally defined on the opposite edge.
|
||||
|
||||
<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.
|
||||
|
||||
|
||||
*/
|
@ -154,21 +154,20 @@ evaluation will be displayed in the following information box:
|
||||
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
\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:
|
||||
<ul>
|
||||
<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>
|
||||
</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:
|
||||
<ul>
|
||||
<li><i>2D</i> Netgen 1D-2D with Hypothesis <b>Netgen Simple parameters</b>
|
||||
(Number of Segments = 12)</li>
|
||||
</ul>
|
||||
The submeshes can become concurrent if their algorithms leads to mesh shared subshape
|
||||
with different algorithms (or different algorithms parameters, i.e. hypothesises).
|
||||
In fact, we have three submeshes with concurrent algorithms, because
|
||||
they have different hypothesises assigned to them.
|
||||
The submeshes become concurrent if they share subshapes that can be meshed
|
||||
with different algorithms (or different hypothesises).
|
||||
In the example, we have three submeshes with concurrent algorithms,
|
||||
because they have different hypotheses.
|
||||
|
||||
The first mesh computation made with:
|
||||
The first mesh computation is made with:
|
||||
\image html mesh_order_123.png
|
||||
<center><em>"Mesh order SubMesh_1, SubMesh_2, SubMesh_3"</em></center>
|
||||
\image html mesh_order_123_res.png
|
||||
<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
|
||||
<center><em>"Mesh order SubMesh_2, SubMesh_1, SubMesh_3"</em></center>
|
||||
\image html mesh_order_213_res.png
|
||||
<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
|
||||
<center><em>"Mesh order SubMesh_3, SubMesh_2, SubMesh_1"</em></center>
|
||||
\image html mesh_order_321_res.png
|
||||
<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
|
||||
elements and different mesh discretisation on shared edges (edges
|
||||
As we can see, each mesh computation has a different number of result
|
||||
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>)
|
||||
|
||||
Additionally, submesh priority (order of algorithms to be applied) can
|
||||
be modified not only in separate dialog box, but in <b>Preview</b>
|
||||
also. This helps to preview different mesh results, modifying submesh
|
||||
order.
|
||||
Additionally, submesh priority (the order of applied algorithms) can
|
||||
be modified not only in a separate dialog box, but also in the
|
||||
<b>Preview</b>. This helps to preview different mesh results,
|
||||
modifying the order of submeshes.
|
||||
\image html mesh_order_preview.png
|
||||
<center><em>"Preview with submesh priority list box"</em></center>
|
||||
|
||||
If there are no concurrent submeshes under Mesh object, then user will see the
|
||||
following information dialog box
|
||||
If there are no concurrent submeshes under the Mesh object, the user will see the
|
||||
following information.
|
||||
\image html mesh_order_no_concurrent.png
|
||||
<center><em>"No concurrent submeshes detected"</em></center>
|
||||
and no mesh order list box will appear in Preview dialog box.
|
||||
|
||||
</ol>
|
||||
|
||||
|
@ -24,8 +24,8 @@ The following dialog box will appear:
|
||||
<ul>
|
||||
<li>the coordinates of the point;</li>
|
||||
<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"
|
||||
means to find elements of any type except nodes and 0D elements.</li>
|
||||
of all types related to the reference point. Choose type "All" to find
|
||||
elements of any type except for nodes and 0D elements.</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -16,7 +16,8 @@ the VTK viewer;</li>
|
||||
allowing to highlight important elements:
|
||||
<li>\subpage modifying_meshes_page "modifying meshes" with a vast
|
||||
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>
|
||||
|
||||
Almost all mesh module functionalities are accessible via
|
||||
|
@ -8,32 +8,31 @@ selectable in the dialog box.
|
||||
\image html mergeelems_ico.png "Merge elements button"
|
||||
|
||||
<ol>
|
||||
<li>From the \b Modification choose \b Transformation and from its
|
||||
sub-menu select the <b>Merge elements</b> item. The following dialog box
|
||||
<li>Choose in the main menu \b Modification -> \b Transformation -> <b>Merge elements</b> item. The following dialog box
|
||||
shall appear:</li>
|
||||
|
||||
\image html mergeelems_auto.png
|
||||
<br>
|
||||
<ul>
|
||||
<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
|
||||
controls type.
|
||||
<li>\b Automatic or \b Manual Mode allows choosing how the elements
|
||||
are processed.
|
||||
</ul>
|
||||
|
||||
<li><b>Automatic mode:</b>
|
||||
<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>
|
||||
</li>
|
||||
|
||||
<li>If the \b Manual Mode is selected there are additional controls to
|
||||
manage the elements to be merged in more detail:
|
||||
<li>If the \b Manual Mode is selected, additional controls are
|
||||
available:
|
||||
|
||||
\image html mergeelems.png
|
||||
<br>
|
||||
<ul>
|
||||
<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.
|
||||
<ul>
|
||||
<li>\b Remove button deletes the selected group from the list.</li>
|
||||
|
@ -17,25 +17,24 @@ shall appear:</li>
|
||||
<br>
|
||||
<ul>
|
||||
<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
|
||||
controls type.
|
||||
<li>\b Automatic or \b Manual Mode allows choosing how the nodes are
|
||||
processed.
|
||||
<li>\b Tolerance is a maximum distance between nodes sufficient for
|
||||
merging, that is able in both dialog modes.</li>
|
||||
merging.</li>
|
||||
</ul>
|
||||
|
||||
<li><b>Automatic mode:</b>
|
||||
<br>
|
||||
<ul>
|
||||
<li>In \b Automatic Mode to merge the Nodes, just input the tolerance
|
||||
value and confirm by \b Apply button.</li>
|
||||
<li>In the \b Automatic Mode all Nodes within the indicated tolerance
|
||||
will be merged.</li>
|
||||
</ul>
|
||||
</li><br>
|
||||
<li>If the \b Manual Mode is selected there are additional controls to
|
||||
manage the nodes to be merged in more detail:
|
||||
<li>If the \b Manual Mode is selected, additional controls are available:
|
||||
<ul>
|
||||
<li>\b Detect button generates the list of coincident nodes for the given
|
||||
\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
|
||||
operation.
|
||||
<ul>
|
||||
|
@ -9,7 +9,7 @@ shapes or by loading a custom texture from an external file.
|
||||
- Standard point markers
|
||||
|
||||
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
|
||||
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.
|
||||
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
|
||||
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
|
||||
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".
|
||||
|
@ -69,17 +69,17 @@ name in the adjacent box);</li>
|
||||
|
||||
<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
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
@ -23,7 +23,7 @@ The following dialog box will appear:
|
||||
<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
|
||||
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
|
||||
list</b> button allows to sort the list of IDs. \b Filter button allows to
|
||||
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
|
||||
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
|
||||
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>
|
||||
|
||||
</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
|
||||
list.</li>
|
||||
</ul>
|
||||
|
@ -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
|
||||
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
|
||||
global_Nb_Segments = mesh.Segment().NumberOfSegments(5)
|
||||
local_Nb_Segments = mesh.Segment(circle).NumberOfSegments(10)
|
||||
|
@ -62,16 +62,16 @@ Nb_Segments_1.SetDistrType( 0 )
|
||||
Quadrangle_2D = Mesh1.Quadrangle()
|
||||
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")
|
||||
|
||||
#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)
|
||||
|
||||
#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)
|
||||
|
||||
#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)
|
||||
\endcode
|
||||
|
||||
|
@ -37,9 +37,9 @@ Faces, Edges or both.</li>
|
||||
<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>
|
||||
<li><b>Orientation of faces</b> - shows vectors of orientation of
|
||||
faces of the selected mesh. Vector is shown for each 2D mesh element
|
||||
and for each free face of 3D mesh element. Vector direction is calculated by
|
||||
the first three nodes of face as a cross product of vectors n1-n2 and n1-n3.</li>
|
||||
faces of the selected mesh. The orientation vector is shown for each 2D mesh element
|
||||
and for each free face of a 3D mesh element. the vector direction is calculated by
|
||||
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
|
||||
meshes.</li>
|
||||
<li>\subpage transparency_page "Transparency" - allows to change the
|
||||
|
Loading…
Reference in New Issue
Block a user