From dc96874dba94b5a0102d17f8a6b074e494b68354 Mon Sep 17 00:00:00 2001 From: rnv Date: Tue, 27 Mar 2012 13:30:22 +0000 Subject: [PATCH] 0021308: EDF 1923 SMESH: Remove hard-coded dependency of the external mesh plugins from the SMESH module: Update documentation. --- .../NETGENPLUGIN/input/additional_hypo.doc | 28 +++++ doc/salome/gui/NETGENPLUGIN/input/index.doc | 20 ++++ .../NETGENPLUGIN/input/netgen_2d_3d_hypo.doc | 100 ++++++++++++++++++ .../input/netgenplugin_python_interface.doc | 59 +++++++++++ 4 files changed, 207 insertions(+) create mode 100644 doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc create mode 100644 doc/salome/gui/NETGENPLUGIN/input/index.doc create mode 100644 doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc create mode 100644 doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc diff --git a/doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc b/doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc new file mode 100644 index 0000000..6c91730 --- /dev/null +++ b/doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc @@ -0,0 +1,28 @@ +/*! + +\page additional_hypo_page Additional Hypotheses + +\n Additional Hypotheses 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: + + +For more detailed description of the described above hypothesis please refer SALOME Mesh User's Guide. +*/ + + diff --git a/doc/salome/gui/NETGENPLUGIN/input/index.doc b/doc/salome/gui/NETGENPLUGIN/input/index.doc new file mode 100644 index 0000000..df3ed3a --- /dev/null +++ b/doc/salome/gui/NETGENPLUGIN/input/index.doc @@ -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" + +*/ \ No newline at end of file diff --git a/doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc b/doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc new file mode 100644 index 0000000..7a75cdd --- /dev/null +++ b/doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc @@ -0,0 +1,100 @@ +/*! + +\page netgen_2d_3d_hypo_page Netgen 2D and 3D hypotheses + +Netgen 2D Parameters and Netgen 3D Parameters hypotheses work only with +Netgen 1D-2D, Netgen 2D, Netgen 1D-2D-3D and +Netgen 3D algorithms. Netgen 1D-2D and Netgen +1D-2D-3D 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 +
Dialog boxes of Netgen 1D-2D and Netgen +1D-2D-3D algorithms
+
+ +\image html netgen2d3d_only.png +
Dialog boxes of Netgen 2D and Netgen 3D +algorithms
+ +- Name - allows to define the name for the algorithm (Netgen +2D (or 3D) Parameters by default). +- Max Size - maximum linear dimensions for mesh cells. +- Min Size - minimum linear dimensions for mesh cells. It is +ignored if it is more than Max Size. +- Second Order - 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". +- Fineness - 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. +- Growth rate - allows to define how much the linear dimensions of +two adjacent cells can differ (i.e. 0.3 means 30%). +- Nb. Segs per Edge and Nb Segs per Radius - allows to define the +minimum number of mesh segments in which edges and radiuses will be +split. +- Allow Quadrangles - 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. +- Optimize - if this box is checked in, the algorithm will try to +create regular (possessing even sides) elements. + +\image html netgen3d_local_size.png + +- Local sizes - 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 On Edge or On +Vertex correspondingly. Name of the geometrical object and +a default Value will be added in the table where the +Value can be changed. +- Remove - deletes a selected row from the table. + +\image html netgen2d3d_simple.png + +Netgen 2D simple parameters and Netgen 3D simple +parameters allow defining the size of elements for each +dimension. + +\b 1D group allows defining the size of 1D elements in either of two ways: +- Number of Segments has the same sense as \ref +number_of_segments_anchor "Number of segments" hypothesis with +equidistant distribution. +- Local Length has the same sense as \ref +average_length_anchor "Local Length" hypothesis. + +\b 2D group allows defining the size of 2D elements +- Length from edges if checked in, acts like \ref +length_from_edges_anchor "Length from Edges" hypothesis, else +- Max. Element Area defines the maximum element area like \ref +max_element_area_anchor "Max Element Area" hypothesis. +- Allow Quadrangles - 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. +- Length from faces if checked in, the area of sides of +volumic elements will be equal to an average area of 2D elements, else +- Max. Element Volume 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. + +*/ + + diff --git a/doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc b/doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc new file mode 100644 index 0000000..d1e70a4 --- /dev/null +++ b/doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc @@ -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 + +*/ + + -- 2.39.2