<?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 = "reference"/><meta name = "abstract" content = "Defines parameters to control optimization."/><meta name = "description" content = "Defines parameters to control optimization."/><meta name = "DC.relation" scheme = "URI" content = "../TsoUserMap/tso-m-user-TopOpt-Sett-sb.htm#tso-m-user-TopOpt-Sett-sb"/><meta name = "DC.relation" scheme = "URI" content = "../TsoUserMap/tso-m-usr-shape-settings-sb.htm#tso-m-usr-shape-settings-sb"/><meta name = "DC.relation" scheme = "URI" content = "../TsoUserMap/tso-m-usr-beadOpt-beadSettings-sb.htm#tso-sb-usr-beadOpt-beadSettings"/><meta name = "DC.relation" scheme = "URI" content = "../TsoUserMap/tso-m-usr-sizing-Settings-sb.htm#tso-sb-usr-sizing-Settings"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-r-cmd-optParam"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>OPT_PARAM</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-r-cmd-optParam">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>OPT_PARAM</h1></td></tr><tr><td class = "DocHeader4" colspan = "2"/></tr><tr><td class = "DocHeader3"><table class = "DocHeaderIntro" id = "table12"><tr><td class = "Intro1Only"><p class = "header"><p class = "abstract">
<span class = "shortdesc">Defines parameters to control optimization.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-allSens" id = "toc_rg" title = "">Parameters for Sensitivity-Based Shape, Bead, Sizing, and Topology Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-shapeCtrl" id = "toc_rg" title = "">Parameters for Controller-Based Shape Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-shapeSens" id = "toc_rg" title = "">Parameters for Sensitivity-Based Shape Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-topoCtrl" id = "toc_rg" title = "">Parameters for Controller-Based Topology Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-topoSens" id = "toc_rg" title = "">Parameters for Sensitivity-Based Topology Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-sizeSens" id = "toc_rg" title = "">Parameters for Sensitivity-Based Sizing Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-ctrlBead" id = "toc_rg" title = "">Parameters for Controller-Based Bead Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-sensBead" id = "toc_rg" title = "">Parameters for Sensitivity-Based Bead Optimization</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-rmk" id = "toc_rg" title = "">Remarks</a></li><li><a href = "#tso-r-cmd-optParam__tso-r-cmd-optParam-expl" id = "toc_rg" title = "">Examples</a></li></ul>
</p></td></tr></table></td><td class = "DocHeader2"><table class = "DocTopicsSeeAlso" id = "table13"><tr><td class = "TopicsTitle">See Also</td></tr></table><table class = "DocTopicsInOtherGuides" id = "table14"><tr><td height = "8px"/></tr><tr><td class = "TopicsTitleNormal">In Other Guides</td></tr><tr><td><a title = "There are different settings available to control the speed and convergence behavior of the topology optimization algorithms. Default values are available, which have been tried and tested on many occasions. Other algorithm settings for the various optimization algorithms can be selected using the OPT_PARAM command." href = "../TsoUserMap/tso-m-user-TopOpt-Sett-sb.htm#tso-m-user-TopOpt-Sett-sb">Settings: Topology Optimization</a></td></tr><tr><td><a title = "Shape optimization in Tosca Structure has been given numerous default settings that deliver satisfying results for a variety of optimization models. Usually, these default settings do not need to be changed by the user. However, using a specific configuration for a given optimization task can lead to an improved optimization procedure." href = "../TsoUserMap/tso-m-usr-shape-settings-sb.htm#tso-m-usr-shape-settings-sb">Settings: Shape Optimization</a></td></tr><tr><td><a title = "This chapter is about settings and tweaks usable in a bead optimization setup." href = "../TsoUserMap/tso-m-usr-beadOpt-beadSettings-sb.htm#tso-sb-usr-beadOpt-beadSettings">Settings: Bead Optimization</a></td></tr><tr><td><a title = "Different settings can be made to control the speed and convergence behavior of the sizing optimization algorithms. Default values are available which have been tried and tested on many occasions. Other algorithm settings for the various optimization algorithms can be selected using the OPT_PARAM command." href = "../TsoUserMap/tso-m-usr-sizing-Settings-sb.htm#tso-sb-usr-sizing-Settings">Settings: Sizing Optimization</a></td></tr></table></td></tr></table>




<div class = "body refbody">
<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph uicontrol">ID_NAME</span></p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">id_name_of_opt_param</code>&gt;</p></td>
<td class = "entry"><p>Name of the <code class = "ph codeph">OPT_PARAM</code> definition.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p><span class = "ph uicontrol">OPTIMIZE</span></p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">name_of_optimize</code>&gt;</p></td>
<td class = "entry"><p>Name of the optimization problem (<code class = "ph codeph">OPTIMIZE</code>) which is relevant for the parameter.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MOD_NEG_REL_CONSTR</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">ON</span></p></td>
<td class = "entry"><p>Constraints with <code class = "ph codeph">MAGNITUDE=REL</code> are considered as relative constraints and, thus,
                         the inequality operator changes when converting to an absolute
                         constraint and <code class = "ph codeph">DRESP</code> value from optimization start is negative.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= OFF</p></td>
