<?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 = "This section describes the possibilities for improving the performance of the controller-based optimization algorithm using the OPT_PARAM command."/><meta name = "description" content = "This section describes the possibilities for improving the performance of the controller-based optimization algorithm using the OPT_PARAM command."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-user-TopOpt-Sett-LStaTop"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Parameters for Standard Linear Static Topology Optimization</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script><script type = "text/javascript" src = "../MathJax/MathJax.js?config=DS-default,local/local">
  		/* */
  		</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-user-TopOpt-Sett-LStaTop">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Parameters for Standard Linear Static Topology Optimization</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">This section describes the possibilities for improving the
performance of the controller-based optimization algorithm using the <code class = "ph codeph">OPT_PARAM</code>
command.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-user-TopOpt-Sett-LStaTop__tso-c-user-TopOpt-Sett-LStaTop-IVM" id = "toc_rg" title = "">Increments of Volume Modification (SPEED)</a></li><li><a href = "#tso-c-user-TopOpt-Sett-LStaTop__tso-c-user-TopOpt-Sett-LStaTop-VRFI" id = "toc_rg" title = "">Volume Reduction in First Iteration (START_DELETE)</a></li><li><a href = "#tso-c-user-TopOpt-Sett-LStaTop__tso-c-user-TopOpt-Sett-LStaTop-RelDenStif" id = "toc_rg" title = "">Relation between Relative Density and Stiffness</a></li></ul>
</p></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-user-TopOpt-Sett-LStaTop__tso-c-user-TopOpt-Sett-LStaTop-IVM"><h2 class = "title sectiontitle">Increments of Volume Modification (SPEED)</h2>

<p>The user can specify a speed level for modifying the element properties
in the topology optimization. Per default, the number of iterations is
set to a fixed number of 15. The increments for the volume modification
are calculated implicitly. The control of the element properties modification
is defined with the <code class = "ph codeph">SPEED</code> parameter where the user,
depending on the objective function and selected constraint, can choose
between the speed levels <code class = "ph codeph"> VERY_SLOW, SLOW, MODERATE, MEDIUM, FAST
</code> and <code class = "ph codeph">ITER</code> (default set to 15). </p>
<p>For example:</p>
<pre class = "codeblock">
<code class = "ph codeph">OPT_PARAM
 ID_NAME  = optimization_control
 OPTIMIZE = id_of_optimize
 SPEED    = SLOW
 ...
END_
</code></pre>
<p>The definition "<code class = "ph codeph">SPEED=ITER,</code> &lt;number_of_iterations&gt;
" sets the number of iterations (to 15 cycles by default). The number
of iterations can be increased manually or decreased to a minimum number
of ten iterations. A reduction in the number of iterations can lead to
undesired effects in the optimization.</p><div class = "note collapse"><span class = "run-in.note">Note:
    		</span><span class = "notecontent">Changing optimization speed can
cause a different truss configuration in the solution. Even if the results
look a bit different the results are topologically identical to some extend.</span></div>

<p>Topologically identical means that the number and configuration of
trusses can be slightly different, depending on the starting values and
the optimization parameters. The resulting structures have the same
stiffness (the sum of the strain energy is almost equal for the different
results).</p>



</div>

<div class = "section" id = "tso-c-user-TopOpt-Sett-LStaTop__tso-c-user-TopOpt-Sett-LStaTop-VRFI"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title sectiontitle">Volume Reduction in First Iteration (START_DELETE)</h2>

<p>This option can only be used if the speed is not set to "<code class = "ph codeph">SPEED=ITER</code>".
By default, more than 5% of the optimization element group volume is removed in
the first iteration of <span class = "ph">Tosca Structure.topology</span>.
Depending on the model being optimized, increasing this starting value
might accelerate the optimization. This can be done without influencing
the solution, especially, for models where relatively low stresses
are present in large areas. The value is changed using the <code class = "ph codeph">START_DELETE</code> parameter. The volume to be at least removed in the first iteration
is specified either by the absolute value as in:</p>
<pre class = "codeblock">
<code class = "ph codeph">START_DELETE = ABS, 200
</code></pre>
<p>or by the relative value as in: </p>
<pre class = "codeblock">
<code class = "ph codeph">START_DELETE = PERC, 0.2
</code></pre>

  <div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent"><p><ul class = "ul" id = "tso-c-user-TopOpt-Sett-LStaTop__ul_DDF9EFC7F6D4428F87BA6E97738577B7">
    <li class = "li">Too many elements might be removed in the first iteration if the starting
      value is too high. <span class = "ph">Tosca Structure.topology</span>
      might not be able to identify the original force flux if the distribution
      of forces changes significantly, and the corresponding elements may
      consequently be deleted.</li>
    <li class = "li">If A is the value provided by <code class = "ph codeph">START_DELETE</code> and B is a function of the iteration variable, the volume to be removed in
    the first iteration is A+B(iter). That is why one cannot expect the volume change between first two iterations to be A.</li><li class = "li">Changing the default settings might in some circumstances lead to coarse
