Salome HOME
Update doc
[modules/smesh.git] / doc / salome / gui / SMESH / input / blsurf_hypo.doc
index 795fbb974a594ebdf9049720f982da84e52f1daa..7e7a4f45a92a4a8dbf71ba92a553e311205d6aaa 100644 (file)
@@ -2,9 +2,25 @@
 
 \page blsurf_hypo_page BLSURF Parameters hypothesis
 
+\anchor blsurf_top
 \n BLSURF Parameters hypothesis works only with <b>BLSURF</b> 2d
 algorithm. This algorithm is a commercial software.
-
+\n To get a licence, visit http://www.distene.com/corp/eval-distene.html
+
+<ol>
+<li>\ref blsurf_general_parameters "General parameters"</li>
+<li>\ref blsurf_advanced_parameters "Advanced parameters"</li>
+<li>\ref blsurf_local_size "Local size"</li>
+<ol>
+<li type="a">\ref blsurf_sizemap_computation "Computation of the physical size"</li>
+<li type="a">\ref blsurf_attractor "Advanced maps"</li>
+<li type="a">\ref blsurf_attractor_computation "Computation of attractors"</li>
+</ol>
+<li>\ref blsurf_enforced_elements "Enforced vertices"</li>
+<li>\ref blsurf_limitations "Limitations"</li>
+</ol>
+
+\anchor blsurf_general_parameters
 <h1>General parameters</h1>
 
 \image html blsurf_parameters.png
@@ -54,11 +70,21 @@ two adjacent edges. </li>
 <li><b>Patch independent</b> - if checked, geometrical
 edges are not respected and all geometrical faces are meshed as one
 hyper-face.</li>
+</ul>
 
+\ref blsurf_top "Back to top"
+
+\anchor blsurf_advanced_parameters
 <h1>Advanced parameters</h1>
 
+The notion of <i>diag</i> used in the descriptions means the diagonal of the bounding box of the 
+geometrical object to mesh.
+
 \image html blsurf_parameters_advanced.png
 
+<li><b>Verbosity level</b> - Defines the percentage of "verbosity" of
+BLSURF [0-100].</li>
+
 <li><b>Topology</b> - allows creation of a conform mesh on a shell of
 not sewed faces. 
 <ul>
@@ -67,37 +93,57 @@ not sewed faces.
   <li>"Pre-process" and "Pre-process++" allow the BLSURF software to
   pre-process the geometrical model to eventually produce a conform
   mesh. </li>
+  <li>"PreCAD" is an auxiliary CAD pre-processing module which has 
+  two main goals:
+  <ul>
+    <li> Complete missing or inadequate CAD descriptions.</li>
+    <li> Perform topology reconstruction and specific geometry 
+    enhancement for mesh generation.</li>
+  </ul>
+  This module requires a specific licence.
+  \n
+  The following PreCAD options are the most significant and important ones:
+  <ul>
+  <li><b>Merge Edges</b> - allows PreCAD to optimize the geometry by merging some
+  edges. This option is 0 by default.</li>
+  <li><b>Remove nano edges</b> - allows PreCAD to optimize the geometry by removing 
+  the nano edges whenever possible. This option is 0 by default.</li>
+  <li><b>Nano edge length</b> - gives the length below which an edge is considered as nano 
+  for the topology processing. See also the \b remove_nano_edges option. If unset, PreCAD
+  default value is \f$\mathrm{diag} \times 10^{-5}\f$.</li>
+  <li><b>Discard input topology</b> - computes the CAD topology from scratch, 
+  without considering the toplogical information contained in the original CAD
+  (Useful for iges files). This option is 0 by default.</li>
+  </ul>
+  </li>
 </ul>
 
-<li><b>Verbosity level</b> - Defines the percentage of "verbosity" of
-BLSURF [0-100].</li>
+<li><b>ExportGMF</b> - saves the computed mesh into a GMF file (.mesh or .meshb).</li>
 
-<li><b>Add option</b> - provides the choice of multiple advanced
-options, which appear, if selected, in a table where it is possible to
-input the value of the option and to edit it later.</li>
+<li><b>Add option</b> - provides the choice of multiple PreCAD and BLSURF 
+advanced options, which appear, if selected, in a table where it is 
+possible to input the value of the option and to edit it later.</li>
 
-<li><b>Clear option</b> - removes the option selected in the table.
+<li><b>Clear option</b> - removes the option selected in the table.</li>
 
 </ul>
 
 \n