<td class = "entry"><p>Behavior like <span class = "ph">Tosca</span> 7.x: The inequality operator is not changed.</p></td>
</tr>
</tbody></table>

<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-allSens"><h2 class = "title sectiontitle">Parameters for Sensitivity-Based Shape, Bead, Sizing, and Topology Optimization</h2>


<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>DV_UPDATE_STRATEGY</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">CONVEX_SEPARABLE_APPROX (or CSA)</span></p>
                      <p>= MMA</p></td>
<td class = "entry"><p>Update strategy for design variables used in sensitivity-based optimization.</p>
                      <p><code class = "ph codeph">CSA</code>: Algorithm based on convex separable approximations</p>
                      <p><code class = "ph codeph">MMA</code>: Method of moving Asymptotes</p>

</td>
</tr>
</tbody></table>

<p>For eigenvalue optimization: </p>
<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>MODETRACKING</p></td>
<td class = "entry"/>
<td class = "entry"><p>Switch for mode tracking.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">OFF</span></p></td>
<td class = "entry"><p>Mode tracking is deactivated.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ON</p></td>
<td class = "entry"><p>Mode tracking is activated.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ON, &lt;<code class = "ph codeph">node_group</code>&gt;</p></td>
<td class = "entry"><p>Mode tracking is activated for specified nodegroup.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MODENUMBERS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">number_of_modes</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 5</span></p></td>
<td class = "entry"><p>Number of modes included in the mode tracking.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MODETRACK_REFERENCE</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= </span>INITIAL</p></td>
<td class = "entry"><p>Modes of present optimization iteration are tracked with respect to the modes of the initial optimization iteration.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p><span class = "ph uicontrol">= PREVIOUS</span></p></td>
<td class = "entry"><p>Modes of present optimization iteration are tracked with respect to the modes of previous optimization iteration.</p></td>
</tr>
</tbody></table>

<p>For frequency response optimization:</p>
<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>DAMP_STRUCTURAL_MASS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
<td class = "entry"><p>Structural mass damping for design element (or elements at design nodes).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DAMP_STRUCTURAL_STIFF</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
<td class = "entry"><p>Structural stiffness damping for design element (or elements at design nodes).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DAMP_VISCOUS_MASS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
<td class = "entry"><p>Viscous mass damping for design element (or elements at design nodes).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DAMP_VISCOUS_STIFF</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
<td class = "entry"><p>Viscous stiffness damping for design element (or elements at design nodes).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SUM_Q_FACTOR</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p><p><span class = "ph uicontrol">= 6.0</span></p></td>
<td class = "entry"><p>Weighting function for peaks in frequency spectrum.</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-shapeCtrl"><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">Parameters for Controller-Based Shape Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>SCALE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p>= &lt;<code class = "ph codeph">grow_scale</code>&gt;, &lt;<code class = "ph codeph">shrink_scale</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 1</span></p></td>
<td class = "entry"><p>The displacements determined by the optimization algorithms are multiplied with the
                         &lt;<code class = "ph codeph">real_value</code>&gt;. To switch the
                         optimization direction of the controller a negative
                         value can be entered (this is available only  in the
                         module <span class = "ph">Tosca Structure.nonlinear</span>.).
                         If two values are defined, the first value is the
                         scale for nodes with growth and the second value the
                         scale for nodes with shrinkage. Both scale values must
                         have the same sign.</p>
</td>
</tr>
<tr class = "row">
<td class = "entry"><p>MID_NODES</p></td>
<td class = "entry"/>
<td class = "entry"><p>Treatment of the midside nodes during the optimization. </p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">LINEAR</span></p></td>
<td class = "entry"><p>Midside node positions are linearly interpolated from the optimized position of the connected corner nodes.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= INTERPOLATE</p></td>
<td class = "entry"><p>Midside node-based optimization displacements are interpolated from the optimization displacement of the corner nodes.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CURV_SMOOTH</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">elem_edge_length</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 5.0</span></p></td>
<td class = "entry"><p>The node-based optimization movement vector is modified in areas of high curvature to prevent a
                         collapse of the mesh for large volume changes. A bigger radius causes a
                         bigger curvature-based modification of the optimization movement vector.
                         (0.0 = OFF).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">radius</code>&gt;, &lt;<code class = "ph codeph">sigma</code>&gt;, &lt;<code class = "ph codeph">exponent</code>&gt;</p>
                      <p>= &lt;<code class = "ph codeph">radius</code>&gt;, <span class = "ph uicontrol">0.2</span>, <span class = "ph uicontrol">1.0</span></p></td>
<td class = "entry"><p>Filter for the nodal equivalence stress. The radius defines the maximum distance for influencing
                         neighbor nodes, sigma defines the reduction of the radius
                         depending on the surface bending, the exponent defines the
                         weighting function depending on the distance.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>VECTOR</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= EVER</span></p>
                      <p>= FIRST</p></td>
<td class = "entry"><p>Update of the shape normal vectors occurs in every (<code class = "ph codeph">EVER</code>) or only in the first (<code class = "ph codeph">FIRST</code>) design cycle.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DISP</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= MINIMUM</span></p>
                      <p>= AVERAGE</p></td>
