mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-30 19:30:35 +05:00
76 lines
3.1 KiB
Plaintext
76 lines
3.1 KiB
Plaintext
|
/*!
|
||
|
|
||
|
\page cartesian_algo_page Body Fitting 3D meshing algorithm
|
||
|
|
||
|
Body Fitting algorithm generates hexahedrons of a Cartesian grid in
|
||
|
the internal part of geometry and polyhedrons and other types of
|
||
|
elements at the intersection of Cartesian cells with the geometrical
|
||
|
boundary.
|
||
|
|
||
|
\image html cartesian3D_sphere.png "A shpere meshed by Body Fitting algorithm"
|
||
|
|
||
|
The meshing algorithm is as follows.
|
||
|
<ol>
|
||
|
<li> Lines of a Cartesian structured grid defined by
|
||
|
\ref cartesian_hyp_anchor "Body Fitting Parameters" hypothesis are
|
||
|
intersected with the geometry boundary, thus nodes lying on the
|
||
|
boundary are found. This step also allows finding out for each node of
|
||
|
the Cartesian grid if it is inside or outside the geometry. </li>
|
||
|
<li> For each cell of the grid, check how many of its nodes are outside
|
||
|
of the geometry boundary. Depending on a result of this check
|
||
|
<ul>
|
||
|
<li> skip a cell, if all its nodes are outside </li>
|
||
|
<li> skip a cell, if it is too small according to <b> Size
|
||
|
Threshold </b> parameter</li>
|
||
|
<li> add a hexahedron in the mesh, if all nodes are inside </li>
|
||
|
<li> add a polyhedron or another cell type in the mesh, if some
|
||
|
nodes are inside and some outside. </li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ol>
|
||
|
To apply this algorithm when you define your mesh, select <b>Body
|
||
|
Fitting</b> in the list of 3D algorithms and click <em> "Add
|
||
|
Hypothesis" </em> button and <em>"Body Fitting Parameters"</em>" menu
|
||
|
item. Dialog of <b>Body Fitting Parameters
|
||
|
hypothesis</b> will appear.
|
||
|
|
||
|
<br>
|
||
|
\anchor cartesian_hyp_anchor
|
||
|
<h2>Body Fitting Parameters hypothesis</h2>
|
||
|
|
||
|
\image html cartesian3D_hyp.png "Body Fitting Parameters hypothesis dialog"
|
||
|
|
||
|
This dialog allows to define
|
||
|
<ul>
|
||
|
<li>\b Name of the algorithm </li>
|
||
|
<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
|
||
|
initial cell size, then a mesh element is not created. </li>
|
||
|
<li> Cartesian structured grid. Each grid axis is defined
|
||
|
individually. <b> Definition mode </b> chooses a way of grid
|
||
|
definition: <ul>
|
||
|
<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
|
||
|
selected node. \b Delete button removes a selected node. Double
|
||
|
click on a coordinate in the list enables its edition. A grid
|
||
|
defined by \b Coordinates should enclose the geometry, else the
|
||
|
algorithm will fail. </li>
|
||
|
<li> You can define the \b Spacing of a grid as an algebraic formula
|
||
|
<em>f(t)</em> where \a t is a position along a grid axis
|
||
|
normalized at [0.0,1.0]. The whole range of geometry can be
|
||
|
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
|
||
|
divides a selected range into two ones. \b Delete button adds the
|
||
|
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
|
||
|
function in the list enables its edition.
|
||
|
</li> </ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
<b>See Also</b> a sample TUI Script of a
|
||
|
\ref tui_cartesian_algo "Usage of Body Fitting algorithm".
|
||
|
|
||
|
*/
|