mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 09:20:34 +05:00
Review of reference documentation.
This commit is contained in:
parent
1176e29a2c
commit
d971e6ef16
Binary file not shown.
Before Width: | Height: | Size: 7.1 KiB |
BIN
doc/salome/gui/SMESH/images/hypo_quad_params_enfnodes_algo1.png
Normal file
BIN
doc/salome/gui/SMESH/images/hypo_quad_params_enfnodes_algo1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
doc/salome/gui/SMESH/images/hypo_quad_params_enfnodes_algo2.png
Normal file
BIN
doc/salome/gui/SMESH/images/hypo_quad_params_enfnodes_algo2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
doc/salome/gui/SMESH/images/hypo_quad_params_enfnodes_algo3.png
Normal file
BIN
doc/salome/gui/SMESH/images/hypo_quad_params_enfnodes_algo3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 13 KiB |
@ -48,7 +48,7 @@ beginning from a given starting length and up to a given end length.
|
|||||||
The direction of the splitting is defined by the orientation of the underlying geometrical edge.
|
The direction of the splitting is defined by the orientation of the underlying geometrical edge.
|
||||||
<b>"Reverse Edges"</b> list box allows to specify the edges for which the splitting should be made
|
<b>"Reverse Edges"</b> list box allows to specify the edges for which the splitting should be made
|
||||||
in the direction opposing to their orientation. This list box is enabled only if the geometry object
|
in the direction opposing to their orientation. This list box is enabled only if the geometry object
|
||||||
is selected for the meshing. In this case the user can select edges to be reversed either directly
|
is selected for the meshing. In this case the user can select edges to be reversed either by directly
|
||||||
picking them in the 3D viewer or by selecting the edges or groups of edges in the Object Browser.
|
picking them in the 3D viewer or by selecting the edges or groups of edges in the Object Browser.
|
||||||
|
|
||||||
\image html a-arithmetic1d.png
|
\image html a-arithmetic1d.png
|
||||||
@ -62,17 +62,14 @@ picking them in the 3D viewer or by selecting the edges or groups of edges in th
|
|||||||
\anchor geometric_1d_anchor
|
\anchor geometric_1d_anchor
|
||||||
<h2>Geometric Progression hypothesis</h2>
|
<h2>Geometric Progression hypothesis</h2>
|
||||||
|
|
||||||
<b>Geometric Progression</b> hypothesis allows to split edges into
|
<b>Geometric Progression</b> hypothesis allows splitting edges into
|
||||||
segments with a length that changes in geometric progression (Lk =
|
segments with a length that changes in geometric progression (Lk =
|
||||||
Lk-1 * d) beginning from a given starting length and with a given
|
Lk-1 * d) starting from a given <b>Start Length</b> and <b>Common Ratio</b>.
|
||||||
common ratio.
|
|
||||||
|
|
||||||
The direction of the splitting is defined by the orientation of the
|
The splitting direction is defined by the orientation of the
|
||||||
underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
|
underlying geometrical edge.
|
||||||
specify the edges for which the splitting should be made in the
|
<b>Reverse Edges</b> list box allows specifying the edges, for which the splitting should be made in the
|
||||||
direction opposing to their orientation. This list box is enabled only
|
direction opposite to their orientation. This list box is filled after a geometry object is selected for meshing. In this case it is possible to select edges to be reversed either directly picking them in
|
||||||
if the geometry object is selected for the meshing. In this case the
|
|
||||||
user can select edges to be reversed either directly picking them in
|
|
||||||
the 3D viewer or by selecting the edges or groups of edges in the
|
the 3D viewer or by selecting the edges or groups of edges in the
|
||||||
Object Browser.
|
Object Browser.
|
||||||
|
|
||||||
|
@ -36,13 +36,13 @@ of a given face.
|
|||||||
\anchor hypo_quad_params_anchor
|
\anchor hypo_quad_params_anchor
|
||||||
<h2>Quadrangle parameters</h2>
|
<h2>Quadrangle parameters</h2>
|
||||||
|
|
||||||
\image html hypo_quad_params_dialog.png "Quadrangle parameters creation/edition dialog"
|
\image html hypo_quad_params_dialog.png "Quadrangle parameters: Transition"
|
||||||
|
|
||||||
<b>Quadrangle parameters</b> is a hypothesis for Quadrangle (Mapping) algorithm.
|
<b>Quadrangle parameters</b> is a hypothesis for Quadrangle (Mapping) algorithm.
|
||||||
|
|
||||||
<b>Transition</b> tab is used to define the algorithm of transition
|
<b>Transition</b> tab is used to define the algorithm of transition
|
||||||
between opposite sides of faces with a different number of
|
between opposite sides of faces with a different number of
|
||||||
segments on opposite sides. The following types of transition
|
segments on them. The following types of transition
|
||||||
algorithms are available:
|
algorithms are available:
|
||||||
|
|
||||||
- <b>Standard</b> is the default case, when both triangles and quadrangles
|
- <b>Standard</b> is the default case, when both triangles and quadrangles
|
||||||
@ -80,7 +80,7 @@ algorithm for meshing of trilateral faces. In this case it is
|
|||||||
necessary to select the vertex, which will be used as the fourth edge
|
necessary to select the vertex, which will be used as the fourth edge
|
||||||
(degenerated).
|
(degenerated).
|
||||||
|
|
||||||
\image html hypo_quad_params_dialog_vert.png "Base Vertex tab of Quadrangle parameters creation/edition dialog"
|
\image html hypo_quad_params_dialog_vert.png "Quadrangle parameters: Base Vertex"
|
||||||
|
|
||||||
\image html hypo_quad_params_1.png "A face built from 3 edges"
|
\image html hypo_quad_params_1.png "A face built from 3 edges"
|
||||||
|
|
||||||
@ -98,9 +98,9 @@ shows the good (left) and the bad (right) results of meshing.
|
|||||||
|
|
||||||
\image html hypo_quad_params_res_2.png "The resulting meshes"
|
\image html hypo_quad_params_res_2.png "The resulting meshes"
|
||||||
|
|
||||||
\image html hypo_quad_params_dialog_enf.png "Enforced nodes tab of Quadrangle parameters creation/edition dialog"
|
\image html hypo_quad_params_dialog_enf.png "Quadrangle parameters: Enforced nodes"
|
||||||
|
|
||||||
<b>Enforced nodes</b> tab allows for defining points where the
|
<b>Enforced nodes</b> tab allows defining points, where the
|
||||||
algorithm should create nodes. There are two ways to define positions
|
algorithm should create nodes. There are two ways to define positions
|
||||||
of the enforced nodes.
|
of the enforced nodes.
|
||||||
<ul>
|
<ul>
|
||||||
@ -113,22 +113,30 @@ of the enforced nodes.
|
|||||||
projected to the meshed face and located close enough to the
|
projected to the meshed face and located close enough to the
|
||||||
meshed face will be used to create the enforced nodes.</li>
|
meshed face will be used to create the enforced nodes.</li>
|
||||||
</ul>
|
</ul>
|
||||||
Algorithm of creation of the enforced nodes is following.
|
|
||||||
|
|
||||||
\image html hypo_quad_params_enfnodes_algo.png "Steps of the algorithm of creation of the enforced nodes"
|
Let us see how the algorithm works:
|
||||||
<ol>
|
|
||||||
<li> Left image: Positions of nodes are computed without taking into
|
|
||||||
|
<ul>
|
||||||
|
<li> Initially positions of nodes are computed without taking into
|
||||||
account the enforced vertex (yellow point).</li>
|
account the enforced vertex (yellow point).</li>
|
||||||
<li> Middle image: A node closest to the enforced vertex is
|
\image html hypo_quad_params_enfnodes_algo1.png "Initial mesh"
|
||||||
|
|
||||||
|
<li> Then the node closest to the enforced vertex is
|
||||||
detected. Extreme nodes of the row and column of the detected node
|
detected. Extreme nodes of the row and column of the detected node
|
||||||
are used to create virtual edges (yellow lines) ending at the
|
are used to create virtual edges (yellow lines) ending at the
|
||||||
enforced vertex. </li>
|
enforced vertex. </li>
|
||||||
<li> Right image: The meshed face is thus divided by the virtual
|
\image html hypo_quad_params_enfnodes_algo2.png "Creation of virtual edges"
|
||||||
|
|
||||||
|
<li> Consequently, the meshed face is divided by the virtual
|
||||||
edges into four quadrilateral sub-domains each of which is meshed
|
edges into four quadrilateral sub-domains each of which is meshed
|
||||||
as usually: the nodes of the row and column of detected node are
|
as usually: the nodes of the row and column of the detected node are
|
||||||
moved to the virtual edges and the quadrilateral elements are
|
moved to the virtual edges and the quadrilateral elements are
|
||||||
constructed.
|
constructed.
|
||||||
</ol>
|
|
||||||
|
\image html hypo_quad_params_enfnodes_algo3.png "Final mesh"
|
||||||
|
|
||||||
|
</ul>
|
||||||
If there are several enforced vertices, the algorithm is applied
|
If there are several enforced vertices, the algorithm is applied
|
||||||
recursively to the formed sub-domains.
|
recursively to the formed sub-domains.
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ on the basis of geometrical shapes produced in the GEOM module.
|
|||||||
It is also possible to
|
It is also possible to
|
||||||
\subpage constructing_submeshes_page "construct mesh on a part of the geometrical object",
|
\subpage constructing_submeshes_page "construct mesh on a part of the geometrical object",
|
||||||
for example, a face, with different meshing parameters or using
|
for example, a face, with different meshing parameters or using
|
||||||
another meshing algorithm than the whole mesh.
|
another meshing algorithm.
|
||||||
|
|
||||||
Several created meshes can be \subpage building_compounds_page "combined into another mesh".
|
Several created meshes can be \subpage building_compounds_page "combined into another mesh".
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
/*!
|
|
||||||
|
|
||||||
\page arranging_study_objects_page Arranging objects in study
|
|
||||||
|
|
||||||
If sub-meshes or groups container item has more than one child sub-object, then there is a possibility to sort these children in ascending order.
|
|
||||||
|
|
||||||
To use sort functionality select "Sort children" popup menu item for the parent object.
|
|
||||||
|
|
||||||
\image html smesh_sort.png "Sorting of sub-objects"
|
|
||||||
|
|
||||||
*/
|
|
@ -9,9 +9,9 @@ used for meshing entities (1D, 2D, 3D) composing geometrical objects.
|
|||||||
<li>For meshing of 1D entities (<b>edges</b>):</li>
|
<li>For meshing of 1D entities (<b>edges</b>):</li>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Wire Discretisation meshing algorithm - splits a wire into a
|
<li>Wire Discretization meshing algorithm - splits a wire into a
|
||||||
number of mesh segments following any 1D hypothesis.</li>
|
number of mesh segments following any 1D hypothesis.</li>
|
||||||
<li>Composite Side Discretisation algorithm - allows to apply any 1D
|
<li>Composite Side Discretization algorithm - allows to apply any 1D
|
||||||
hypothesis to a whole side of a geometrical face even if it is
|
hypothesis to a whole side of a geometrical face even if it is
|
||||||
composed of several edges provided that they form C1 curve, have the
|
composed of several edges provided that they form C1 curve, have the
|
||||||
same hypotheses assigned and form one side in all faces of the main
|
same hypotheses assigned and form one side in all faces of the main
|
||||||
@ -58,10 +58,10 @@ There is also a number of more specific algorithms:
|
|||||||
<li>\subpage segments_around_vertex_algo_page "for defining the local size of elements around a certain node"</li>
|
<li>\subpage segments_around_vertex_algo_page "for defining the local size of elements around a certain node"</li>
|
||||||
<li>\subpage prism_3d_algo_page "for meshing prismatic shapes"</li>
|
<li>\subpage prism_3d_algo_page "for meshing prismatic shapes"</li>
|
||||||
<li>\subpage radial_quadrangle_1D2D_algo_page "for meshing special 2d faces (circles and part of circles)"</li>
|
<li>\subpage radial_quadrangle_1D2D_algo_page "for meshing special 2d faces (circles and part of circles)"</li>
|
||||||
|
<li>\subpage use_existing_page "Use Edges to be Created Manually" and
|
||||||
|
\ref use_existing_page "Use Faces to be Created Manually" algorithms can be
|
||||||
|
used to create a 1D or a 2D mesh in a python script.</li>
|
||||||
</ul>
|
</ul>
|
||||||
\ref use_existing_anchor "Use Edges to be Created Manually" and
|
|
||||||
\ref use_existing_anchor "Use Faces to be Created Manually" algorithms can be
|
|
||||||
used to create a 1D or a 2D mesh in a python script.
|
|
||||||
|
|
||||||
\ref constructing_meshes_page "Constructing meshes" page describes in
|
\ref constructing_meshes_page "Constructing meshes" page describes in
|
||||||
detail how to apply meshing algorithms.
|
detail how to apply meshing algorithms.
|
||||||
|
@ -7,7 +7,7 @@ the internal part of geometry and polyhedrons and other types of
|
|||||||
elements at the intersection of Cartesian cells with the geometrical
|
elements at the intersection of Cartesian cells with the geometrical
|
||||||
boundary.
|
boundary.
|
||||||
|
|
||||||
\image html cartesian3D_sphere.png "A shpere meshed by Body Fitting algorithm"
|
\image html cartesian3D_sphere.png "A sphere meshed by Body Fitting algorithm"
|
||||||
|
|
||||||
The meshing algorithm is as follows.
|
The meshing algorithm is as follows.
|
||||||
<ol>
|
<ol>
|
||||||
@ -29,10 +29,7 @@ nodes are inside and some outside. </li>
|
|||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
To apply this algorithm when you define your mesh, select <b>Body
|
To apply this algorithm when you define your mesh, select <b>Body
|
||||||
Fitting</b> in the list of 3D algorithms and click <em> "Add
|
Fitting</b> in the list of 3D algorithms and add <b>Body Fitting Parameters</b> hypothesis. The following dialog will appear:
|
||||||
Hypothesis" </em> button and <em>"Body Fitting Parameters"</em>" menu
|
|
||||||
item. Dialog of <b>Body Fitting Parameters
|
|
||||||
hypothesis</b> will appear.
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
\anchor cartesian_hyp_anchor
|
\anchor cartesian_hyp_anchor
|
||||||
@ -43,19 +40,21 @@ item. Dialog of <b>Body Fitting Parameters
|
|||||||
This dialog allows to define
|
This dialog allows to define
|
||||||
<ul>
|
<ul>
|
||||||
<li>\b Name of the algorithm. </li>
|
<li>\b Name of the algorithm. </li>
|
||||||
|
|
||||||
<li> Minimal size of a cell truncated by the geometry boundary. If the
|
<li> Minimal size of a cell truncated by the geometry boundary. If the
|
||||||
size of a truncated grid cell is \b Threshold times less than a
|
size of a truncated grid cell is \b Threshold times less than a
|
||||||
initial cell size, then a mesh element is not created. </li>
|
initial cell size, then a mesh element is not created. </li>
|
||||||
|
|
||||||
<li> <b> Implement Edges </b> check-box activates incorporation of
|
<li> <b> Implement Edges </b> check-box activates incorporation of
|
||||||
geometrical edges in the mesh.
|
geometrical edges in the mesh.
|
||||||
\image html cartesian_implement_edge.png "'Implement Edges' switched off (left) and on (right)"
|
|
||||||
<li> Cartesian structured grid. Location of nodes along each grid axis
|
\image html cartesian_implement_edge.png "Implement Edges switched off to the left and on to the right"
|
||||||
is defined individually. <b> Definition mode </b> chooses a way of
|
|
||||||
grid definition:
|
<li> <b>Definition mode</b> allows choosing how Cartesian structured grid is defined. Location of nodes along each grid axis is defined individually:
|
||||||
<ul>
|
<ul>
|
||||||
<li> You can specify the \b Coordinates of grid nodes. \b Insert button
|
<li> You can specify the \b Coordinates of grid nodes. \b Insert button
|
||||||
inserts a node at distance \b Step (negative or positive) from a
|
inserts a node at \b Step distance(negative or positive) from the
|
||||||
selected node. \b Delete button removes a selected node. Double
|
selected node. \b Delete button removes the selected node. Double
|
||||||
click on a coordinate in the list enables its edition.
|
click on a coordinate in the list enables its edition.
|
||||||
\b Note that node coordinates are measured along directions of
|
\b Note that node coordinates are measured along directions of
|
||||||
axes that can differ from the directions of the Global Coordinate
|
axes that can differ from the directions of the Global Coordinate
|
||||||
@ -65,38 +64,37 @@ This dialog allows to define
|
|||||||
normalized at [0.0,1.0]. The whole range of geometry can be
|
normalized at [0.0,1.0]. The whole range of geometry can be
|
||||||
divided into sub-ranges with their own spacing formulas to apply;
|
divided into sub-ranges with their own spacing formulas to apply;
|
||||||
\a t varies between 0.0 and 1.0 within each sub-range. \b Insert button
|
\a t varies between 0.0 and 1.0 within each sub-range. \b Insert button
|
||||||
divides a selected range into two ones. \b Delete button adds the
|
divides a selected range into two. \b Delete button adds the
|
||||||
selected sub-range to the previous one. Double click on a range in
|
selected sub-range to the previous one. Double click on a range in
|
||||||
the list enables edition of its right boundary. Double click on a
|
the list enables edition of its right boundary. Double click on a
|
||||||
function in the list enables its edition.
|
function in the list enables its edition.
|
||||||
</li> </ul>
|
</li> </ul>
|
||||||
</li>
|
</li>
|
||||||
<li> Coordinates of a <b> Fixed Point</b>. They allow to exactly
|
|
||||||
locate a grid node in a direction defined by spacing. If all the three
|
<li> <b> Fixed Point</b> group allows defining an exact location of a grid node in the direction defined by spacing. The following cases are possible:
|
||||||
directions are defined by spacing, then there will be a mesh node at
|
<ul>
|
||||||
the <b> Fixed Point</b>. If two directions are defined by spacing,
|
<li>If all three directions are defined by spacing, there will be a mesh node at the <b> Fixed Point</b>. </li>
|
||||||
then there will be at least a link between mesh nodes passing through
|
<li>If two directions are defined by spacing, there will be at least a link between mesh nodes passing through the <b> Fixed Point</b>.</li>
|
||||||
the <b> Fixed Point</b>. If only one direction is defined by spacing,
|
<li> If only one direction is defined by spacing, there will be at least an element facet passing through the <b> Fixed Point</b>.</li>
|
||||||
then there will be at least an element facet passing through
|
<li>If no directions are defined by spacing, <b> Fixed Point</b> is disabled.</li>
|
||||||
the <b> Fixed Point</b>. If no directions are defined by spacing,
|
</ul>
|
||||||
<b> Fixed Point</b> is disabled.</li>
|
</li>
|
||||||
<li> <b> Directions of Axes</b>. You can set up almost any
|
|
||||||
directions of grid axes that can help in generation of as many as
|
<li> <b> Directions of Axes</b> group allows setting the directions of grid axes.
|
||||||
possible hexahedral elements.
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><b> Orthogonal Axes </b> check-box, if activated, keeps the
|
<li>If <b> Orthogonal Axes </b> check-box is activated the
|
||||||
axes orthogonal during their modification. </li>
|
axes remain orthogonal during their modification. </li>
|
||||||
<li> Selection buttons enable snapping corresponding axes to
|
<li> Selection buttons enable snapping corresponding axes to
|
||||||
direction of a geometrical edge selected in the Object
|
direction of a geometrical edge selected in the Object
|
||||||
Browser. Edge direction is defined by coordinates of its end
|
Browser. Edge direction is defined by coordinates of its end
|
||||||
points.</li>
|
points.</li>
|
||||||
<li><b> Optimal Axes</b> button runs an algorithm that tries to
|
<li><b> Optimal Axes</b> button runs an algorithm that tries to
|
||||||
set the axes so that a number of generated hexahedra to be
|
set the axes to maximize the number of generated hexahedra.</li>
|
||||||
maximal.</li>
|
|
||||||
<li><b> Reset </b> button returns the axes in a default position
|
<li><b> Reset </b> button returns the axes in a default position
|
||||||
parallel to the axes of the Global Coordinate System.</li>
|
parallel to the axes of the Global Coordinate System.</li>
|
||||||
</ul></li>
|
</ul>
|
||||||
</ul>
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<b>See Also</b> a sample TUI Script of a
|
<b>See Also</b> a sample TUI Script of a
|
||||||
|
@ -10,9 +10,6 @@
|
|||||||
<li> \ref submesh_order_anchor "Changing sub-mesh priority" (optional)</li>
|
<li> \ref submesh_order_anchor "Changing sub-mesh priority" (optional)</li>
|
||||||
<li> \ref compute_anchor "Computing the mesh"</li>
|
<li> \ref compute_anchor "Computing the mesh"</li>
|
||||||
</ul>
|
</ul>
|
||||||
Mesh can be \ref use_existing_anchor "computed using your own meshing algorithms"
|
|
||||||
written in Python.
|
|
||||||
|
|
||||||
|
|
||||||
\anchor create_mesh_anchor
|
\anchor create_mesh_anchor
|
||||||
<h2>Creation of a mesh object</h2>
|
<h2>Creation of a mesh object</h2>
|
||||||
@ -32,6 +29,10 @@ written in Python.
|
|||||||
\image html createmesh-inv.png
|
\image html createmesh-inv.png
|
||||||
<br>
|
<br>
|
||||||
</li>
|
</li>
|
||||||
|
<li>Select <b>Mesh Type</b> in the corresponding list from <b>Any, Hexahedral, Tetrahedral, Triangular </b> and \b Quadrilateral (there can be less items for lower dimensions).
|
||||||
|
|
||||||
|
Selection of a mesh type hides any algorithms that are not able to create elements of this type.</li>
|
||||||
|
|
||||||
<li>Apply \subpage basic_meshing_algos_page "meshing algorithms" and
|
<li>Apply \subpage basic_meshing_algos_page "meshing algorithms" and
|
||||||
\subpage about_hypo_page "hypotheses" which will be used to compute
|
\subpage about_hypo_page "hypotheses" which will be used to compute
|
||||||
this mesh.
|
this mesh.
|
||||||
@ -87,23 +88,20 @@ written in Python.
|
|||||||
<em>"Edit Hypothesis" button</em>
|
<em>"Edit Hypothesis" button</em>
|
||||||
</center>
|
</center>
|
||||||
|
|
||||||
Most 2D and 3D algorithms can work without hypotheses using some
|
Most 2D and 3D algorithms can work without hypotheses using default meshing parameters. Some algorithms do not require any hypotheses. After selection of an algorithm "Hypothesis" field of
|
||||||
default meshing parameters. Some algorithms does not require any
|
|
||||||
hypothesis. After selection of an algorithm "Hypothesis" field of
|
|
||||||
the dialog can contain:
|
the dialog can contain:
|
||||||
<ul>
|
<ul>
|
||||||
<li> <em>\<Default\></em> if the algorithm can work using default
|
<li> <em>\<Default\></em> if the algorithm can work using default
|
||||||
parameters.</li>
|
parameters.</li>
|
||||||
<li> <em>\<None\></em> if the algorithm requires a hypothesis defining
|
<li> <em>\<None\></em> if the algorithm requires a hypothesis defining
|
||||||
its parameters.</li>
|
its parameters.</li>
|
||||||
<li> Nothing if the algorithm has no parameters to tune.</li>
|
<li> If the algorithm does not use hypotheses, this field is grayed.</li>
|
||||||
</ul>
|
</ul>
|
||||||
After selection of an algorithm "Add. Hypothesis" field of
|
After selection of an algorithm <b>Add. Hypothesis</b> field can contain:
|
||||||
the dialog can contain:
|
|
||||||
<ul>
|
<ul>
|
||||||
<li> <em>\<None\></em> if the algorithm can be additionally tuned
|
<li> <em>\<None\></em> if the algorithm can be tuned
|
||||||
using an additional hypothesis.</li>
|
using an additional hypothesis.</li>
|
||||||
<li> Nothing if the algorithm has no additional parameters to tune.</li>
|
<li> If the algorithm does not use additional hypotheses, this field is grayed.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
Proceed in the same way with 2D and 1D Algorithms and Hypotheses that
|
Proceed in the same way with 2D and 1D Algorithms and Hypotheses that
|
||||||
@ -346,33 +344,6 @@ By default, the information box is always shown after mesh computation operation
|
|||||||
|
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
\anchor use_existing_anchor
|
|
||||||
<h2>"Use Edges to be Created Manually" and "Use Faces to be Created Manually" algorithms</h2>
|
|
||||||
|
|
||||||
It is possible to create a 1D or a 2D mesh in a python script
|
|
||||||
(using <em>AddNode, AddEdge</em> and <em>AddFace</em> commands) and
|
|
||||||
then use such sub-meshes in the construction of a 2D or a 3D mesh. For
|
|
||||||
this, there exist two algorithms: <b>Use Edges to be Created
|
|
||||||
Manually</b> and <b>Use Faces to be Created Manually</b>.
|
|
||||||
Imagine, you want to use standard algorithms to generate 1D and 3D
|
|
||||||
meshes and to create 2D mesh by your python code. Then you
|
|
||||||
<ol>
|
|
||||||
<li> create a mesh object, assign a 1D algorithm,</li>
|
|
||||||
<li> invoke \b Compute command, which computes a 1D mesh,</li>
|
|
||||||
<li> assign <b>Use Faces to be Created Manually</b> and a 3D algorithm,</li>
|
|
||||||
<li> run your python code, which creates a 2D mesh,</li>
|
|
||||||
<li> invoke \b Compute command, which computes a 3D mesh.</li>
|
|
||||||
</ol>
|
|
||||||
\warning <b>Use Edges to be Created Manually</b> and <b>Use Faces to
|
|
||||||
be Created Manually</b> algorithms should be assigned _before_
|
|
||||||
mesh generation by the Python code.
|
|
||||||
|
|
||||||
Consider trying a sample script demonstrating the usage of
|
|
||||||
\ref tui_use_existing_faces "Use Faces to be Created Manually"
|
|
||||||
algorithm for construction of a 2D mesh using Python commands.
|
|
||||||
|
|
||||||
\image html use_existing_face_sample_mesh.png
|
|
||||||
<em> Mesh computed by \ref tui_use_existing_faces "the sample script"
|
|
||||||
shown in a Shrink mode.</em>
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
29
doc/salome/gui/SMESH/input/define_mesh_by_script.doc
Normal file
29
doc/salome/gui/SMESH/input/define_mesh_by_script.doc
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
\page use_existing_page Use Edges/Faces to be Created Manually"
|
||||||
|
|
||||||
|
The algorithms <b>Use Edges to be Created Manually</b> and <b>Use Faces to be Created Manually</b> allow creating a 1D or a 2D mesh in a python script (using <em>AddNode, AddEdge</em> and <em>AddFace</em> commands) and then using such sub-meshes in the construction of a 2D or a 3D mesh.
|
||||||
|
|
||||||
|
For example, you want to use standard algorithms to generate 1D and 3D
|
||||||
|
meshes and to create 2D mesh by your python code. For this, you
|
||||||
|
<ol>
|
||||||
|
<li> create a mesh object, assign a 1D algorithm,</li>
|
||||||
|
<li> invoke \b Compute command, which computes a 1D mesh,</li>
|
||||||
|
<li> assign <b>Use Faces to be Created Manually</b> and a 3D algorithm,</li>
|
||||||
|
<li> run your python code, which creates a 2D mesh,</li>
|
||||||
|
<li> invoke \b Compute command, which computes a 3D mesh.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
\warning <b>Use Edges to be Created Manually</b> and <b>Use Faces to
|
||||||
|
be Created Manually</b> algorithms should be assigned _before_
|
||||||
|
mesh generation by the Python code.
|
||||||
|
|
||||||
|
Consider trying a sample script demonstrating the usage of
|
||||||
|
\ref tui_use_existing_faces "Use Faces to be Created Manually"
|
||||||
|
algorithm for construction of a 2D mesh using Python commands.
|
||||||
|
|
||||||
|
\image html use_existing_face_sample_mesh.png
|
||||||
|
<em> Mesh computed by \ref tui_use_existing_faces "the sample script"
|
||||||
|
shown in a Shrink mode.</em>
|
||||||
|
|
||||||
|
*/
|
@ -122,18 +122,7 @@ Parameters to be defined in this mode:
|
|||||||
\anchor mode_group_boundary_anchor
|
\anchor mode_group_boundary_anchor
|
||||||
<h2>Duplicate nodes on group boundaries</h2>
|
<h2>Duplicate nodes on group boundaries</h2>
|
||||||
|
|
||||||
This mode duplicates nodes located on boundaries between given groups of
|
This mode duplicates nodes located on boundaries between given groups of volumes.
|
||||||
volumes. If required, flat elements are created on the duplicated
|
|
||||||
nodes: a triangular facet shared by two volumes of two groups generates
|
|
||||||
a flat prism, a quadrangular facet generates a flat hexahedron.
|
|
||||||
<br>
|
|
||||||
The created flat volumes are stored in groups. These groups are named
|
|
||||||
according to the position of the group in the list of groups: group
|
|
||||||
"j_n_p" is a group of flat elements that are built between the group \#n
|
|
||||||
and the group \#p in the group list. All the flat elements are gathered
|
|
||||||
into the group named "joints3D". The flat element of the multiple
|
|
||||||
junctions between the simple junction are stored in a group named
|
|
||||||
"jointsMultiples".
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -142,12 +131,12 @@ junctions between the simple junction are stored in a group named
|
|||||||
Parameters to be defined in this mode:
|
Parameters to be defined in this mode:
|
||||||
<ul>
|
<ul>
|
||||||
<li><b>Groups of volumes</b> (<em>mandatory</em>): list of volume
|
<li><b>Groups of volumes</b> (<em>mandatory</em>): list of volume
|
||||||
groups. These groups should be disjoint, i.e. should not share volumes.</li>
|
groups. These groups should be disjoint, i.e. should not have shared volumes.</li>
|
||||||
<li><b>Create joint elements</b> : if checked - the flat elements are created.</li>
|
<li> If <b>Create joint elements</b> option is activated, flat elements are created on the duplicated
|
||||||
<li><b>On all boundaries</b> : if checked - then the volumes not
|
nodes: a triangular facet shared by two volumes of two groups generates
|
||||||
included into the <b>Groups of volumes</b> are considered as another given
|
a flat prism, a quadrangular facet generates a flat hexahedron.</li>
|
||||||
group. And thus nodes on boundary between <b>Groups of volumes</b> and the
|
<li> If <b>On all boundaries</b> : option is activated, the volumes, which are not
|
||||||
rest mesh are also duplicated.</li>
|
included into <b>Groups of volumes</b>, are considered as another group and thus the nodes on the boundary between <b>Groups of volumes</b> and the remaining mesh are also duplicated.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<br><b>See Also</b> a sample TUI Script of a
|
<br><b>See Also</b> a sample TUI Script of a
|
||||||
|
@ -32,6 +32,10 @@ The created groups can be later:
|
|||||||
- \subpage using_operations_on_groups_page "Subjected to Boolean operations"
|
- \subpage using_operations_on_groups_page "Subjected to Boolean operations"
|
||||||
- \subpage deleting_groups_page "Deleted"
|
- \subpage deleting_groups_page "Deleted"
|
||||||
|
|
||||||
|
If sub-meshes or groups container item has more than one child sub-object, it is possible to sort the children in ascending order. For this, select the parent object in the Object Browser and choose <b>Sort children</b> context menu item.
|
||||||
|
|
||||||
|
\image html smesh_sort.png "Sorting of sub-objects"
|
||||||
|
|
||||||
An important tool, providing filters for creation of \b Standalone
|
An important tool, providing filters for creation of \b Standalone
|
||||||
groups is \ref selection_filter_library_page.
|
groups is \ref selection_filter_library_page.
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@ It is possible to easily set parameters via the variables predefined in
|
|||||||
\subpage using_notebook_mesh_page "Salome notebook".
|
\subpage using_notebook_mesh_page "Salome notebook".
|
||||||
|
|
||||||
Mesh module preferences are described in the \subpage mesh_preferences_page section of SALOME Mesh Help.
|
Mesh module preferences are described in the \subpage mesh_preferences_page section of SALOME Mesh Help.
|
||||||
Also, there is a possibility to \subpage arranging_study_objects_page "re-arrange sub-meshes and groups in the SALOME study".
|
|
||||||
|
|
||||||
Almost all mesh module functionalities are accessible via
|
Almost all mesh module functionalities are accessible via
|
||||||
\subpage smeshpy_interface_page "Mesh module Python interface".
|
\subpage smeshpy_interface_page "Mesh module Python interface".
|
||||||
|
@ -14,17 +14,19 @@ click <em>"Move Node"</em> button in the toolbar.
|
|||||||
\image html image67.png
|
\image html image67.png
|
||||||
<center><em>"Move Node" button</em></center>
|
<center><em>"Move Node" button</em></center>
|
||||||
|
|
||||||
One of the following dialogs will appear:
|
The following dialog will appear:
|
||||||
|
|
||||||
\image html meshtopass1.png "manual method of selecting node"
|
\image html meshtopass1.png "Manual node selection"
|
||||||
\image html meshtopass2.png "automatic method of selecting node"
|
|
||||||
|
\image html meshtopass2.png "Automatic node selection"
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li>Specify the way of selection of the node: manually (first radio button) or automatically (second radio button).</li>
|
<li>Specify the way of node selection: manually (the first radio button) or automatically (the second radio button).</li>
|
||||||
<li>If the manual method selected, select the necessary node (X, Y, Z fields show the original coordinates of the node to move) or set the ID node.</li>
|
|
||||||
|
<li>If the manual method is selected, select the necessary node (X, Y, Z fields show the original coordinates of the node to move) or set the node ID.</li>
|
||||||
<li>Enter the coordinates of the destination point.</li>
|
<li>Enter the coordinates of the destination point.</li>
|
||||||
<li>Click <b>Update Destination</b> button to update the coordinates of the destination point.</li>
|
<li>Click <b>Update Destination</b> button to update the coordinates of the destination point.</li>
|
||||||
<li>Activate \b Preview checkbox to show the result of move in the viewer</li>
|
<li>Activate \b Preview check-box to show the result of move in the viewer</li>
|
||||||
<li>Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
|
<li>Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
@ -19,70 +19,50 @@ The following dialog box will appear:
|
|||||||
\image html split_into_tetra.png
|
\image html split_into_tetra.png
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<b>Target element type</b> group of radio-buttons allows to select
|
First it is possible to select the type of operation:
|
||||||
a type of operation. If \b Tetrahedron button is checked, then the
|
- If \b Tetrahedron button is checked, the operation will split volumes of any type into tetrahedra.
|
||||||
operation will split volumes of any type into tetrahedra.
|
- If \b Prism button is checked, the operation will split hexahedra into prisms.
|
||||||
If \b Prism button is checked, then the operation will split hexahedra
|
|
||||||
into prisms, and the dialog will look as follows:
|
|
||||||
|
|
||||||
\image html split_into_prisms.png
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>The main list contains list of volumes to split. You can click on
|
<li>The main list contains the list of volumes to split. 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 the
|
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 applying a filter to the selection of volumes.
|
||||||
apply a definite filter to the selection of volumes.
|
|
||||||
<br><b>Note:</b> If you split not all adjacent non-tetrahedral
|
<br><b>Note:</b> If you split not all adjacent non-tetrahedral
|
||||||
volumes, your mesh becomes non-conform.</li>
|
volumes, your mesh becomes non-conform.</li>
|
||||||
<li><b>Apply to all</b> radio button allows to split all
|
|
||||||
|
<li><b>Apply to all</b> radio button allows splitting all
|
||||||
volumes of the currently selected mesh.</li>
|
volumes of the currently selected mesh.</li>
|
||||||
|
|
||||||
|
<li>If \b Tetrahedron element type is selected, <b> Split hexahedron </b> group allows specifying the number of tetrahedra a hexahedron will be split into. If the chosen method does not allow to get a conform mesh, a generic solution is applied: an additional node 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>
|
||||||
|
|
||||||
|
<li>If \Prism element type is selected, the <b>Split hexahedron</b> group looks as follows:
|
||||||
|
|
||||||
|
\image html split_into_prisms.png
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><b>Into 2 (or 4) prisms</b> allows to specify the number of prisms a hexahedron will be split into.</li>
|
||||||
|
<li> <b> Facet to split </b> group allows to specify the side (facet) of the hexahedron, which is split into triangles. This facet is defined by a point and a direction. The algorithm finds a hexahedron closest to the specified point and splits a facet whose normal is closest to the specified direction. Then the splitting is propagated from that hexahedron to all adjacent hexahedra.
|
||||||
|
The point and the direction by which the first split hexahedron is found can be specified:
|
||||||
|
<ul>
|
||||||
|
<li> by input of coordinates in <b> Hexa location </b> and <b> Facet normal </b> fields, or </li>
|
||||||
|
<li> by clicking <b>Selection</b> button and selecting in the viewer the element whose barycenter will be used as the start point and whose direction will be used as a normal to facet to split into triangles. Switch this button
|
||||||
|
off to return to selection of volumes to split.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<li> If <b> All domains </b> option is off, the operation stops when all
|
||||||
<li><b> Split hexahedron </b> group allows to specify a method of
|
|
||||||
splitting hexahedra.
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><b>Into N tetrahedra/prisms</b> allows to specify the number of
|
|
||||||
tetrahedra or prisms 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 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>
|
|
||||||
<li> <b> Facet to split </b> group allows to specify a side (facet) of a
|
|
||||||
hexahedron to split into triangles when splitting into prisms.
|
|
||||||
The facet to split is defined by specifying a point and a direction
|
|
||||||
close to normal of the facet. The operation finds a hexahedron most
|
|
||||||
close to the specified point and splits a facet whose normal is most
|
|
||||||
close to the specified direction. Then the splitting is propagated
|
|
||||||
from that hexahedron to all adjacent hexahedra.
|
|
||||||
<ul>
|
|
||||||
<li> <b> Hexa location </b> allows to specify a <em> start
|
|
||||||
point </em> by which a first split hexahedron is found. <em>
|
|
||||||
Selection button</em> switches to selection of the element whose
|
|
||||||
barycenter will be used the start point and whose direction will be
|
|
||||||
used as a normal to facet to split into triangles. To return to
|
|
||||||
selection of volumes to split it is necessary to switch this button
|
|
||||||
off. </li>
|
|
||||||
<li> <b> Facet normal </b> allows to specify a direction of the
|
|
||||||
normal to hexahedron facet to split into triangles.</li>
|
|
||||||
</ul>
|
|
||||||
<li><b> All domains </b> - if it is off the operation stops as all
|
|
||||||
hehexedra adjacent to the start hexahedron are split into
|
hehexedra adjacent to the start hexahedron are split into
|
||||||
prisms. Else the operation tries to continue splitting starting from
|
prisms. Else the operation tries to continue splitting starting from
|
||||||
another hexahedron closest to the <b> Hexa location</b>. </li>
|
another hexahedron closest to the <b> Hexa location</b>. </li>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<li><b>Select from</b> a set of fields allows to choose a sub-mesh or an
|
<li><b>Select from</b> set of fields allows choosing a sub-mesh or an
|
||||||
existing group whose elements will be added to the list as you ckick
|
existing group whose elements will be added to the list as you click \b Add button.</li>
|
||||||
\b Add button.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<li>Click the \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
|
<li>Click \b Apply or <b>Apply and Close</b> button to confirm the operation.</li>
|
||||||
</ol>
|
</ol>
|
||||||
*/
|
*/
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
|
|
||||||
\page import_algos_page "Import Elements from Another Mesh" Algorithms
|
\page import_algos_page Import Elements from Another Mesh Algorithms
|
||||||
|
|
||||||
\n <em>Import nD Elements from Another Mesh </em>algorithms allow to
|
\n <b>Import Elements from Another Mesh</b> algorithms allow to
|
||||||
define the mesh of a geometrical
|
define the mesh of a geometrical
|
||||||
object by importing suitably located mesh elements from another
|
object by importing suitably located mesh elements from another
|
||||||
mesh. The mesh elements to import from the other mesh should be contained in
|
mesh. The mesh elements to import from the other mesh should be contained in
|
||||||
|
Loading…
Reference in New Issue
Block a user