<?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 = "The user might choose between two bead optimization algorithms in Tosca Structure.bead. The algorithms have different ways to find the solution and their differences will be discussed in this chapter."/><meta name = "description" content = "The user might choose between two bead optimization algorithms in Tosca Structure.bead. The algorithms have different ways to find the solution and their differences will be discussed in this chapter."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-beadOptTask-diffBeadOptAlgos"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Differences between Bead Optimization Algorithms</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-beadOptTask-diffBeadOptAlgos">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Differences between Bead Optimization Algorithms</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">
The user might choose between two bead optimization algorithms
in <span class = "ph">Tosca Structure.bead</span>.
The algorithms have different ways to find the solution and their differences
will be discussed in this chapter.
</span>

<p>In the attempt to avoid confusion the following chapters will be marked
with either "BEAD_CONTROLLER" or "BEAD_SENSITIVITY" if it is only valid
for the one algorithm. If the chapter is not marked, the content applies
to both algorithms.</p>
</p>

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




<div class = "body conbody">
<p>The following figures show the same optimization task: maximizing first eigenvalue.</p>
<p><br/><img border = "1" class = "image" src = "../TsoUserImages/aa033690.jpg" width = "450"/><br/></p>
<p>Time solved by the sensitivity-based optimization algorithm:</p>
<p><br/><img border = "1" class = "image" src = "../TsoUserImages/aa048b1a.jpg" width = "450"/><br/></p>
<p>Time solved by the controller-based algorithm:</p>
<p><br/><img border = "1" class = "image" src = "../TsoUserImages/aa048b3a.jpg" width = "450"/><br/></p>

<p>Some of the main differences between the two algorithms are the following:</p>
<table class = "table"><caption/><colgroup><col style = "width:33.33333333333333%"/><col style = "width:33.33333333333333%"/><col style = "width:33.33333333333333%"/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"/>
<th class = "entry" id = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2">Controller-based algorithm</th>
<th class = "entry" id = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3">Sensitivity-based algorithm</th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"><span class = "ph uicontrol">Bead pattern</span></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"><ul class = "ul"><li class = "li">creates nice bead structures because of its bead-filter.</li></ul></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3">
<ul class = "ul">
<li class = "li">A bead pattern generator is not implemented in the sensitivity-based
solution, therefore the results do not show a distinct bead pattern.</li>
</ul>
</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"><span class = "ph uicontrol">Number of optimization iterations</span></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"><ul class = "ul"><li class = "li">always uses 3 optimization iterations.</li></ul></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3"><ul class = "ul"><li class = "li">usually needs 20 or more iterations to converge.</li></ul></td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"><span class = "ph uicontrol">Analysis types</span></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"><ul class = "ul"><li class = "li">supports all analysis types which produce a stress tensor as output.
					  <p><div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">It is recommended to only use it for static analyses.</span></div>
</p></li>
                      <li class = "li">Supports geometrical nonlinearities.</li></ul></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3">
<ul class = "ul">
<li class = "li">supports the responses of both linear and nonlinear static and linear eigenfrequency analyses.<p>
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
The sensitivity-based optimization should be preferred for dynamic problems and 
complex loading situations, for example, many 
<span class = "ph">load cases</span>.
</span></div>

</p>
</li>
<li class = "li">Supports geometrical nonlinearities.</li>
</ul>
</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"><span class = "ph uicontrol">Objective and constraint types</span></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"><ul class = "ul"><li class = "li">uses the compliance as objective and the <span class = "ph">BEAD_HEIGHT</span>
                      as an equality constraint.</li></ul></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3">
<ul class = "ul">
<li class = "li">can have one objective function and several constraints where the constraints
are all inequality constraints.</li>
<li class = "li">The objective and the constraints can
be based upon compliance, displacements, or eigenfrequencies.</li>
</ul>
</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"><span class = "ph uicontrol">Supported element types</span></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"><ul class = "ul"><li class = "li">supports all plate and shell elements.</li></ul></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3">
<ul class = "ul">
<li class = "li">supports only the elements given in 
<a class = "xref" href = "tso-c-usr-bead-designArea-desVar.htm#tso-c-usr-bead-designArea-desVar" title = "Design variables that are usable in bead optimization setups are introduced. Valid are all nodes of shell elements.">Design Variables (DV_BEAD)</a>.
</li>
</ul>
</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"><span class = "ph uicontrol">BEAD_HEIGHT</span></td>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"/>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3">
<ul class = "ul">
<li class = "li">all DRESP
which can be used in the object function can also be used in the constraint
definitions. The maximal nodal displacement is not considered as a
design response but instead as a design
variable constraint.
<p>
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
The DRESP of type <span class = "ph">BEAD_HEIGHT</span> is not allowed with the sensitivity-based algorithm.
</span></div>

</p>
</li>
</ul>
<ul class = "ul">
<li class = "li">
Use the following example  to get a similar optimization
displacement in the sensitivity-based algorithm in a benchmark example
against the controller algorithm:
<pre class = "codeblock">
<code class = "ph codeph">
DVCON_BEAD
  ID_NAME      = name_of_dvcon_bead
  ND_GROUP     = design_nodes
  CHECK_GROW   = &lt;BEAD_HEIGHT&gt;
  CHECK_SHRINK = 0.0
END_ 
</code>
</pre>
<p>where the &lt;BEAD_HEIGHT&gt; is equal to the bead height
defined by the controller input file.</p>
<p>
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
The sensitivity-based
algorithm can move the nodes in positive and in negative direction, thus
the optimization parameter SCALE has no effect.
</span></div>

</p>
</li>
</ul>
</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__1"/>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__2"/>
<td class = "entry" headers = "tso-c-usr-beadOptTask-diffBeadOptAlgos__entry__3"/>
</tr>
</tbody></table>
</div>

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