0021308: EDF 1923 SMESH: Remove hard-coded dependency of the external mesh plugins from the SMESH module: Update documentation.
This commit is contained in:
parent
2ed83ef1a2
commit
dc96874dba
28
doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc
Normal file
28
doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
\page additional_hypo_page Additional Hypotheses
|
||||||
|
|
||||||
|
\n <b>Additional Hypotheses</b> can be applied as a supplement to the
|
||||||
|
main hypotheses, introducing additional concepts to mesh creation.
|
||||||
|
|
||||||
|
Following additional hypotheses can be used together with NETGEN algoritm:
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><b>Quadrangle Preference</b> - This additional hypothesis can be used together with Netgen 2D algorithm.
|
||||||
|
It allows Netgen 2D to build quadrangular meshes.</li>
|
||||||
|
<br>
|
||||||
|
This hypothesis has one restriction on its work: the total quantity of
|
||||||
|
segments on all four sides of the face must be even (divisible by 2).
|
||||||
|
|
||||||
|
|
||||||
|
<li><b>Viscous Layers</b> additional hypothesis can be used together with NETGEN 3D.
|
||||||
|
This hypothesis allows creation of layers of highly stretched prisms near
|
||||||
|
mesh boundary, which is beneficial for high quality viscous
|
||||||
|
computations. The prisms constructed on the quadrangular mesh faces are
|
||||||
|
actually the hexahedrons.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
For more detailed description of the described above hypothesis please refer SALOME Mesh User's Guide.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
20
doc/salome/gui/NETGENPLUGIN/input/index.doc
Normal file
20
doc/salome/gui/NETGENPLUGIN/input/index.doc
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
\mainpage Introduction to NETGENPLUGIN
|
||||||
|
|
||||||
|
\b NETGENPLUGIN plugin is destined for:
|
||||||
|
- Meshing 1D, 2D and 3D geometric entities.
|
||||||
|
- Faces are split into triangular elements.
|
||||||
|
- Volumes are split into tetrahedral (pyramidal) elements.
|
||||||
|
- Generating 3D meshes from 2D meshes, working without geometrical objects.
|
||||||
|
|
||||||
|
To manage parameters of the NETGENPLUGIN use \subpage netgen_2d_3d_hypo_page and \subpage additional_hypo_page.
|
||||||
|
|
||||||
|
Also all NETGENPLUGIN functionalities are accessible via
|
||||||
|
\subpage netgenplugin_python_interface_page "NETGENPLUGIN Python interface".
|
||||||
|
|
||||||
|
\image html image1.png "Example of a triangular 2D mesh"
|
||||||
|
|
||||||
|
\image html image2.gif "Example of a tetrahedral 3D mesh"
|
||||||
|
|
||||||
|
*/
|
100
doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc
Normal file
100
doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
\page netgen_2d_3d_hypo_page Netgen 2D and 3D hypotheses
|
||||||
|
|
||||||
|
<b>Netgen 2D Parameters</b> and <b>Netgen 3D Parameters</b> hypotheses work only with
|
||||||
|
<b>Netgen 1D-2D</b>, <b>Netgen 2D</b>, <b>Netgen 1D-2D-3D</b> and
|
||||||
|
<b>Netgen 3D</b> algorithms. <b>Netgen 1D-2D</b> and <b>Netgen
|
||||||
|
1D-2D-3D</b> algorithms do not require definition of lower-level
|
||||||
|
hypotheses and algorithms (2D and 1D for meshing 3D objects and 1D for
|
||||||
|
meshing 2D objects).
|
||||||
|
|
||||||
|
\image html netgen2d3d.png
|
||||||
|
<center><em>Dialog boxes of <b>Netgen 1D-2D</b> and <b>Netgen
|
||||||
|
1D-2D-3D</b> algorithms </em></center>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
\image html netgen2d3d_only.png
|
||||||
|
<center><em>Dialog boxes of <b>Netgen 2D</b> and <b>Netgen 3D</b>
|
||||||
|
algorithms </em></center>
|
||||||
|
|
||||||
|
- <b>Name</b> - allows to define the name for the algorithm (Netgen
|
||||||
|
2D (or 3D) Parameters by default).
|
||||||
|
- <b>Max Size</b> - maximum linear dimensions for mesh cells.
|
||||||
|
- <b>Min Size</b> - minimum linear dimensions for mesh cells. It is
|
||||||
|
ignored if it is more than <b>Max Size</b>.
|
||||||
|
- <b>Second Order</b> - if this box is checked in, the algorithm will
|
||||||
|
create second order nodes on the mesh, which actually will become
|
||||||
|
\ref adding_quadratic_elements_page "Quadratic".
|
||||||
|
- <b>Fineness</b> - ranging from Very Coarse to Very Fine allows to set the
|
||||||
|
level of meshing detalization using the three parameters below. You
|
||||||
|
can select Custom to define them manually.
|
||||||
|
- <b>Growth rate</b> - allows to define how much the linear dimensions of
|
||||||
|
two adjacent cells can differ (i.e. 0.3 means 30%).
|
||||||
|
- <b>Nb. Segs per Edge</b> and <b>Nb Segs per Radius</b> - allows to define the
|
||||||
|
minimum number of mesh segments in which edges and radiuses will be
|
||||||
|
split.
|
||||||
|
- <b>Allow Quadrangles</b> - allows to use quadrangle elements in a
|
||||||
|
triangle 2D mesh. This checkbox is not present in Netgen 3D parameters
|
||||||
|
because currently building a tetrahedral mesh with quadrangle faces is
|
||||||
|
not possible.
|
||||||
|
- <b>Optimize</b> - if this box is checked in, the algorithm will try to
|
||||||
|
create regular (possessing even sides) elements.
|
||||||
|
|
||||||
|
\image html netgen3d_local_size.png
|
||||||
|
|
||||||
|
- <b>Local sizes</b> - allows to define size of elements on and
|
||||||
|
around specified geometrical edges and vertices. To define the local
|
||||||
|
size it is necessary to select a geometrical edge or vertex in the
|
||||||
|
object browser or in the viewer, and to click <b>On Edge</b> or <b>On
|
||||||
|
Vertex</b> correspondingly. <b>Name</b> of the geometrical object and
|
||||||
|
a default <b>Value</b> will be added in the table where the
|
||||||
|
<b>Value</b> can be changed.
|
||||||
|
- <b>Remove</b> - deletes a selected row from the table.
|
||||||
|
|
||||||
|
\image html netgen2d3d_simple.png
|
||||||
|
|
||||||
|
<b>Netgen 2D simple parameters</b> and <b>Netgen 3D simple
|
||||||
|
parameters</b> allow defining the size of elements for each
|
||||||
|
dimension.
|
||||||
|
|
||||||
|
\b 1D group allows defining the size of 1D elements in either of two ways:
|
||||||
|
- <b>Number of Segments</b> has the same sense as \ref
|
||||||
|
number_of_segments_anchor "Number of segments" hypothesis with
|
||||||
|
equidistant distribution.
|
||||||
|
- <b>Local Length</b> has the same sense as \ref
|
||||||
|
average_length_anchor "Local Length" hypothesis.
|
||||||
|
|
||||||
|
\b 2D group allows defining the size of 2D elements
|
||||||
|
- <b>Length from edges</b> if checked in, acts like \ref
|
||||||
|
length_from_edges_anchor "Length from Edges" hypothesis, else
|
||||||
|
- <b>Max. Element Area</b> defines the maximum element area like \ref
|
||||||
|
max_element_area_anchor "Max Element Area" hypothesis.
|
||||||
|
- <b>Allow Quadrangles</b> - allows to use quadrangle elements in a
|
||||||
|
triangle 2D mesh. This checkbox is not present in Netgen 3D simple parameters
|
||||||
|
because currently building a tetrahedral mesh with quadrangle faces is
|
||||||
|
not possible.
|
||||||
|
|
||||||
|
\b 3D groups allows defining the size of 3D elements.
|
||||||
|
- <b>Length from faces</b> if checked in, the area of sides of
|
||||||
|
volumic elements will be equal to an average area of 2D elements, else
|
||||||
|
- <b>Max. Element Volume</b> defines the maximum element volume like
|
||||||
|
\ref max_element_volume_hypo_page "Max Element Volume"
|
||||||
|
hypothesis.
|
||||||
|
|
||||||
|
\note Netgen algorithm does not strictly follow the input
|
||||||
|
parameters. The actual mesh can be more or less dense than
|
||||||
|
required. There are several factors in it:
|
||||||
|
- NETGEN does not actually use "NbOfSegments" parameter for discretization of
|
||||||
|
edge. This parameter is used only to define the local element size
|
||||||
|
(size at the given point), so local sizes of adjacent edges influence
|
||||||
|
each other.
|
||||||
|
- NETGEN additionally restricts the element size according to edge curvature.
|
||||||
|
- The local size of edges influences the size of close triangles.
|
||||||
|
- The order of elements and their size in the 1D mesh generated by
|
||||||
|
NETGEN differ from those in the 1D mesh generated by Regular_1D
|
||||||
|
algorithm, resulting in different 2D and 3D meshes.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
\page netgenplugin_python_intarface_page Python Interface
|
||||||
|
|
||||||
|
Python package \ref NETGENPluginDC "NETGENPlugin" defines several classes, destined for creation of the 2D and 3D meshes.
|
||||||
|
|
||||||
|
Documentation for NETGENPlugin package is available in linear form grouped by classes, declared in the NETGENPluginDC.py file.
|
||||||
|
|
||||||
|
Below you can see an example of usage of the NETGENPlugin package for mesh generation:
|
||||||
|
|
||||||
|
\code
|
||||||
|
|
||||||
|
import geompy
|
||||||
|
import smesh
|
||||||
|
|
||||||
|
# create a box
|
||||||
|
box = geompy.MakeBoxDXDYDZ(10., 10., 10.)
|
||||||
|
geompy.addToStudy(box, "Box")
|
||||||
|
|
||||||
|
|
||||||
|
# 1. Create a triangular 2D mesh on the box with NETGEN_1D2D algorithm
|
||||||
|
triaN = smesh.Mesh(box, "Box : triangular mesh by NETGEN_1D2D")
|
||||||
|
|
||||||
|
# create a Netgen_1D2D algorithm for solids
|
||||||
|
algo2D = triaN.Triangle(smesh.NETGEN_1D2D)
|
||||||
|
|
||||||
|
# define hypotheses
|
||||||
|
n12_params = algo2D.Parameters()
|
||||||
|
|
||||||
|
# define number of segments
|
||||||
|
n12_params.SetNbSegPerEdge(19)
|
||||||
|
|
||||||
|
# define max element
|
||||||
|
n12_params.SetMaxSize(300)
|
||||||
|
|
||||||
|
# 2. Create a tetrahedral mesh on the box with NETGEN_1D2D3D algorithm (full netgen)
|
||||||
|
tetraN = smesh.Mesh(box, "Box : tetrahedrical mesh by NETGEN_1D2D3D")
|
||||||
|
|
||||||
|
# create a Netgen_1D2D3D algorithm for solids
|
||||||
|
algo3D = tetraN.Tetrahedron(smesh.FULL_NETGEN)
|
||||||
|
|
||||||
|
# define hypotheses
|
||||||
|
n123_params = algo3D.Parameters()
|
||||||
|
|
||||||
|
# define number of segments
|
||||||
|
n123_params.SetNbSegPerEdge(11)
|
||||||
|
|
||||||
|
# define max element size
|
||||||
|
n123_params.SetMaxSize(300)
|
||||||
|
|
||||||
|
# compute the meshes
|
||||||
|
triaN.Compute()
|
||||||
|
tetraN.Compute()
|
||||||
|
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user