<td class = "entry"><p>The permitted absolute step size is controlled by the medium node displacement (<code class = "ph codeph">AVERAGE</code>) or the minimum node displacement
                      (<code class = "ph codeph">MINIMUM</code>).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>TOL_VALUE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Tolerance value for the constraint (relative value).</p></td>
</tr>






</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-shapeSens"><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">Parameters for Sensitivity-Based Shape Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>FILTER_RADIUS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">positive_real_value</code>&gt;,[<span class = "ph uicontrol">ABS</span>|REL]</p></td>
<td class = "entry"><p>Filter radius. It is used to filter the objective function sensitivities and
                         half of the value is used as radius for filtering the constraint sensitivities and the design variables.</p>
                      <p>The second parameter <code class = "ph codeph">ABS</code> or <code class = "ph codeph">REL</code> indicates
                         if the radius is given in ABSolute units (default) or RELative; in
                         terms of medium edge length</p>
                      <p>The default value is 4 * medium_edge_length</p>
                      <p>Use <code class = "ph codeph">0</code> or a negative value to disable the filters (not recommended).</p>
                      <p>Using the <code class = "ph codeph">FILTER_RADIUS=&lt;value&gt;</code> parameter is equivalent to using the three parameters
<pre class = "codeblock">
<code class = "ph codeph">
FILTER_SEN    = &lt;value&gt;
FILTER_CONSEN = 0.5*&lt;value&gt;
FILTER_DV     = 0.5*&lt;value&gt;
</code>
</pre>
</p>
</td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_SEN</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">positive_real_value</code>&gt;,[<span class = "ph uicontrol">ABS</span>|REL]</p></td>
<td class = "entry"><p>Filter radius for filtering the objective function sensitivities.</p><p>The second parameter <code class = "ph codeph">ABS</code> or <code class = "ph codeph">REL</code> indicates if the radius is
                         given in ABSolute units (default) or RELative; in terms of medium
                         edge length</p>
                      <p>The default value is 4 * medium_edge_length</p>
                      <p>This parameter is not available in  <span class = "ph">Tosca Structure.gui</span>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_CONSEN</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">positive_real_value</code>&gt;,[<span class = "ph uicontrol">ABS</span>|REL]</p></td>
<td class = "entry"><p>Filter radius for filtering the sensitivities of the constraints.</p>
                      <p>The second parameter <code class = "ph codeph">ABS</code> or <code class = "ph codeph">REL</code> indicates
                         if the radius is given in ABSolute units (default) or RELative; in
                         terms of medium edge length</p>
                      <p>The default value is 2 * medium_edge_length</p>
                      <p>This parameter is not available in  <span class = "ph">Tosca Structure.gui</span>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_DV</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">positive_real_value</code>&gt;,[<span class = "ph uicontrol">ABS</span>|REL]</p></td>
<td class = "entry"><p>Filter radius for filtering the design variables.</p>
                      <p>The second parameter <code class = "ph codeph">ABS</code> or <code class = "ph codeph">REL</code> indicates
                         if the radius is given in ABSolute units (default) or RELative; in
                         terms of medium edge length</p>
                      <p>The default value is 2 * medium_edge_length</p>
                      <p>This parameter is not available in  <span class = "ph">Tosca Structure.gui</span>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>VECTOR</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= EVER</span></p><p>= FIRST</p></td>
<td class = "entry"><p>Update of the shape normal vectors occurs in every (<code class = "ph codeph">EVER</code>) or only in the first (<code class = "ph codeph">FIRST</code>) design cycle.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>USE_SOLVER_ELEMS</p></td>
<td class = "entry"><p>= YES | <span class = "ph uicontrol">NO</span></p></td>
<td class = "entry"><p>If Yes: Use solver element formulations instead own formulations. This will increase the number of FE solver calls.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>NODAL_MOVE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.1</span></p></td>
<td class = "entry"><p>Relative move limit of node-based optimization displacement per iteration. Value is between 0 and 1.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>NODAL_UPDATE</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= </span><span class = "ph uicontrol">CONSERVATIVE</span></p>
                      <p>= NORMAL</p>
	                  <p>= AGGRESSIVE </p></td>
<td class = "entry"><p>Parameter to determine how the nodal displacements are updated in the optimization algorithm.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_CONVERGENCE</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">AUTO</span> | YES | NO</p></td>
<td class = "entry"><p>Automatically create convergence stop criteria. For deactivation, select <code class = "ph codeph">NO</code>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_LEVEL</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= </span><span class = "ph uicontrol">BOTH</span></p>
                      <p>= SINGLE</p></td>
<td class = "entry"><p>Parameter if both (<code class = "ph codeph">BOTH</code>) or just one (<code class = "ph codeph">SINGLE</code>) of two stop criteria should be fulfilled.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_OBJ</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in objective function.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_DV</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.005</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in design variable values.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_ITER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 4</span></p></td>
<td class = "entry"><p>Parameter defining from which optimization iteration should the two criteria be checked.</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-topoCtrl"><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">Parameters for Controller-Based Topology Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph uicontrol">SPEED</span></p></td>
<td class = "entry"/>
<td class = "entry"><p><code class = "ph codeph">SPEED</code> size of increment.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= VERY_SLOW </p></td>
<td class = "entry"><p>Very small step size.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= SLOW</p></td>
<td class = "entry"><p>Small step size.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= MODERATE</p></td>
<td class = "entry"><p>Moderate step size.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= MEDIUM</p></td>
<td class = "entry"><p>Medium step size.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= FAST</p></td>
<td class = "entry"><p><code class = "ph codeph">FAST</code> large step size (only permitted in optimization of stiffness with volume constraint).</p></td>
</tr>





