smesh/doc/salome/gui/SMESH/input/prism_3d_algo.doc

89 lines
4.0 KiB
Plaintext
Raw Normal View History

/*!
\page prism_3d_algo_page Extrusion 3D meshing algorithm
Extrusion 3D algorithm can be used for meshing prisms, i.e. 3D shapes
defined by two opposing faces having the same number of vertices and
2013-02-12 20:37:44 +06:00
edges. These two faces should be connected by quadrangle "side" faces.
\image html prism_mesh.png "Clipping view of a mesh of a prism with non-planar base and top faces"
2013-02-12 20:37:44 +06:00
The prism is allowed to have sides composed of several faces. (A prism
2013-04-17 22:20:21 +06:00
side is a row of faces (or one face) connecting the corresponding edges of
the top and base faces). However, a prism
side can be split only vertically as indicated in the
2013-02-12 20:37:44 +06:00
picture below.
2013-04-17 22:20:21 +06:00
\image html prism_ok_ko.png "A suitable and an unsuitable prism"
2013-02-12 20:37:44 +06:00
In this picture, the left prism is suitable for meshing with 3D
2013-04-17 22:20:21 +06:00
extrusion algorithm: it has six sides, two of which are split
vertically. The right prism cannot be meshed with this
algorithm because one of the prism sides is split horizontally (the
2013-02-12 20:37:44 +06:00
splitting edge is highlighted).
2013-02-12 20:37:44 +06:00
The algorithm can propagate 2D mesh not only between horizontal
(i.e. base and top) faces of one prism but also between faces of prisms
organized in a stack and between stacks sharing prism sides.
2013-04-17 22:20:21 +06:00
\image html prism_stack.png "Prism stacks"
This picture shows four neighboring prism stacks, each comprising two prisms.
The shown sub-mesh is used by the algorithm to mesh
all eight prisms in the stacks.
2013-02-12 20:37:44 +06:00
To use <em>Extrusion 3D</em> algorithm you need to assign algorithms
2013-04-17 22:20:21 +06:00
and hypotheses of lower dimensions as follows.
2013-02-12 20:37:44 +06:00
(A sample picture below shows algorithms and hypotheses used to
mesh a cylinder with prismatic volumes).
2013-04-17 22:20:21 +06:00
\image html prism_needs_hyps.png
2013-02-12 20:37:44 +06:00
2013-04-17 22:20:21 +06:00
The \b Global algorithms and hypotheses to be chosen at
2013-02-12 20:37:44 +06:00
\ref create_mesh_anchor "Creation of a mesh object" are:
<ul>
<li> 1D algorithm and hypothesis that will be applied for meshing
2013-04-17 22:20:21 +06:00
(logically) vertical edges of the prism (which connect the top and the
base faces of the prism). In the sample picture above these are
"Regular_1D" algorithm and "Number of Segments" hypothesis named "Vertical
Nb. Segments".</li>
2013-02-12 20:37:44 +06:00
</ul>
2013-04-17 22:20:21 +06:00
The \b Local algorithms and hypotheses to be chosen at
\ref constructing_submeshes_page "Construction of sub-meshes" are:
2013-02-12 20:37:44 +06:00
<ul>
<li> 1D and 2D algorithms and hypotheses that will be applied for
meshing the top and the base prism
\ref submesh_shape_section "faces". These faces can be meshed
2013-02-12 20:37:44 +06:00
with any type of 2D elements: quadrangles, triangles, polygons or
their mix. It is enough to define a sub-mesh on either the top or
the base face. In the sample picture above, "NETGEN_1D2D"
algorithm meshes "bottom disk" face with triangles. (1D algorithm
is not assigned as "NETGEN_1D2D" does not require divided edges to
create a 2D mesh.)
2013-02-12 20:37:44 +06:00
</li>
<li> Optionally you can define a 1D sub-mesh on some vertical
\ref submesh_shape_section "edges" of stacked prisms, which will
override the global 1D hypothesis mentioned above. In the <b>Prism
stacks</b> picture, the vertical division is not equidistant on
the whole length because a "Number Of Segments" hypothesis with
Scale Factor=3 is assigned to the highlighted edge.
2013-02-12 20:37:44 +06:00
</li></ul>
If <em>Extrusion 3D</em> algorithm is assigned to a sub-mesh in a mesh
with multiple sub-meshes, the described above approach may not work as
expected. For example the bottom face may be meshed by other algorithm
before <em>Extrusion 3D</em> have a chance to project a mesh from the
base face. This thing can happen with vertical edges as well. All
these can lead to either a meshing failure or to an incorrect meshing.
In such a case, it's necessary to explicitly define algorithms
that <em>Extrusion 3D</em> implicitly applies in a simple case:
- assign \ref projection_1D2D algorithm to the top face and
- assign a 1D algorithm to a group of all vertical edges.
\image html image157.gif "Prism with Extrusion 3D meshing. Vertical division is different on neighbor edges because several local 1D hypotheses are assigned."
2013-02-12 20:37:44 +06:00
\sa a sample TUI Script of
\ref tui_prism_3d_algo "Use Extrusion 3D meshing algorithm".
2012-08-09 16:03:55 +06:00
*/