From: eap Date: Wed, 25 Feb 2015 17:07:02 +0000 (+0300) Subject: 22874: [CEA 1425] Performance SMESH Module X-Git-Tag: V7_6_0a1~16 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=fd1943809d016d0223da20a2a492b157cb17146a 22874: [CEA 1425] Performance SMESH Module some optimization of Publish...() + doc imp --- diff --git a/doc/salome/gui/SMESH/images/b-flection1d.png b/doc/salome/gui/SMESH/images/b-flection1d.png old mode 100755 new mode 100644 index e160cf55d..b0e366baa Binary files a/doc/salome/gui/SMESH/images/b-flection1d.png and b/doc/salome/gui/SMESH/images/b-flection1d.png differ diff --git a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc index 6ba10611e..751695259 100644 --- a/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc +++ b/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc @@ -2,18 +2,39 @@ \page a1d_meshing_hypo_page 1D Meshing Hypotheses -
+Basic 1D hypothesis specifies: + + +By type of nodes distribution the 1D hypotheses can be categorized as follows:
@@ -91,13 +112,14 @@ Add button to add the selected edges to the list.

Deflection 1D hypothesis

Deflection 1D hypothesis can be applied for meshing curvilinear edges -composing your geometrical object. It uses only one parameter: the -value of deflection. -\n A geometrical edge is divided into equal segments. The maximum -distance between a point on the edge within a segment and the line -connecting the ends of the segment should not exceed the specified -value of deflection . Then mesh nodes are constructed at end segment -locations and 1D mesh elements are constructed on segments. +composing your geometrical object. It defines only one parameter: the +value of deflection (or chord error). + +A geometrical edge is divided into segments of length depending on +edge curvature. The more curved the edge, the shorter the +segment. Nodes on the edge are placed so that the maximum distance +between the edge and a segment approximating a part of edge between +two nodes should not exceed the value of deflection. \image html a-deflection1d.png @@ -112,25 +134,21 @@ locations and 1D mesh elements are constructed on segments. Local Length hypothesis can be applied for meshing of edges composing your geometrical object. Definition of this hypothesis -consists of setting the \b length of segments, which will split these -edges, and the \b precision of rounding. The points on the edges -generated by these segments will represent nodes of your mesh. -Later these nodes will be used for meshing of the faces abutting to -these edges. - -The \b precision parameter is used to allow rounding a number of -segments, calculated from the edge length and average length of -segment, to the lower integer, if this value outstands from it in -bounds of the precision. Otherwise, the number of segments is rounded -to the higher integer. Use value 0.5 to provide rounding to the -nearest integer, 1.0 for the lower integer, 0.0 for the higher +consists of setting the \b length of segments, which will approximate these +edges, and the \b precision of rounding. + +The \b precision parameter is used to round a number of segments, +calculated by dividing the edge length by the specified \b length of +segment, to the higher integer if the remainder exceeds the precision +and to the lower integer otherwise. Use value 0.5 to provide rounding +to the nearest integer, 1.0 for the lower integer, 0.0 for the higher integer. Default value is 1e-07. \image html image41.gif \image html a-averagelength.png -\image html b-erage_length.png "Local Length hypothesis - all 1D mesh elements are roughly equal" +\image html b-erage_length.png "Local Length hypothesis - all 1D mesh segments are equal" See Also a sample TUI Script of a \ref tui_average_length "Defining Local Length" hypothesis @@ -141,7 +159,7 @@ operation. Max Size hypothesis allows splitting geometrical edges into segments not longer than the given length. Definition of this hypothesis consists of setting the maximal allowed \b length of segments. -Use preestimated length check box lets you specify \b length +Use preestimated length check box lets you use \b length automatically calculated basing on size of your geometrical object, namely as diagonal of bounding box divided by ten. The divider can be changed via "Ratio Bounding Box Diagonal / Max Size" @@ -155,14 +173,9 @@ geometrical object has been selected before hypothesis definition. \anchor number_of_segments_anchor