<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ITER,  &lt;<code class = "ph codeph">number_of_iterations</code>&gt;</p>
                      <p><span class = "ph uicontrol">= ITER,15</span></p></td>
<td class = "entry"><p>Step size is modified dynamically, so the optimization end after the given number of iterations.</p></td>
</tr>



<tr class = "row">
<td class = "entry"><p>START_DELETE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">operator</code>&gt;, &lt;<code class = "ph codeph">value</code>&gt;</p></td>
<td class = "entry"><p>Setting the volume that can be removed immediately in the first design cycle.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>&lt;<code class = "ph codeph">operator</code>&gt;</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= PERC</span></p></td>
<td class = "entry"><p>Specifying the volume in percent.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ABS</p></td>
<td class = "entry"><p>Specifying the absolute volume.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>&lt;<code class = "ph codeph">value</code>&gt;</p></td>
<td class = "entry"/>
<td class = "entry"><p>Volume that is deleted in the first design cycle.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>AUTO_FROZEN</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">LOAD</span></p></td>
<td class = "entry"><p>All loaded elements and elements with loaded nodes are excluded from the optimization by an automated
                      <code class = "ph codeph">DVCON_TOPO</code> <code class = "ph codeph">FROZEN</code> statement.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= OFF</p></td>
<td class = "entry"><p>Loaded elements are treated normally (are optimizable).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= SPC</p></td>
<td class = "entry"><p>Elements with boundary conditions are excluded from the optimization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ALL</p></td>
<td class = "entry"><p>All loaded elements and elements with loaded nodes and all with boundary conditions are excluded from the optimization by an automated
                      <code class = "ph codeph">DVCON_TOPO</code> <code class = "ph codeph">FROZEN</code> statement.</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-topoSens"><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">Parameters for Sensitivity-Based Topology Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>DENSITY_UPDATE</p></td>
<td class = "entry"/>
<td class = "entry"><p>Parameter for how the densities are updated in the optimization algorithm.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">NORMAL</span></p></td>
<td class = "entry"><p>Normal strategy.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONSERVATIVE</p></td>
<td class = "entry"><p>Conservative strategy.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= AGGRESSIVE</p></td>
<td class = "entry"><p>Aggressive strategy.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DENSITY_INITIAL</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.5</span></p></td>
<td class = "entry"><p>Initial value of relative density when no volume/ mass constraint has been set.
                         In case that a volume/ mass constraint exists and DENSITY_INITIAL is also defined by the user,
						 the initial density values determined by <span class = "ph">Tosca Structure</span>
					     based on the volume constraint will be overwritten</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DENSITY_UPPER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 1.0</span></p></td>
<td class = "entry"><p>Upper bound on design variables.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DENSITY_LOWER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Lower bound on design variables.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DENSITY_MOVE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.25</span></p></td>
<td class = "entry"><p>Move limit on design variables.</p></td>
</tr>
<tr class = "row">
     <td class = "entry"><p>MIN_INITIAL_DENSITY</p></td>
     <td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
     <td class = "entry"><p>MIN_INITIAL_DENSITY can be used optionally to ensure a minimum density when working with low
                         volume fractions. By default DENSITY_INITIAL is set to the value of the volume constraint, but
                         MIN_INITIAL_DENSITY can be used to enforce an upper threshold. </p>
                      <p>MIN_INITIAL_DENSITY = 0.10 is often a good setting. </p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_RADIUS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">radius</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 1.3* &lt;</span><span class = "ph uicontrol">average_element_edge_length</span><span class = "ph uicontrol">&gt;</span></p></td>
<td class = "entry"><p>Filter for mesh independence and minimum member size.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_TYPE</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= AUTO</span></p></td>
<td class = "entry"><p>Automatic selection of applied filter type in topology optimization as recommended by
                      <span class = "ph">Tosca Structure</span>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= SENS</p></td>
<td class = "entry"><p>The conventional filter applied for sensitivities in topology optimization. Recommended for <code class = "ph codeph">MAT_INTERPOLATION = SIMP</code></p>
                      </td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= DV</p></td>
<td class = "entry"><p>A new filter for design variables in topology optimization. Recommended for <code class = "ph codeph">MAT_INTERPOLATION = MIMP</code></p>
                      </td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= DV_LEGACY</p></td>
<td class = "entry"><p>Legacy filter option of design variables filter, use this option to achieve similar results to version 2020x and before.</p>
                      
</td>
</tr>


<tr class = "row">
<td class = "entry"><p>FILTER_GROUP</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">AUTO</span></p></td>
<td class = "entry"><p>Automatic selection of element groups to be filtered during topology optimization as recommended by
                      <span class = "ph">Tosca Structure</span></p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ALL</p></td>