-The following options are commonly usable. The notion of <i>diag</i>
-used in the descriptions means
-the diagonal of the bounding box of the geometrical object to mesh.
+The following BLSURF options are commonly usable.
 
 <ul>
-<li><b>topo_eps1</b> (real) - is the tolerance level inside a CAD
-patch. By default is equal to <i>diag</i> � 10-4. This tolerance is used to
+<li>\b topo_eps1 (real) - is the tolerance level inside a CAD
+patch. By default is equal to \f$\mathrm{diag} \times 10^{-4}\f$. This tolerance is used to
 identify nodes to merge within one geometrical face when \b Topology
-option is to pre-process. Default is <i>diag</i>/10.0.</li>
+option is to pre-process.</li>
 
-<li><b>topo_eps2</b> (real) - is the tolerance level between two CAD
-patches. By default is equal to <i>diag</i> � 10-4. This tolerance is used to
+<li>\b topo_eps2 (real) - is the tolerance level between two CAD
+patches. By default is equal to \f$\mathrm{diag} \times 10^{-4}\f$. This tolerance is used to
 identify nodes to merge over different geometrical faces when
-\b Topology option is to pre-process. Default is <i>diag</i>/10.0.</li>
+\b Topology option is to pre-process.</li>
 
 <li>\b LSS (real) - is an abbreviation for "length of sub-segment". It is
-a maximal allowed length of a mesh edge. Default is 0.5.</li>
+a maximal allowed length of a mesh edge. Default is \f$0.5\f$.</li>
 
 <li>\b frontal (integer)
 <ul>
@@ -112,12 +158,11 @@ Default is 0.</li>
 interpolated value <i>v</i> between two points <i>P1</i> and <i>P2</i> on a
 curve. Let <i>h1</i> be the value at point <i>P1,</i> <i>h2</i> be the value at point
 <i>P2,</i> and <i>t</i> be a parameter varying from 0 to 1 when moving from <i>P1
-to</i> <i>P2</i> . 
+to</i> <i>P2</i>.
 <ul>
-<li>0 - the interpolation is linear: <i>v = h1 + t (h2 - h1 )</i></li>
-<li>1 - the interpolation is geometric: <i>v = h1 * pow( h2/h1, t)</i></li>
-<li>2 - the interpolation is sinusoidal: <i>v = (h1+h2)/2 +
-(h1-h2)/2*cos(PI*t)</i></li>
+<li>0 - the interpolation is linear: \f$v = h1 + t (h2 - h1 )\f$</li>
+<li>1 - the interpolation is geometric: \f$v = h1 \times \left( \frac{h1}{h2} \right)^{t}\f$</li>
+<li>2 - the interpolation is sinusoidal: \f$v = \frac{h1+h2}{2} + \frac{h1-h2}{2 \cdot \cos(\pi \cdot t)}\f$</li>
 </ul>
 Default is 0.</li>
 
@@ -125,7 +170,7 @@ Default is 0.</li>
 <li>\b hmean_flag (integer) - determines the computation of the average of several
 values:<ul>
 <li>-1 - the minimum is computed.</li>
-<li>0 or 2 - the arithmetic average computed.
+<li>0 or 2 - the arithmetic average is computed.
 <li>1 - the geometric average is computed.</li>
 </ul>
 Default is 0.</li>
@@ -149,8 +194,8 @@ split into 20 edges. Default is 0.0.</li>
 
 <li>\b eps_ends (real) - is used to detect the curves whose lengths are very
 small, which sometimes constitutes an error. A message is printed
-if<i> fabs(P2-P1) < eps_ends</i>, where <i>P1</i> and <i>P2</i> are the
-extremities of a curve. Default is <i>diag</i>/500.0.</li>
+if \f$\left|P2-P1\right| < eps\_ends\f$, where <i>P1</i> and <i>P2</i> are the
+extremities of a curve. Default is \f$\frac{\mathrm{diag}}{500.0}\f$.</li>
 
 <li>\b prefix (char) - is a prefix of the files generated by
 BLSURF. Default is "x".</li>
@@ -159,12 +204,47 @@ BLSURF. Default is "x".</li>
 files. Default is 1.</li>
 </ul>
 
