<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html xmlns:mml = "http://www.w3.org/1998/Math/MathML" lang = "en"><head><meta charset = "UTF-8"/><meta name = "copyright" content = "(C) Copyright 2020"/><meta name = "DC.rights.owner" content = "(C) Copyright 2020"/><meta name = "DC.type" content = "concept"/><meta name = "abstract" content = "Using the data reduction, the number of surface triangles can be reduced, or the triangles can be united pairwise in quadrilaterals. Data reduction is applicable to any surfaces generated by Tosca Structure.smooth; it also affects the original surface, but does not modify loaded nodes. By default, data reduction is turned off."/><meta name = "description" content = "Using the data reduction, the number of surface triangles can be reduced, or the triangles can be united pairwise in quadrilaterals. Data reduction is applicable to any surfaces generated by Tosca Structure.smooth; it also affects the original surface, but does not modify loaded nodes. By default, data reduction is turned off."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-validation-smooth-redPar"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Reduction Parameters</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-validation-smooth-redPar">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Reduction Parameters</h1></td></tr><tr><td class = "DocHeader4" colspan = "2"/></tr><tr><td class = "DocHeader3" colspan = "2"><table class = "DocThemeIntro" id = "table12"><tr><td class = "Intro1Only"><p class = "header"><p class = "abstract">
<span class = "shortdesc">Using the data reduction, the number of surface triangles
can be reduced, or the triangles can be united pairwise in quadrilaterals.
Data reduction is applicable to any surfaces generated by <span class = "ph">Tosca Structure.smooth</span>;
it also affects the original surface, but does not modify loaded nodes.
By default, data reduction is turned off. </span>

</p>

</p></td></tr></table></td></tr></table>




<div class = "body conbody">
<p>Following parameters guide the data reduction:</p>
<table class = "table" id = "tso-c-usr-validation-smooth-redPar__ah678179"><caption/><colgroup><col/><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1" colspan = "6"><p> Data reduction parameters of
<span class = "ph">Tosca Structure.smooth</span></p></th>
</tr>
<tr class = "row">
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__2" rowspan = "2"><p>Parameter</p></th>
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__3" rowspan = "2"><p>Value</p></th>
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__4" rowspan = "2"><p>Description</p></th>
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__5" colspan = "3"><p>Supported by</p></th>
</tr>
<tr class = "row">
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__6"><p>GUI-TS.pre </p></th>
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__7"><p>GUI-TS.smooth</p></th>
<th class = "entry" id = "tso-c-usr-validation-smooth-redPar__ah678179__entry__8"><p>TExt</p></th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__2"><p><span class = "ph">REDUCTION_RATE</span></p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__3"><p>Real value between 0 and 100</p>
                      <p>Default: 0.3</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__4"><p>Defines the percent of faces that should be
                         removed during the data reduction; if set to 0, no data reduction occurs.
                         If set to 100, the data reduction stops when no faces can be removed
                         (that is checked using the <span class = "ph">REDUCTION_ANGLE</span> parameter).</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__6"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__7"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__8"><p>x</p></td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__2"><p><span class = "ph">REDUCTION_ANGLE</span></p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__3"><p>Real value in degrees between 0 and 90</p><p>Default: 15</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__4"><p>Defines the maximal angle between adjacent faces at a node such that the node might be removed during the data reduction.</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__6"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__7"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__8"><p>x</p></td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__2"><p>MIXED_MESH</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__3"><p><span class = "ph">yes</span> (unite triangles to quadrilaterals)</p>
                      <p><span class = "ph">no</span> (no change)</p>
                      <p>default: <span class = "ph">no</span></p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__4"><p>If set to YES, then the quadrilaterals are formed from adjacent triangles; applies to VTFX, ONF, and IGES output formats only.</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__6"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__7"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__8"><p>x</p></td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__2"><p><span class = "ph">SELF_INTERSECTION_CHECK</span></p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__3"><p><span class = "ph">off</span> (no checks)</p>
                      <p><span class = "ph">check</span> (check once)</p>
                      <p><span class = "ph">runtime</span> (check always)</p>
                      <p><span class = "ph">iterative</span> (first run without check, rerun if required)</p>
                      <p>Default: <span class = "ph">iterative</span></p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__4"><p>Defines if the self-intersection checks are to be performed during the isocut, smoothing, and data reduction. See below.</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__6"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__7"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__8"><p>-</p></td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__2"><p><span class = "ph">MIN_ANGLE</span></p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__3"><p>Real value between 0 and 90</p><p>Default: 15</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__4"><p>Defines the minimal angle of the triangles that
                         result from the smoothing and data reduction; triangles with smaller
                         angles might be present if they are created during the isocut. Too large
                         value might prevent the smoothing; too small value may lead to degenerated
                         triangles.</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__6"><p>-</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__7"><p>x</p></td>
<td class = "entry" headers = "tso-c-usr-validation-smooth-redPar__ah678179__entry__1 tso-c-usr-validation-smooth-redPar__ah678179__entry__5 tso-c-usr-validation-smooth-redPar__ah678179__entry__8"><p>-</p></td>
</tr>
</tbody></table>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent"><p>
Note that <code class = "ph codeph">SELF_INTERSECTION_CHECK</code> and <code class = "ph codeph">MIN_ANGLE</code>
parameters are also used during isosurface generation and smoothing.
</p></span></td></tr></table>