<td class = "entry"><p>All elements are taken into account when filtering.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= DESIGN_AREA</p></td>
<td class = "entry"><p>Only the elements that are contained in the design area are taken into account when filtering.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_MANU</p></td>
<td class = "entry"><p>= YES | <span class = "ph uicontrol">NO</span></p></td>
<td class = "entry"><p>Filtering of manufacturing constraints. Set to NO to reproduce the behavior of older
                           releases.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_USE_VOL</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">YES</span> | NO</p></td>
<td class = "entry"><p>Filtering will take element volumes into account. Set to NO to reproduce the filter behavior of older releases.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_INTERPOLATION</p></td>
<td class = "entry"/>
<td class = "entry"><p>The material interpolation scheme (generally, the relation between relative density and
                         relative element stiffness, but also parameters effecting other physical properties and related settings).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= SIMP</p></td>
<td class = "entry"><p>Solid Isotropic Material with Penalization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= RAMP</p></td>
<td class = "entry"><p>Rational Approximation of Material Properties.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= PEDE</p></td>
<td class = "entry"><p>Niels-Pedersen based Approach.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= MIMP</p></td>
<td class = "entry"><p>Mass Interpolation Material Penalization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= 4_TH</p></td>
<td class = "entry"><p>Material interpolation using 4th-order polynomial. If this option is set the corresponding
                         factors must be provided using the commands
                         <code class = "ph codeph">MAT_0_TH_FACTOR, ... , MAT_4_TH_FACTOR</code>. </p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_0_TH_FACTOR</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.0</span></p></td>
<td class = "entry"><p>Coefficient of the 4th-order polynomial material interpolation, which corresponds to the power of 0 term.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_1_TH_FACTOR</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.0</span></p></td>
<td class = "entry"><p>Coefficient of the 4th-order polynomial material interpolation, which corresponds to the power of 1 term.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_2_TH_FACTOR</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.0</span></p></td>
<td class = "entry"><p>Coefficient of the 4th-order polynomial material interpolation, which corresponds to the power of 2 term.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_3_TH_FACTOR</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 3.0</span></p></td>
<td class = "entry"><p>Coefficient of the 4th-order polynomial material interpolation, which corresponds to the power of 3 term.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_4_TH_FACTOR</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.0</span></p></td>
<td class = "entry"><p>Coefficient of the 4th-order polynomial material interpolation, which corresponds to the power of 4 term.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAT_PENALTY</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 3.0</span></p></td>
<td class = "entry"><p>Penalty factor for interpolation scheme.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>PROCESSORS</p></td>
<td class = "entry"/>
<td class = "entry"><p>Number of CPU-processors for <span class = "ph">Abaqus</span>
                         in combination with sensitivity-based topology optimization and only when using the sensitivities calculated by
					     <span class = "ph">Tosca Structure</span> (SENS_CALC_MODE = TOSCA).</p>
                      <p>This option does NOT apply to SENS_CALC_MODE = SOLVER. <span class = "ph">Abaqus</span>
                         supports parallel execution for sensitivity calculation, see <span class = "ph">Abaqus</span> documentation for details. </p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p><span class = "ph uicontrol">= SINGLE</span></p></td>
<td class = "entry"><p><span class = "ph">Abaqus</span>
                         only, single CPU-processor in combination with sensitivity-based topology optimization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= MULTI</p></td>
<td class = "entry"><p><span class = "ph">Abaqus</span>
                         only, several CPU-processors in combination with sensitivity-based topology optimization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_CONVERGENCE</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">AUTO</span> | YES | NO</p></td>
<td class = "entry"><p>Automatically create convergence stop criteria. For deactivation, select <code class = "ph codeph">NO</code>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_LEVEL</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">BOTH</span></p>
                      <p>= SINGLE</p></td>
<td class = "entry"><p>Parameter if both (<code class = "ph codeph">BOTH</code>) or just one (<code class = "ph codeph">SINGLE</code>) of two stop criteria should be fulfilled.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_OBJ</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in objective function.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_DENSITY</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.005</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in element densities.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_ITER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 4</span></p></td>
<td class = "entry"><p>Parameter defining from which optimization iteration should the two criteria be checked.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SOFT_DELETE_METHOD</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">method</code>&gt;, &lt;<code class = "ph codeph">soft_delete_threshold_value</code>&gt;</p></td>
<td class = "entry"><p>Method selection for <code class = "ph codeph">SOFT_DELETE</code>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>&lt;<code class = "ph codeph">method</code>&gt;</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">STANDARD</span></p></td>
<td class = "entry"><p>Removal of elements is done ensuring that there are no detached and floating elements caused by the soft delete.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= AGGRESSIVE</p></td>
<td class = "entry"><p>Removal of elements is done based on the rel. density without detachment checks.
                         In this case, detached and floating elements can be caused by the soft delete.
                         Some solvers have problems dealing with such elements but not the <span class = "ph">Abaqus</span> solver.
                         Note that check of elements in &lt;<code class = "ph codeph">radius</code>&gt; will still be performed but this procedure is independent of detachment checks.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= MAX_SHEAR_STRAIN</p></td>