Number of segments hypothesis

-Number of segments hypothesis can be applied for meshing of edges -composing your geometrical object. Definition of this hypothesis -consists of setting the number of segments, which will split these -edges. In other words your edges will be split into a definite number -of segments with approximately the same length. The points on the -edges generated by these segments will represent nodes of your -mesh. Later these nodes will be used for meshing of the faces abutting -to these edges. +Number of segments hypothesis can be applied for approximating +edges by a definite number of mesh segments with length depending on +the selected type of distribution of nodes. The direction of the splitting is defined by the orientation of the underlying geometrical edge. "Reverse Edges" list box allows to @@ -175,7 +188,7 @@ Object Browser. \image html image46.gif -You can set the type of distribution for this hypothesis in the +You can set the type of node distribution for this hypothesis in the Hypothesis Construction dialog bog : \image html a-nbsegments1.png @@ -232,9 +245,7 @@ operation. Start and End Length hypothesis allows to divide a geometrical edge into segments so that the first and the last segments have a specified length. The length of medium segments changes with automatically chosen -geometric progression. Then mesh nodes are -constructed at segment ends location and 1D mesh elements are -constructed on them. +geometric progression. The direction of the splitting is defined by the orientation of the underlying geometrical edge. "Reverse Edges" list box allows to @@ -259,25 +270,25 @@ hypothesis operation. The dialog box prompts you to define the quality of the future mesh by only one parameter, which is \b Fineness, ranging from 0 (coarse mesh, -low number of elements) to 1 (extremely fine mesh, great number of -elements). +low number of segments) to 1 (extremely fine mesh, great number of +segments). \image html automaticlength.png Compare one and the same object (sphere) meshed with minimum and maximum value of this parameter. -\image html image147.gif "Example of a very rough mesh. Automatic Length works for 0." +\image html image147.gif "Example of a rough mesh at Automatic Length Fineness of 0." -\image html image148.gif "Example of a very fine mesh. Automatic Length works for 1." +\image html image148.gif "Example of a fine mesh at Automatic Length Fineness of 1."
\anchor fixed_points_1d_anchor

Fixed points 1D hypothesis

Fixed points 1D hypothesis allows splitting edges through a -set of points parameterized on the edge (from 1 to 0) and a number of segments for each -interval limited by the points. +set of points parametrized on the edge (from 1 to 0) and a number of +segments for each interval limited by the points. \image html hypo_fixedpnt_dlg.png @@ -293,7 +304,7 @@ possible to select the edges to be reversed either directly picking them in the 3D viewer or selecting the edges or groups of edges in the Object Browser. -\image html mesh_fixedpnt.png "Example of a submesh on the edge built using Fixed points 1D hypothesis" +\image html mesh_fixedpnt.png "Example of a sub-mesh on the edge built using Fixed points 1D hypothesis" See Also a sample TUI Script of a \ref tui_fixed_points "Defining Fixed Points" hypothesis operation. diff --git a/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc b/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc index 05b8d5a39..234ffd11b 100644 --- a/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc +++ b/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc @@ -11,7 +11,7 @@ Max Element Area hypothesis is applied for meshing of faces composing your geometrical object. Definition of this hypothesis -consists of setting the maximum area of mesh elements, +consists of setting the maximum area of mesh faces, which will compose the mesh of these faces. \image html a-maxelarea.png @@ -26,9 +26,9 @@ which will compose the mesh of these faces. \anchor length_from_edges_anchor

Length from Edges

