mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-29 19:00:35 +05:00
241 lines
8.9 KiB
Plaintext
241 lines
8.9 KiB
Plaintext
/*!
|
|
|
|
\page constructing_meshes_page Constructing meshes
|
|
|
|
\n Construction of a mesh consists of:
|
|
<ul>
|
|
<li>Selecting a geometrical object for meshing</li>
|
|
<li>Applying \subpage basic_meshing_algos_page "meshing algorithms" and
|
|
\subpage about_hypo_page "hypotheses" which will be used at computation of
|
|
this mesh.</li>
|
|
</ul>
|
|
|
|
<em>To construct a mesh:</em>
|
|
<ol>
|
|
<li>In the \b Mesh menu select <b>Create Mesh</b> or click <em>"Create
|
|
Mesh"</em> button in the toolbar.
|
|
|
|
\image html image32.png
|
|
<center><em>"Create Mesh" button</em></center>
|
|
|
|
The following dialog box will appear:
|
|
|
|
\image html createmesh-inv.png
|
|
</li>
|
|
<li>For example, you need to mesh a 3d object.
|
|
\n First, type the name for your mesh in the "Name" box, by default,
|
|
it is "Mesh_1". Then select the object you wish to mesh in the Object
|
|
Browser and click the "Add" button.
|
|
|
|
\image html image120.png
|
|
<center><em>"Add" button</em></center>
|
|
|
|
Now you can define 1d Algorithm and 1d Hypotheses, which will be
|
|
applied to the edges of your object. (Note that any object has edges,
|
|
even if their existence is not apparent, for example, a sphere has 4
|
|
edges). Click the <em>"Add Hypothesis"</em> button to add a hypothesis.
|
|
|
|
\image html image121.png
|
|
<center><em>"Add Hypothesis" button</em></center>
|
|
|
|
Click the <em>"Edit Hypothesis"</em> button to define values for the
|
|
current hypothesis.
|
|
|
|
\image html image122.png
|
|
<center><em>"Edit Hypothesis" button</em></center>
|
|
|
|
The use of additional hypotheses is optional (i.e. you may leave
|
|
"None" in this box).
|
|
|
|
Proceed in the same way with 2d and 3d Algorithms and Hypotheses, note
|
|
that the choice of hypotheses depends on the algorithm. There must be
|
|
one Algorithm and one or several Hypotheses for each dimension of your
|
|
object, otherwise you will not get any mesh at all. Of course, if you
|
|
wish to mesh a face, which is a 2d object, you don't need to define 3d
|
|
Algorithm and Hypotheses.
|
|
\n In the <b>Object Browser</b> the structure of the new mesh will be
|
|
displayed as follows:
|
|
|
|
\image html image88.jpg
|
|
|
|
It contains:
|
|
<ul>
|
|
<li>a reference to the geometrical object on the basis of which the mesh has been constructed;</li>
|
|
<li><b>Applied hypotheses</b> folder containing the references to the
|
|
hypotheses applied to the construction of the mesh;</li>
|
|
<li><b>Applied algorithms</b> folder containing the references to the
|
|
algorithms applied to the construction of the mesh.</li>
|
|
</ul>
|
|
|
|
There is an alternative way to create a mesh on an object simply by
|
|
clicking <b>Assign a set of hypotheses</b> button and selecting between
|
|
Automatic Tetrahedralization or Hexahedralization. The program will
|
|
automatically generate a 3D mesh with the most appropriate
|
|
settings. In the same way you can apply this functionality for meshing
|
|
2D objects, in which case 3D algorithms are not applied.</li>
|
|
|
|
\anchor preview_mesh_anchor
|
|
|
|
<li> After the mesh object is created and all hypotheses are assigned and
|
|
before the mesh computation, it is possible to see the mesh preview.
|
|
|
|
For this, select the mesh in the Object Browser. From the \b Mesh menu
|
|
select \b Preview or click "Preview" button in the
|
|
toolbar or activate "Preview" item from the pop-up menu.
|
|
|
|
\image html mesh_precompute.png
|
|
<center><em>"Preview" button</em></center>
|
|
|
|
Select <b>1D mesh</b> or <b>2D mesh</b> preview mode in the Preview dialog.
|
|
|
|
|
|
\image html preview_mesh_1D.png "1D mesh preview shows nodes computed on geometry edges"
|
|
|
|
\image html preview_mesh_2D.png "2D mesh preview shows edge mesh elements, computed on geometry faces"
|
|
|
|
<b>Compute</b> button computes the whole mesh.
|
|
|
|
When the Preview dialog is closed, the question about the storage of temporarily
|
|
created mesh elements appers:
|
|
|
|
\image html preview_tmp_data.png
|
|
|
|
These elenents can be reused in the next mesh computation.
|
|
</li>
|
|
|
|
|
|
<li>It is equally possible to skip the Preview and \b Compute the mesh
|
|
after the hypotheses are assigned. For this, select your mesh in the <b>Object
|
|
Browser</b>. From the \b Mesh menu select \b Compute or click "Compute" button of the
|
|
toolbar.
|
|
|
|
\image html image28.png
|
|
<center><em>"Compute" button</em></center>
|
|
|
|
The Mesh Computation information box appears.
|
|
|
|
\image html meshcomputationsucceed.png
|
|
|
|
If the mesh computation failed, the information about the cause of the
|
|
failure is provided.
|
|
|
|
\image html meshcomputationfail.png
|
|
|
|
After you select the error, <b>Show Subshape</b> button allows
|
|
visualizing the geometrical entity that causes it.
|
|
|
|
\image html failed_computation.png "Example of the invalid input mesh"
|
|
|
|
\Note Mesh Computation Information box does not appear if you set
|
|
"Mesh computation/Show a computation result notification" preference
|
|
to the "Never" value. This option gives the possibility to control mesh
|
|
computation reporting. There are the following possibilities: always
|
|
show information box, only if an error occurs or never.
|
|
By default, the information box is always shown after mesh computation operation.
|
|
|
|
<b>Publish Subshape</b> button publishes the subshape, whose meshing
|
|
failed, in GEOM component as a child of the mesh geometry, which
|
|
allows analyzing the problem geometry and creating a submesh on it in
|
|
order to locally tune hypotheses.
|
|
|
|
<b>NOTE</b> It is possible to define a 1D or a 2D mesh in a
|
|
python script and then use such submeshes in the construction of a 3D
|
|
mesh. For this, there exist two algorithms: <b>Use existing edges</b> and <b>Use
|
|
existing faces</b>. They are not entirely usable from the GUI, so a
|
|
mesh created using these algorithms should be exported into a python
|
|
script, edited and then imported into the GUi.
|
|
|
|
<li>It is possible to calculate the eventual mesh size
|
|
before \b Compute operation. For this, select the mesh in the <b>Object
|
|
Browser</b> and from the \b Mesh menu select \b Evaluate. The result of
|
|
evaluation will be displayed in the following information box:
|
|
|
|
\image html mesh_evaluation_succeed.png
|
|
|
|
</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.
|
|
|
|
There are example of submesh order modifications of 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>
|
|
<li><i>2D</i> <b>Triangle (Mefisto)</b> with Hypothesis<b>Max Element Area</b>
|
|
</li>
|
|
<li><i>1D</i> <b>Wire discretisation</b> with <b>Number of Segments</b>=20</li>
|
|
</ul>
|
|
The first submesh object <b>Submesh_1</b> created on <b>Face_1</b>
|
|
is:
|
|
<ul>
|
|
<li><i>2D</i> Netgen 1D-2D with Hypothesis <b>Netgen Simple parameters</b>
|
|
(Number of Segments = 4)</li>
|
|
</ul>
|
|
The second submesh object <b>Submesh_2</b> created on <b>Face_2</b>
|
|
is:
|
|
<ul>
|
|
<li><i>2D</i> Netgen 1D-2D with Hypothesis <b>Netgen Simple parameters</b>
|
|
(Number of Segments = 8)</li>
|
|
</ul>
|
|
|
|
And the last third 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 thir 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, becase
|
|
they has different hypothesises assigned to them.
|
|
|
|
The first mesh computation 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:
|
|
\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:
|
|
\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 descretisation on shared edges (edges,
|
|
that 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.
|
|
\image html mesh_order_preview.png
|
|
<center><em>"Preview with submesh priority list box"</em></center>
|
|
|
|
If no concurrent submeshes under Mesh object user will see the
|
|
following information dialog box
|
|
\image html mesh_order_no_concurrent.png
|
|
<center><em>"No concurrent submeshes detected"</em></center>
|
|
and no mesh order list box appear in Preview dialog box.
|
|
|
|
</ol>
|
|
|
|
Consider trying a sample script for construction of a mesh from our
|
|
\ref tui_creating_meshes_page "TUI Scripts" section.
|
|
|
|
*/
|