<td class = "entry"><p>Removal of elements is based on maximum elemental shear strain (with positive shear threshold).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= MIN_PRINCIPAL_STRAIN</p></td>
<td class = "entry"><p>Removal of elements based on minimal elemental principal strain (with negative minimum principal threshold).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= PLASTICITY</p></td>
<td class = "entry"><p>Removal of elements based on maximum effective equivalent plastic strain (PEEQ) in <span class = "ph">Abaqus</span>) (only to use with elastic-plastic constitutive material law).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= VOLUME_CHANGE</p></td>
<td class = "entry"><p>Removal of elements based on the minimum relative deformed elemental volume ((Vdeform - Vorg) / Vorg) with negative threshold value.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>&lt;<code class = "ph codeph">soft_delete_threshold_value</code>&gt;</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">value</code>&gt;</p></td>
<td class = "entry"><p>Relative material density value for identification of elements to be removed (element with a value below will be removed from the finite element calculation file).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p><span class = "ph uicontrol">= 0.05</span></p></td>
<td class = "entry"><p>For <code class = "ph codeph">METHOD = STANDARD</code> or <code class = "ph codeph">AGGRESSIVE</code>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>no default value</p></td>
<td class = "entry"><p>For all other methods.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SOFT_DELETE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">el_group</code>&gt;, &lt;<code class = "ph codeph">radius</code>&gt;</p></td>
<td class = "entry"/>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>&lt;<code class = "ph codeph">el_group</code>&gt;</p></td>
<td class = "entry"><p>Name of the element group in which the soft elements should be deleted during optimization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p> &lt;<code class = "ph codeph">radius</code>&gt;</p></td>
<td class = "entry"><p> For <code class = "ph codeph">METHOD = STANDARD</code> or <code class = "ph codeph">AGGRESSIVE</code>, the default of this value
                          is the average element edge length of the model. User-defined  value is
                          considered to be an absolute one. This means that the corresponding units
                          should be taken into account. If any of the elements enclosed in the
                          sphere spanned by the &lt;<code class = "ph codeph">radius</code>&gt; has a relative
                          density higher than the
                          &lt;<code class = "ph codeph">soft_delete_threshold_value</code>&gt;, the element in
                          origin will not be deleted.</p></td>
</tr>

<tr class = "row">
<td class = "entry"><p>SOLID_VOID_POST_STRATEGY</p></td>
<td class = "entry"><p>= DENSITY_MEASURE</p></td>
<td class = "entry"><p>To enforce clearer material distribution, this option can be activated.
                         This will cause extra iterations of the optimization procedure, which are performed
                         after convergence has been detected. Only supported for MIN or MAX objectives.</p>
                       </td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">NO</span></p></td>
<td class = "entry"><p>No further action is taken to enforce a clear material distribution.</p>
</td>
</tr>



<tr class = "row">
<td class = "entry"><p>AUTO_FROZEN</p></td>
<td class = "entry"/>
<td class = "entry"/>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p><span class = "ph uicontrol">= </span><span class = "ph uicontrol">LOAD</span></p></td>
<td class = "entry"><p>All loaded elements and elements with loaded nodes are excluded from the optimization by an
                         automated <code class = "ph codeph">DVCON_TOPO</code>
                         <code class = "ph codeph">FROZEN</code> statement.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= OFF</p></td>
<td class = "entry"><p>Loaded elements are treated normal (are optimizable).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= SPC/BC</p></td>
<td class = "entry"><p>Elements with boundary conditions are excluded from the optimization </p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ALL</p></td>
<td class = "entry"><p>All loaded elements and elements with loaded nodes and all with boundary conditions are excluded from the optimization by an
                         automated <code class = "ph codeph">DVCON_TOPO</code> <code class = "ph codeph">FROZEN</code> statement.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>AUTO_FROZEN_CON</p></td>
<td class = "entry"/>
<td class = "entry"/>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONTACT</p></td>
<td class = "entry"><p>Freeze elements and nodes with contact conditions.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONNECTOR</p></td>
<td class = "entry"><p>Freeze elements and nodes that are attached to connectors.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ALL</p></td>
<td class = "entry"><p>Freeze elements and nodes with contact conditions and elements and nodes that are attached to connectors.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">OFF</span></p></td>
<td class = "entry"><p>Do not freeze elements and nodes with contact conditions and elements and nodes that are attached to connectors.</p></td>
</tr>




<tr class = "row">
<td class = "entry"><p>STRESS_DRESP_OPT</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">YES</span> | NO</p> </td>
<td class = "entry"><p>For topology optimization with stress constraints the optimizer will use conservative update scheme automatically.</p>
                      <p>The maximum number of design cycles is set to ITER_MAX = 80, and the move limit DENSITY_MOVE = 0.1</p>
                      <p>To avoid these automatic settings, use STRESS_DRESP_OPT = NO.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STRESS_DRESP_ITER</p></td>
<td class = "entry"><p> = &lt;<code class = "ph codeph">int_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 4</span></p></td>
<td class = "entry"><p>Parameter defining for how many initial optimization iterations precise sensitivity of stress
                         DRESPs is calculated. In the following optimization iterations, the corresponding
                         sensitivity is approximated. For precise stress sensitivity calculation, the
                         solver is called twice, which can be time consuming. </p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STABILIZATION</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= NO</span></p>
                      <p> = YES</p></td>