+\n
+The following PreCAD options are commonly usable. 
+<ul>
+<li>\b closed_geometry (int) - describes whether the working geometry 
+should be closed or not. When activated, this option helps PreCAD to process 
+the dirtiest geometries. By default this option is 0.</li>
+<li>\b debug (int) - If debug = 1 PreCAD will be very verbose and will output 
+some intermediate files in the working directory. By default this
+option is 0.</li>
+<li>\b eps_nano_relative (real) -  the same as \b eps_nano, but relatively to 
+the diagonal of the box bounding the geometry. By default this option is \f$10^{-5}\f$.</li>
+<li>\b eps_sewing (real) - tolerance of the assembly. It rarely requires to be tuned. 
+By default this option is \f$\mathrm{diag} \times 5 \cdot 10^{-4}\f$.</li>
+<li>\b eps_sewing_relative (real) -  the same as \b eps_nano but relatively to 
+the diagonal of the box bounding the geometry. By default this option is \f$5 \cdot 10^{-4}\f$.</li>
+<li>\b manifold_geometry (int) - describes whether the working geometry should be manifold or not.
+When activated, this option helps PreCAD to process the dirtiest
+geometries. By default this option is 0.</li>
+<li>\b create_tag_collision (int) - creates new tags from original ones in case 
+of collision (entity merge or association for example). By default
+this option is 0.</li>
+<li>\b periodic_tolerance (real) - defines the maximum distance error accepted between 
+two sets of periodic entities. By default this option is \f$\mathrm{diag} \times 10^{-5}\f$.</li>
+<li>\b periodic_tolerance_relative (real) -  the same as \b
+periodic_tolerance but in a relative unit. Bu default this option is \f$10^{-5}\f$.</li>
+<li>\b periodic_split_tolerance (real) - This periodicity processing related option defines 
+the minimum distance between a CAD point and an imprinted point. It allows to indirectly 
+control the number of created points and small edges. By default this
+option is \f$\mathrm{diag} \times 10^{-4}\f$.</li>
+<li>\b periodic_split_tolerance_relative (real -  the same as \b
+periodic_split_tolerance but in a relative unit. By default this
+option is \f$10^{-4}\f$.</li>
+</ul>
+
 \n
 The following advanced options are not documented and you can use them
 at your own risk.
 \n\n Integer variables:
 <ul>
 <li>    addsurf_ivertex</li>
+<li>    anisotropic    </li>
 <li>    background     </li>
 <li>    coiter         </li>
 <li>    communication  </li>
@@ -186,15 +266,16 @@ at your own risk.
 </ul>
 Real variables:
 <ul>
-<li>    addsurf_angle  </li>
-<li>    addsurf_R      </li>
-<li>    addsurf_H      </li>
-<li>    addsurf_FG     </li>
-<li>    addsurf_r      </li>
-<li>    addsurf_PA     </li>
-<li>    angle_compcurv </li>
-<li>    angle_ridge    </li>
-<li>    eps_pardom     </li>
+<li>    addsurf_angle    </li>
+<li>    addsurf_R        </li>
+<li>    addsurf_H        </li>
+<li>    addsurf_FG       </li>
+<li>    addsurf_r        </li>
+<li>    addsurf_PA       </li>
+<li>    angle_compcurv   </li>
+<li>    angle_ridge      </li>
+<li>    anisotropic_ratio</li>
+<li>    eps_pardom       </li>
 </ul>
 String variables:
 <ul>
@@ -203,11 +284,12 @@ String variables:
 <li>    import_option  </li>  
 </ul>
 
-<h1>Custom size map</h1>
+\ref blsurf_top "Back to top"
 
-\image html blsurf_parameters_sizemap1.png 
+\anchor blsurf_local_size
+<h1>Local size</h1>
 
-User sizes can be defined on faces, edges or vertices.
+Local sizes can be defined on faces, edges or vertices.
 <ul>
 <li>The faces, edges and vertices can belong to the meshed geometrical
 object or to its sub-shapes (created using <b>Explode</b> command).</li>
@@ -224,9 +306,19 @@ object or to its sub-shapes (created using <b>Explode</b> command).</li>
 </ul></li>
 </ul>
 
+3 different types of size maps can be defined:
+<ol>
+<li type="a">\ref blsurf_sizemap_computation "Computation of the physical size"</li>
+<li type="a">\ref blsurf_attractor "Advanced maps"</li>
+<li type="a">\ref blsurf_attractor_computation "Computation of attractors"</li>
+</ol>
+
+\ref blsurf_top "Back to top"
+
 \anchor blsurf_sizemap_computation
 <h2>Computation of the physical size</h2>
-\n
+\image html blsurf_parameters_sizemap1.png 
+
 The physical size is obtained by querying sizemap functions associated to the input CAD object for surfaces, curves and points.
 Each function can either return a value h (which is then trimmed
 between the two bounds hphymin and hphymax), or "no answer" (by not
@@ -239,6 +331,9 @@ specification of the sizes. The computation depends on whether point P is intern
 </ul>
 In order to compute the mean of several values, the arithmetic mean is used by default, but this can be modified by the parameter \ref blsurf_hmean_flag "hmean flag". In the same way, in order to interpolate two values, a linear interpolation is used by default, but this can be modified by \ref blsurf_hinterpol_flag "hinterpol flag".
 
+\ref blsurf_local_size "Back to \"Local size\"" \n
+\ref blsurf_top "Back to top"
+
 \anchor blsurf_attractor
 <h2>Advanced maps</h2>
 \n
@@ -272,14 +367,8 @@ BLSURF (gradation ...).</li>
 </ul>
 </ul>
 
-\image html blsurf_attractors2.png "Example of mesh created using
-attractors, the attractors here are the side edges and the size grows
-from the side of the surface towards the apex"
-\n
-\image html blsurf_const_size_near_shape2.png "Example of size map
-with constant size option, the size is kept constant on the left side
-of the surface until a certain distance"
-\n
+\image html blsurf_const_size_near_shape2.png "Example of size map with constant size option, the size is kept constant on the left side of the surface until a certain distance"
+
 Remark : The validation of the hypothesis might take a few seconds if
 attractors are defined or the "constant size" option is used because a
 map of distances has to be built on the whole surface for each face
@@ -287,10 +376,14 @@ where such a hypothesis has been defined.
 
 <br><b>See Also</b> a sample TUI Script of the \ref tui_blsurf "creation of a BLSurf hypothesis", including size map.
 
+\ref blsurf_local_size "Back to \"Local size\"" \n
+\ref blsurf_top "Back to top"
+
 \anchor blsurf_attractor_computation
 <h2>Computation of attractors</h2>
 \n
-The size grows exponentially following the equation : h(d) = User size + (h_start - User Size) * exp( -(d / R)^2  ).
+The size grows exponentially following the equation : 
+\f$h(d) = \mathrm{User Size} + (\mathrm{h\_start} - \mathrm{User Size}) \times e ^ { - \left( \frac{d}{R} \right) ^ {2} }\f$
 \n
 Where :
 <ul>
@@ -300,21 +393,38 @@ shape. The distance is the geodesic distance (i.e. calculated by following the s
 <li>R is called the distance of influence and allows controlling the growth rate of the mesh </li>
 </ul>
 
-<h1>Custom enforced vertices</h1>
+\image html blsurf_attractors2.png "Example of mesh created using attractors, the attractors here are the side edges and the size grows from the side of the surface towards the apex"
+
+\ref blsurf_local_size "Back to \"Local size\"" \n
+\ref blsurf_top "Back to top"
+
+\anchor blsurf_enforced_elements
+<h1>Enforced vertices</h1>
 
 \image html blsurf_parameters_enforced_vertices.png
 
-It is possible to define some enforced vertices to BLSurf algorithm
-without creating any vertices by CAD algorithms.
+It is possible to define some enforced vertices to BLSurf algorithm.
+An enforced vertex is defined on a Face or a Compound by
+<ul>
+<li> selecting an existing Vertex or Compound,</li>
+<li> or creating a new vertex given its coordinates.</li>
+</ul>
+The enforced vertex is the projection of a point defined by its
+(x,y,z) coordinates on the selected face.
 <ul>
-<li>The enforced vertex is the projection of a point defined by its
-(x,y,z) coordinates on the selected face.</li>
 <li>It is possible to define several enforced vertices on a face or a group of faces.</li>
 <li>If the projected point is on the boundary or outside of the face, it will be ignored.</li>
+<li>If a group name is specified, the enforced nodes will be added in the group. If the group does not exist it will be created.
 </ul>
 
+You can specify BLSURF to use the internal vertices of the faces as enforced vertices by checking <i>Use internal vertices of all faces</i>.
+If a group name is specified, the internal enforced nodes will be added in the group. If the group does not exist it will be created.
+
 <br><b>See Also</b> a sample TUI Script of the \ref tui_blsurf "creation of a BLSurf hypothesis", including enforced vertices.
 
+\ref blsurf_top "Back to top"
+
+\anchor blsurf_limitations
 <h1>Limitations</h1>
 
 Currently BLSURF plugin has the following limitations.
@@ -333,4 +443,6 @@ Currently BLSURF plugin has the following limitations.
   </li>
 </ul>
 
+\ref blsurf_top "Back to top"
+
 */