<p>The data reduction consists in decreasing the number of surface triangles;
it might be needed in case that the surface is produced from a very fine
FE model or simply has too many faces. The data reduction can be applied
to isosurfaces as well as surfaces of models with or without optimization
displacements. During the data reduction, the adjacent triangles with
nearly coinciding planes get united and subsequently subdivided so that
a triangular surface with smaller number of faces is obtained. This process
is repeated until the decrease of the number of triangles reaches a certain
percentage of the starting number of triangles; this percentage is the
value of the parameter <code class = "ph codeph">REDUCTION_RATE</code>. If set to 0 (default),
no data reduction is performed; if set to 100, the data reduction is
repeated until the number of triangles cannot be decreased further. The
conditions that define if a local data reduction can be made are as follows:</p>
<ul class = "ul">
<li class = "li">the angle between the normals of adjacent triangles is less than the
value of the <code class = "ph codeph">REDUCTION_ANGLE</code> parameter (default value is 15°);</li>
<li class = "li">the angles of triangles after the reduction are larger than the value
of <code class = "ph codeph">MIN_ANGLE</code> parameter;</li>
<li class = "li">no self-intersection occurs after the reduction (only checked if the 
<code class = "ph codeph">SELF_INTERSECTION_CHECK</code> parameter is set to <code class = "ph codeph">iterative</code>
or <code class = "ph codeph">runtime</code>).</li>
</ul>
<p>As seen from the example shown below, in order to achieve maximal data
reduction, the <code class = "ph codeph">REDUCTION_RATE</code> parameter should be set to 100 and the 
<code class = "ph codeph">REDUCTION_ANGLE</code> parameter to a large value (for example, 45). However,
the surface then becomes coarse. By changing the <code class = "ph codeph">REDUCTION_ANGLE</code>
parameter, the surface with sufficient smoothness and reasonably small
number of triangles can be obtained. </p>
<p>The parameters <code class = "ph codeph">MIN_ANGLE</code> and <code class = "ph codeph">SELF_INTERSECTION_CHECK</code>
usually do not influence the number of triangles remaining after the
data reduction, unless <code class = "ph codeph">MIN_ANGLE </code>is set to a large value (30
or more; default value is 15). Note that these parameters are also used
in the surface smoothing.</p>
<table class = "table" id = "tso-c-usr-validation-smooth-redPar__ah701492"><caption/><colgroup><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/smooth_transverselink9.png" width = "350"/><br/></td>
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/smooth_transverselink10.png" width = "350"/><br/></td>
</tr>
<tr class = "row">
<td class = "entry"><p><span class = "ph">REDUCTION_RATE</span> = 0 (default) <span class = "ph">REDUCTION_ANGLE</span> = 15 (default) 4842 faces (100%)</p></td>
<td class = "entry"><p><span class = "ph">REDUCTION_RATE</span>= 100 <span class = "ph">REDUCTION_ANGLE</span> = 15 (default)</p></td>
</tr>
<tr class = "row">
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/smooth_transverselink11.png" width = "350"/><br/></td>
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/smooth_transverselink12.png" width = "350"/><br/></td>
</tr>
<tr class = "row">
<td class = "entry"><p><span class = "ph">REDUCTION_RATE</span> = 50 <span class = "ph">REDUCTION_ANGLE</span> = 15 (default) 2420 faces (50.0%)</p></td>
<td class = "entry"><p><span class = "ph">REDUCTION_RATE</span> = 100 <span class = "ph">REDUCTION_ANGLE</span> = 45 480 faces (9.9%)</p></td>
</tr>
</tbody></table>

<p>Data reduction can also be achieved by generating the mixed triangular-quadrilateral
surface. If the parameter <code class = "ph codeph">MIXED_MESH</code> is set to <code class = "ph codeph">yes</code>,
then the quadrilaterals are formed from adjacent triangles. The triangles
can only be united when the resulting quadrilateral is convex and nondegenerated,
and the angle between the normals of the triangles is smaller than a
certain constant value (currently 15°). An example of using the <code class = "ph codeph">MIXED_MESH</code>
parameter is presented in the following figure.</p>
<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent"><p>The output
of a mixed surface is available only for certain output formats (namely
<code class = "ph codeph">VTFX, ONF</code>, and <code class = "ph codeph">IGES</code>).</p>
<p>In case of
other formats, the triangular surface is always saved. Thus, the parameter
<code class = "ph codeph">MIXED_MESH</code> has no influence on the result. Also, the triangular
surface is always used for the generation of the slices and the border.</p></span></td></tr></table>


<table class = "table" id = "tso-c-usr-validation-smooth-redPar__ah701661"><caption/><colgroup><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/smooth_mixedmesh1.png" width = "350"/><br/></td>
</tr>
<tr class = "row">
<td class = "entry"><p><span class = "ph">MIXED_MESH</span> = <span class = "ph">no</span> (default): 4842 triangles</p></td>
</tr>
<tr class = "row">
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/smooth_mixedmesh2.png" width = "350"/><br/></td>
</tr>
<tr class = "row">
<td class = "entry"><p><span class = "ph">MIXED_MESH</span> = <span class = "ph">yes</span>: 2642 triangles, 1100 quadrilaterals</p></td>
</tr>
</tbody></table>

<p>The generation of the mixed mesh can be combined with the data reduction
described above; it is performed after the data reduction is finished.</p>
</div>

</td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