structures due to a higher optimization speed.</li>
  </ul></p></span></div>
  
</div>


<div class = "section" id = "tso-c-user-TopOpt-Sett-LStaTop__tso-c-user-TopOpt-Sett-LStaTop-RelDenStif"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title sectiontitle">Relation between Relative Density and Stiffness</h2>

<p>In topology optimization, the given mass is distributed within the
design area. During this iterative process, elements with the original
mass coexist with the original stiffness. But elements also exist that
have no mass and no stiffness as well as elements with an intermediate
mass and an unknown stiffness. For these elements, the relation between
density and stiffness must be determined. Several methods can be found
in publications determining this relation. One of the most common is
the SIMP approach (Simple Isotropic Material with Penalization) which
can be reduced to a simple exponential relation between density and the
stiffness of an element.</p>
<table class = "table" id = "tso-c-user-TopOpt-Sett-LStaTop__ag621521"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-user-TopOpt-Sett-LStaTop__image_82577B32F3E8413A92FC3D5C24EA3F54" src = "../TsoUserImages/topo_power_law_exponents.png" width = "350"/><br/></td>
</tr>
</tbody></table>

<table class = "table" id = "tso-c-user-TopOpt-Sett-LStaTop__ag571943"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">E</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">j</mi><mi class = "- topic/foreign ">k</mi><mi class = "- topic/foreign ">l</mi></mrow></msub><mo class = "- topic/foreign ">=</mo><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">ρ</mi><mo class = "- topic/foreign ">)</mo><mtext class = "- topic/foreign "> </mtext></mrow></math></span> in this case with <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">ρ</mi><mo class = "- topic/foreign ">)</mo><mo class = "- topic/foreign ">=</mo><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">E</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">j</mi><mi class = "- topic/foreign ">k</mi><mi class = "- topic/foreign ">l</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">0</mn></mrow></msubsup><mo class = "- topic/foreign ">⋅</mo><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">ρ</mi></mrow><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">ρ</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">0</mn></mrow></msub></mrow></mfrac><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">p</mi></mrow></msup></mrow></math></span></p></td>
</tr>
</tbody></table>

<p> with <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">E</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">j</mi><mi class = "- topic/foreign ">k</mi><mi class = "- topic/foreign ">l</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">0</mn></mrow></msubsup></mrow></math></span> as material stiffness
tensor of the original material of density <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">ρ</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">0</mn></mrow></msub></mrow></math></span> and <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">E</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">j</mi><mi class = "- topic/foreign ">k</mi><mi class = "- topic/foreign ">l</mi></mrow></msub></mrow></math></span> as material stiffness
tensor of the unknown material with the corresponding density <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">ρ</mi></mrow></math></span>.</p>
<p>This relation was very controversial but it has proven to be successful
in practice. In 1999, BENDSØE and SIGMUND have presented the physical
theoretical proof for the penalty exponents <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">p</mi><mo class = "- topic/foreign ">≥</mo><mn class = "- topic/foreign ">3</mn></mrow></math></span> and for materials with
a lateral contraction coefficient <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">v</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn><mo class = "- topic/foreign ">/</mo><mn class = "- topic/foreign ">3</mn></mrow></math></span>.</p>
<p>For the integrated algorithms, the penalty factor can be modified
using the <code class = "ph codeph">OPT_PARAM</code> command. <span class = "ph">Tosca Structure</span>
uses values between 2 and 3 as the default values depending on the algorithms.</p>
<pre class = "codeblock">
<code class = "ph codeph">OPT_PARAM
 ID_NAME  = optimization_control
 OPTIMIZE = id_of_optimize
 ...
 MAT_PENALTY = 2.5
audience="internal"&gt; POWER_LAW_EXP = 2.5
 ...
END_
</code></pre>
</div>

</div>

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