<td class = "entry"><p>When minimizing structural volume or mass, the mathematical optimization problem can be
                         ill-posed, leading to convergence issues. Stabilization
                         can be activated to improve convergence behavior.
                         <div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">This option will have an effect on the
                         optimization only if the volume or mass is used as
                         an objective and if at least one of the
                         constraints is defined based on a static <span class = "ph">load case</span>.</span></div>
</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>UPDATE_CONVECTION</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">THERMAL_OPT</span></p></td>
<td class = "entry"><p>The convection is modified modified to include new surfaces generated during the
                         optimization only if a thermal design response is included in the optimization formulation (<code class = "ph codeph">OPTIMIZE</code>).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= EVER</p></td>
<td class = "entry"><p>The convection is always modified to include new surfaces generated during the optimization.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= NEVER</p></td>
<td class = "entry"><p>The convection is not modified during the optimization iterations.
                         Therefore, the original convection is kept and used for all iterations during the optimization.</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-sizeSens"><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">Parameters for Sensitivity-Based Sizing Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>THICKNESS_INITIAL</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 1.0</span></p></td>
<td class = "entry"><p>Scaling factor of the initial thicknesses when no volume/ mass constraint has been set.
                         In case that a volume/ mass constraint exists and THICKNESS_INITIAL is also defined by the user,
						  the initial thickness values determined by <span class = "ph">Tosca Structure</span>
					     based on the volume constraint will be overwritten.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>THICKNESS_UPDATE</p></td>
<td class = "entry"/>
<td class = "entry"><p>Parameter for how the thicknesses are updated in the optimization algorithm.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">NORMAL</span></p></td>
<td class = "entry"><p>Normal strategy.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONSERVATIVE</p></td>
<td class = "entry"><p>Conservative strategy.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= AGGRESSIVE</p></td>
<td class = "entry"><p>Aggressive strategy.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>THICKNESS_MOVE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.25</span></p></td>
<td class = "entry"><p>Move limit on design variables.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_RADIUS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">radius</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.0</span></p></td>
<td class = "entry"><p>Filter for mesh independence and minimum member size.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FILTER_USE_VOL</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">YES</span> | NO</p></td>
<td class = "entry"><p>Filtering will take element volumes into account. Set to NO to reproduce the filter behavior of older releases.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_CONVERGENCE</p></td>
<td class = "entry"><p><span class = "ph uicontrol">= </span><span class = "ph uicontrol">AUTO</span> | YES | NO</p></td>
<td class = "entry"><p>Automatically create convergence stop criteria. For deactivation, select <code class = "ph codeph">NO</code>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_LEVEL</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">BOTH</span></p>
                      <p>= SINGLE</p></td>
<td class = "entry"><p>Parameter if both (<code class = "ph codeph">BOTH</code>) or just one (<code class = "ph codeph">SINGLE</code>) of two stop criteria should be fulfilled.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_OBJ</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in objective function.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_THICKNESS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.005</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in element densities.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_ITER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 4</span></p></td>
<td class = "entry"><p>Parameter defining from which optimization iteration should the two criteria be checked.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>AUTO_FROZEN</p></td>
<td class = "entry"/>
<td class = "entry"/>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= LOAD</p></td>
<td class = "entry"><p>All loaded elements and elements with loaded nodes are excluded from the optimization by an automated <code class = "ph codeph">DVCON_TOPO</code> <code class = "ph codeph">FROZEN</code> statement.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p><span class = "ph uicontrol">= OFF</span></p></td>
<td class = "entry"><p>Loaded elements are treated normal (are optimizable).</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= SPC/BC</p></td>
<td class = "entry"><p>Elements with boundary conditions are excluded from the optimization </p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ALL</p></td>
<td class = "entry"><p>All loaded elements and elements with loaded nodes and all with boundary conditions are excluded from the optimization by an automated
                      <code class = "ph codeph">DVCON_TOPO</code> <code class = "ph codeph">FROZEN</code> statement.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>AUTO_FROZEN_CON</p></td>
<td class = "entry"/>
<td class = "entry"/>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONTACT</p></td>
<td class = "entry"><p>Freeze elements and nodes with contact conditions.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONNECTOR</p></td>
<td class = "entry"><p>Freeze elements and nodes that are attached to connectors.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= ALL</p></td>
<td class = "entry"><p>Freeze elements and nodes with contact conditions and elements and nodes that are attached to connectors.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">OFF</span></p></td>
<td class = "entry"><p>Do not freeze elements and nodes with contact conditions and elements and nodes that are attached to connectors.</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-ctrlBead"><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">Parameters for Controller-Based Bead Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">

<tr class = "row">
<td class = "entry"><p>VECTOR</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">FIRST</span></p>
                      <p>=EVER</p></td>
<td class = "entry"><p>Update of the optimization displacement vector occurs in the first or in each design cycle.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SCALE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
<td class = "entry"><p>Definition of the direction of the optimization displacement.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>BEAD_WIDTH</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p></td>
<td class = "entry"><p>Bead wide.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>BEAD_ITER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">int_value</code>&gt;</p></td>
<td class = "entry"><p>Definition of the number of iterations.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>BEAD_MIN_STRESS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Value, relative to the highest von Mises stress in the design area, under which, no optimization should be performed. Value between 0.0 and 1.0, where 1.0 is equal the highest von Mises stress. </p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>BEAD_MAX_MEMBRANE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 1.0</span></p></td>
<td class = "entry"><p>Value of the maximal membrane stress relative to maximal bending stress in original model under which no optimization is performed. Value is greater than 0.</p></td>
</tr>







<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= CONTINUOUS</p></td>
<td class = "entry"><p>Sorting filter values by the bending loads.</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>= <span class = "ph uicontrol">DISCRETE</span></p></td>
<td class = "entry"><p>Filtering whole design area.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CURV_SMOOTH</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">elem_edge_length</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 5.0</span></p></td>
<td class = "entry"><p>Filtering the normals, effect for curved geometries. Value is relative to the medium element edge length.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>BEAD_NODE_SMOOTH</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.25 </span>(of <code class = "ph codeph">BEAD_WIDTH</code>)</p></td>
<td class = "entry"><p>This defines the minimum distance between a node at zero optimization displacement and one at maximal bead height. </p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-sensBead"><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">Parameters for Sensitivity-Based Bead Optimization</h2>

<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>FILTER_RADIUS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;, ABS</p>
                      <p>= &lt;<code class = "ph codeph">real_value</code>&gt;, REL</p>
                      <p><span class = "ph uicontrol">= 4.0, REL</span></p></td>
<td class = "entry"><p>Radius with which the sensitivities are filtered.</p>
                      <p><code class = "ph codeph">REL</code> is relative to medium edge length of elements in the design area.
                        Values might also be set absolute (<code class = "ph codeph">ABS</code>). </p>
                      
                      
                      </td>
</tr>



<tr class = "row">
<td class = "entry"><p>ONLY_DES_NODES</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">YES</span></p>
                      <p>= NO</p></td>
<td class = "entry"><p>Calculate sensitivities for only design nodes (<code class = "ph codeph">YES</code>) or all nodes (<code class = "ph codeph">NO</code>) which is not recommended.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>NODAL_MOVE</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.1</span></p></td>
<td class = "entry"><p>Relative move limit of node-based optimization displacement per iteration. Value is between 0 and1.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>NODAL_UPDATE</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">CONSERVATIVE</span></p>
                      <p>= NORMAL</p>
	                  <p>= AGGRESSIVE </p></td>
<td class = "entry"><p>Parameter for how the nodal displacements are updated in the optimization algorithm.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>PERTURBATION</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.0001</span></p></td>
<td class = "entry"><p>Sets perturbation size for finite differences (relative to medium element edge length).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_CONVERGENCE</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">AUTO</span> | YES | NO</p></td>
<td class = "entry"><p>Automatically create convergence stop criteria. For deactivation, select <code class = "ph codeph">NO</code>.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_LEVEL</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">BOTH</span></p>
                      <p>= SINGLE</p></td>
<td class = "entry"><p>Parameter if both (<code class = "ph codeph">BOTH</code>) or just one (<code class = "ph codeph">SINGLE</code>) of two stop criteria should be fulfilled.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_OBJ</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.001</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in objective function.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_DV</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 0.005</span></p></td>
<td class = "entry"><p>Stop criterion based on the change in design variable values.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STOP_CRITERION_ITER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real_value</code>&gt;</p>
                      <p><span class = "ph uicontrol">= 4</span></p></td>
<td class = "entry"><p>Parameter defining from which optimization iteration should the two criteria be checked.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>VECTOR</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">FIRST</span></p>
                      <p>=EVER</p></td>
<td class = "entry"><p>Update of the optimization displacement vector occurs in the first or in each design cycle.</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-rmk"><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">Remarks</h2>

<ol class = "ol">
<li class = "li">
As the form of the component changes during optimization the shape basis vector must be continually adjusted. The settings <code class = "ph codeph">VECTOR=FIRST</code> is only to be used when a node displacement along the initial vector is explicitly required.</li>
<li class = "li"><code class = "ph codeph">SCALE</code> is the direction of the optimization displacement. 1.0 for the same direction as the surface normals, -1 for the opposite.</li>
<li class = "li"><code class = "ph codeph">MODETRACKING</code> can be activated for a specific node group (for example, every fifth node on the surface). This results in a significant gain of performance.</li>
<li class = "li">Changing the filter type for topology optimization might have no effect when manufacturing constraints are present because certain restrictions require specific types that will be used regardless of user selection.</li>
</ol>
</div>

<div class = "section" id = "tso-r-cmd-optParam__tso-r-cmd-optParam-expl"><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">Examples</h2>

<pre class = "codeblock">
<code class = "ph codeph">
OPT_PARAM
  ID_NAME         = optimization_control
  OPTIMIZE        = bead_optimization
  SCALE           = - 1.0
  BEAD_MIN_STRESS = 0.01
END_
</code>
</pre>
</div>


</div>

<div class = "related-links"/>
</td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
