71ba2a9125d6d26b4fbd0807a2597e8f8ecb2b38
1 /*!
3 \page prism_3d_algo_page 3D extrusion meshing algorithm
5 3D extrusion algorithm can be used for meshing prisms, i.e. 3D shapes
6 defined by two opposing faces having the same number of vertices and
7 edges. These two faces should be connected by quadrangle "side" faces.
9 The prism is allowed to have sides composed of several faces. (A prism
10 side is a row of faces (or one face) connecting the corresponding edges of
11 the top and base faces). However, a prism
12 side can be split only vertically as indicated in the
13 picture below.
15 \image html prism_ok_ko.png "A suitable and an unsuitable prism"
16 In this picture, the left prism is suitable for meshing with 3D
17 extrusion algorithm: it has six sides, two of which are split
18 vertically. The right prism cannot be meshed with this
19 algorithm because one of the prism sides is split horizontally (the
20 splitting edge is highlighted).
22 The algorithm can propagate 2D mesh not only between horizontal
23 (i.e. base and top) faces of one prism but also between faces of prisms
24 organized in a stack and between stacks sharing prism sides.
26 \image html prism_stack.png "Prism stacks"
27 This picture shows four neighboring prism stacks, each comprising two prisms.
28 The shown sub-mesh is used by the algorithm to mesh
29 all eight prisms in the stacks.
31 To use <em>3D extrusion</em> algorithm you need to assign algorithms
32 and hypotheses of lower dimensions as follows.
33 (A sample picture below shows algorithms and hypotheses used to
34 mesh a cylinder with prismatic volumes).
36 \image html prism_needs_hyps.png
38 The \b Global algorithms and hypotheses to be chosen at
39 \ref create_mesh_anchor "Creation of a mesh object" are:
40 <ul>
41 <li> 1D algorithm and hypothesis that will be applied for meshing
42   (logically) vertical edges of the prism (which connect the top and the
43   base faces of the prism). In the sample picture above these are
44   "Regular_1D" algorithm and "Nb. Segments" hypothesis named "Vertical
45   Nb. Segments".</li>
46 </ul>
48 The \b Local algorithms and hypotheses to be chosen at
49 \ref constructing_submeshes_page "Construction of sub-meshes" are:
50 <ul>
51   <li> 1D and 2D algorithms and hypotheses that will be applied for
52     meshing the top and the base prism faces. These faces can be meshed
53     with any type of 2D elements: quadrangles, triangles, polygons or
54     their mix. It is enough to define a sub-mesh on either the top or the base
55     face. In the sample picture above, "NETGEN_1D2D" algorithm meshes
56     "bottom disk" face with triangles. (1D algorithm is not
57     assigned as "NETGEN_1D2D" does not require divided edges to create a 2D mesh.)
58   </li>
59   <li> Optionally you can define a 1D sub-mesh on some vertical edges
60     of stacked prisms, which will override the global 1D hypothesis mentioned
61     above. In the <b>Prism stacks</b> picture, the
62     vertical division is not equidistant on the whole length because
63     a "Number Of Segments" hypothesis with Scale Factor=3 is assigned to
64     the highlighted edge.
65 </li></ul>
67 \image html image157.gif "Prism with 3D extrusion meshing. Vertical division is different on neighbor edges because several local 1D hypotheses are assigned."
69 \sa a sample TUI Script of
70 \ref tui_prism_3d_algo "Use 3D extrusion meshing algorithm".
72 */