-Length from edges hypothesis builds 2D mesh elements having a -maximum linear size calculated as an average segment length for a wire -of a given face. +Length from edges hypothesis defines maximum linear size of +mesh faces as an average length of mesh edges approximating a boundary +of a face being meshed. See Also a sample TUI Script of a \ref tui_length_from_edges "Length from Edges" hypothesis operation. @@ -41,7 +41,7 @@ of a given face. Quadrangle parameters is a hypothesis for Quadrangle (Mapping) algorithm. Transition tab is used to define the algorithm of transition -between opposite sides of faces with a different number of +between opposite sides of the face with a different number of segments on them. The following types of transition algorithms are available: @@ -54,7 +54,7 @@ algorithms are available: - Quadrangle preference forces building only quadrangles in the transition area along the finer meshed sides. This hypothesis has a restriction: the total quantity of segments on all - four sides of the face must be even (divisible by 2). + four face sides must be even (divisible by 2). \note This type corresponds to Quadrangle Preference additional hypothesis, which is obsolete now. - Quadrangle preference (reversed) works in the same way and @@ -63,9 +63,9 @@ algorithms are available: - Reduced type forces building only quadrangles and the transition between the sides is made gradually, layer by layer. This type has a limitation on the number of segments: one pair of opposite sides must have - the same number of segments, the other pair must have an even difference - between the numbers of segments on the sides. In addition, the number - of rows between sides with different discretization + the same number of segments, the other pair must have an even total + number of segments. In addition, the number of rows + between sides with different discretization should be enough for the transition. Following the fastest transition pattern, three segments become one (see the image below), hence the least number of face rows needed to reduce from Nmax segments @@ -77,8 +77,8 @@ algorithms are available: Base vertex tab allows using Quadrangle (Mapping) algorithm for meshing of trilateral faces. In this case it is -necessary to select the vertex, which will be used as the fourth edge -(degenerated). +necessary to select the vertex, which will be used as the forth +degenerated side of quadrangle. \image html hypo_quad_params_dialog_vert.png "Quadrangle parameters: Base Vertex" diff --git a/doc/salome/gui/SMESH/input/about_filters.doc b/doc/salome/gui/SMESH/input/about_filters.doc index 22d88635f..af52b4bac 100644 --- a/doc/salome/gui/SMESH/input/about_filters.doc +++ b/doc/salome/gui/SMESH/input/about_filters.doc @@ -7,7 +7,7 @@ specific condition or a set of conditions. Filters can be used to create or edit mesh groups, remove elements from the mesh object, control mesh quality by different parameters, etc. -Several filters can be combined together by using logical operators \a +Several criteria can be combined together by using logical operators \a AND and \a OR. In addition, applied filter criterion can be reverted using logical operator \a NOT. @@ -19,12 +19,12 @@ modes: - In GUI, filters are available in some dialog boxes via an additional "Set Filters" button, clicking on which opens the dialog box -allowing to specify the list of filter criterions to be applied to the +allowing to specify the list of filter criteria to be applied to the current selection. See \subpage selection_filter_library_page page to learn more about selection filters and their usage in GUI. - In Python scripts, filters can be used to choose only some mesh - entities (nodes and/or elements) for the operations, which require the + entities (nodes or elements) for the operations, which require the list of entities as input parameter (create/modify group, remove nodes/elements, etc). The page \ref tui_filters_page provides examples of the filters usage in Python scripts. diff --git a/doc/salome/gui/SMESH/input/about_hypo.doc b/doc/salome/gui/SMESH/input/about_hypo.doc index 65d5c7ad0..3c38fb7db 100644 --- a/doc/salome/gui/SMESH/input/about_hypo.doc +++ b/doc/salome/gui/SMESH/input/about_hypo.doc @@ -3,12 +3,12 @@ \page about_hypo_page About Hypotheses \b Hypotheses represent boundary conditions which will be taken into -account at calculations of meshes or sub-meshes. -These hypotheses allow you to manage the level of detail of -the resulting meshes or sub-meshes: when applying different hypotheses +account by meshing algorithms. +The hypotheses allow you to manage the level of detail of +the resulting mesh: when applying different hypotheses with different parameters you can preset the quantity or size of elements which will compose your mesh. So, it will be possible to -generate a coarse or a more refined mesh or sub-mesh. +generate a coarse or a more refined mesh. In \b MESH there are the following Basic Hypotheses:
  • \subpage a2d_meshing_hypo_page "2D Hypotheses" (for meshing of faces):
  • -There also exist -\subpage additional_hypo_page "Additional Hypotheses" used together -with other hypotheses: +There also exist +\subpage additional_hypo_page "Additional Hypotheses" that can be used together +with main hypotheses: -The choice of a hypothesis depends on: - +The choice of a hypothesis depends on the selected algorithm. */ diff --git a/doc/salome/gui/SMESH/input/about_meshes.doc b/doc/salome/gui/SMESH/input/about_meshes.doc index 65201ac64..a69bd1223 100644 --- a/doc/salome/gui/SMESH/input/about_meshes.doc +++ b/doc/salome/gui/SMESH/input/about_meshes.doc @@ -2,66 +2,100 @@ \page about_meshes_page About meshes -\n \b MESH represents a discretization of a geometrical CAD model into -a set of entities with a simple topology. +\n \b MESH represents a discrete approximation of a subset of the +three-dimensional space by \ref mesh_entities "elementary geometrical elements". -It is possible to \subpage constructing_meshes_page "construct meshes" -on the basis of geometrical shapes produced in the GEOM module. -Construction of \subpage constructing_submeshes_page "sub-meshes" -allows to mesh parts of the geometrical object, for example a face, -with different meshing parameters or using another meshing algorithm -than other parts. - -3D mesh can be generated basing on a 2D closed mesh. - -Several created meshes can be \subpage building_compounds_page "combined into another mesh". - -The whole mesh or its part can be \subpage copy_mesh_page "copied" into another mesh. +Mesh module provides several ways to create the mesh: + Meshes can be edited using the MESH functions destined for -\ref modifying_meshes_page "modification" of generated meshes. +\ref modifying_meshes_page "modification" of meshes. -Meshes are stored in DAT, MED, UNV, STL, CGNS, GMF and SAUVE formats and can be -\subpage importing_exporting_meshes_page "imported from and exported to" - the file in these formats. -The \b topology of a mesh is described by the relationships between its -entities including: +The \b structure of a SALOME mesh is described by nodes and elements based on +these nodes. Geometry of the element is defined by the sequence of +nodes constituting it and +the + connectivity convention (adopted from MED library). Definition of +the element basing on elements of lower dimension is NOT supported. +\anchor mesh_entities +The mesh can include the following entities: -        These entities are -considered as topological entities and they don't -imply any geometric representation. Only \b Nodes reference geometric -representations of points with definite coordinates. The node entity -contains additional information about its position in the space -and its relations with the meshed CAD model. Its position could be -described in the following way: +Every mesh entity has an attribute associating it to a sub-shape it is +generated on (if any). The node generated on the geometrical edge or +surface in addition stores its position in parametric space of the +associated geometrical entity. - +SALOME supports elements of second order, without central node +(quadratic triangle, quadrangle, tetrahedron, hexahedron, pentahedron +and pyramid) and with central nodes (bi-quadratic triangle and +quadrangle and tri-quadratic hexahedron).
    +Quadratic mesh can be obtained in two ways: +- Using a global \ref quadratic_mesh_anchor "Quadratic Mesh" +hypothesis. (Elements with the central node are not generated in this way). +- Using \ref convert_to_from_quadratic_mesh_page operation. */ diff --git a/doc/salome/gui/SMESH/input/additional_hypo.doc b/doc/salome/gui/SMESH/input/additional_hypo.doc index 9b732a045..9bade2149 100644 --- a/doc/salome/gui/SMESH/input/additional_hypo.doc +++ b/doc/salome/gui/SMESH/input/additional_hypo.doc @@ -5,37 +5,44 @@ \n Additional Hypotheses can be applied as a supplement to the main hypotheses, introducing additional concepts to mesh creation. -To define an Additional Hypothesis simply select it in -Create Mesh menu. These hypotheses are actually changes in the -rules of mesh creation and as such don't possess adjustable values. - -\anchor non_conform_allowed_anchor -

    Non Conform mesh allowed hypothesis

    - -Non Conform mesh allowed hypothesis allows to generate non-conform -meshes (that is, meshes having some edges ending on an edge or face of -adjacent elements). - -\anchor quadratic_mesh_anchor -

    Quadratic Mesh

    - -Quadratic Mesh hypothesis allows to build a quadratic mesh (whose -edges are not straight but curved lines and can be defined by three -points: first, middle and last instead of an ordinary two). +An Additional Hypothesis can be defined in the same way as any +main hypothesis in \ref create_mesh_anchor "Create Mesh" or +\ref constructing_submeshes_page "Create Sub-Mesh" dialog. + +The following additional hypothesis are available: + -See \ref adding_quadratic_elements_page -for more information about quadratic meshes. \anchor propagation_anchor

    Propagation of 1D Hypothesis on opposite edges

    -Propagation of 1D Hypothesis on opposite edges allows to propagate a -hypothesis onto an opposite edge. If a local hypothesis and -propagation are defined on an edge of a quadrangular face, the -opposite edge will have the same hypothesis, unless another hypothesis -has been locally defined on the opposite edge. - -
    See Also a sample TUI Script of a +Propagation of 1D Hypothesis on opposite edges allows to mesh +opposite sides of a quadrangle face, and of other adjacent quadrangles, +using the same hypothesis assigned to one edge only.
    +Thus you define a sub-mesh on an edge where you define 1D meshing +parameters and a \b Propagation hypothesis. These local meshing +parameters will be propagated via opposite sides of quadrangles to the +whole geometry, or till an edge with other local meshing parameters. + +This hypothesis can be taken into account by +\ref a1d_algos_anchor "Wire Discretization" and +\ref a1d_algos_anchor "Composite Side Discretization" algorithms. + +See Also a sample TUI Script of a \ref tui_propagation "Propagation hypothesis" operation \anchor propagofdistribution_anchor @@ -48,25 +55,18 @@ opposite edge will have the same number of nodes and the same relations between segment lengths, unless another hypothesis has been locally defined on the opposite edge. -
    See Also a sample TUI Script of a -\ref tui_propagation "Propagation hypothesis" operation - -\anchor quadrangle_preference_anchor -

    Quadrangle Preference

    +This hypothesis can be taken into account by +\ref a1d_algos_anchor "Wire Discretization" and +\ref a1d_algos_anchor "Composite Side Discretization" algorithms. -This additional hypothesis can be used together with 2D triangulation algorithms. -It allows 2D triangulation algorithms to build quadrangular meshes. - -When used with "Quadrangle (Mapping)" meshing algorithm, that is obsolete - since introducing \ref hypo_quad_params_anchor "Quadrangle parameters" -hypothesis, 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). +See Also a sample TUI Script of a +\ref tui_propagation "Propagation hypothesis" operation \anchor viscous_layers_anchor

    Viscous Layers and Viscous Layers 2D

    Viscous Layers and Viscous Layers 2D additional -hypotheses can be used together with either some 3D algorithms, for example +hypotheses can be used by several 3D algorithms, for example Hexahedron(i,j,k), or 2D algorithms, for example Triangle (MEFISTO), correspondingly. These hypotheses allow creation of layers of highly stretched elements, prisms in 3D and quadrilaterals in 2D, @@ -144,4 +144,33 @@ computations.
    See also a sample TUI script of a \ref tui_viscous_layers "Viscous layers construction". + +\anchor quadratic_mesh_anchor +

    Quadratic Mesh

    + +Quadratic Mesh hypothesis allows to build a quadratic mesh (in which +links between element nodes are not straight but curved lines due to +presence of an additional midside node). + +This 1D hypothesis can be taken into account by +\ref a1d_algos_anchor "Wire Discretization" and +\ref a1d_algos_anchor "Composite Side Discretization" algorithms. To +make a quadratic mesh assign this hypothesis at +\ref constructing_meshes_page "mesh construction". + +See \ref adding_quadratic_elements_page +for more information about quadratic meshes. + + +\anchor quadrangle_preference_anchor +

    Quadrangle Preference

    + +This additional hypothesis can be used together with 2D triangulation algorithms. +It allows 2D triangulation algorithms to build quadrangular meshes. + +When used with "Quadrangle (Mapping)" meshing algorithm, that is obsolete + since introducing \ref hypo_quad_params_anchor "Quadrangle parameters" +hypothesis, 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). + */ diff --git a/doc/salome/gui/SMESH/input/basic_meshing_algos.doc b/doc/salome/gui/SMESH/input/basic_meshing_algos.doc index b92148cad..bdf730b67 100644 --- a/doc/salome/gui/SMESH/input/basic_meshing_algos.doc +++ b/doc/salome/gui/SMESH/input/basic_meshing_algos.doc @@ -3,27 +3,33 @@ \page basic_meshing_algos_page Basic meshing algorithms \n The MESH module contains a set of meshing algorithms, which are -used for meshing entities (1D, 2D, 3D) composing geometrical objects. +used for meshing entities (1D, 2D, 3D sub-shapes) composing +geometrical objects. + +An algorithm represents either an implementation of a certain meshing +technique or a interface to a whole meshing program generating elements +of several dimensions. Some 3D meshing algorithms, such as Hexahedron(i,j,k) and some -commercial ones, also can generate 3D meshes from 2D meshes, working without -geometrical objects. +commercial ones, also can generate 3D meshes from 2D meshes, working +without geometrical objects. There is also a number of more specific algorithms: There is an alternative way to assign Algorithms and Hypotheses by clicking Assign a set of hypotheses button and selecting among - pre-defined sets of hypotheses. In addition to the standard + pre-defined sets of algorithms and hypotheses. In addition to the built-in sets of hypotheses, it is possible to create custom sets by editing CustomMeshers.xml file located in the home directory. CustomMeshers.xml file must describe sets of hypotheses in the same way as ${SMESH_ROOT_DIR}/share/salome/resources/smesh/StdMeshers.xml file does (sets of hypotheses are enclosed between tags). - + +
    \image html hypo_sets.png List of sets of hypotheses. Tag [custom] is automatically added to the sets defined by the user. - - \note \a "Automatic" in the names of predefined sets of - hypotheses came from previous versions of SALOME where - \ref automatic_length_anchor "Automatic Length" hypothesis - was included in these sets, and not that these sets are suitable for - meshing any geometry. +
    + + \note + - \a "Automatic" in the names of predefined sets of + hypotheses came from previous versions of SALOME where + \ref automatic_length_anchor "Automatic Length" hypothesis + was included in these sets, and not that these sets are suitable for + meshing any geometry. + - The list of sets of hypotheses can be shorter than in the + above image depending on the geometry dimension. @@ -222,31 +287,31 @@ it is possible to change the priority of their computation, i.e. to change the priority of applying algorithms to the shared sub-shapes of the Mesh shape. -To change submesh priority: +To change sub-mesh priority: -Choose "Change submesh priority" from the Mesh menu or a pop-up -menu. The opened dialog shows a list of submeshes in the order of +Choose "Change sub-mesh priority" from the Mesh menu or a pop-up +menu. The opened dialog shows a list of sub-meshes in the order of their priority. -There is an example of submesh order modifications taking a Mesh created on a Box +There is an example of sub-mesh order modifications taking a Mesh created on a Box shape. The main Mesh object: -The first submesh object Submesh_1 created on Face_1 is: +The first sub-mesh Submesh_1 created on Face_1 is: -The second submesh object Submesh_2 created on Face_2 is: +The second sub-mesh Submesh_2 created on Face_2 is: -And the last submesh object Submesh_3 created on Face_3 is: +And the last sub-mesh Submesh_3 created on Face_3 is: