<?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 = "In Tosca Structure, two principle algorithms exist for solving topology optimization problems: The controller-based optimality criteria approach and the general, sensitivity-based approach."/><meta name = "description" content = "In Tosca Structure, two principle algorithms exist for solving topology optimization problems: The controller-based optimality criteria approach and the general, sensitivity-based approach."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-user-TopOpt-OptTask-ContrVSSens"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Controller- Versus Sensitivity-Based Topology Optimization</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-user-TopOpt-OptTask-ContrVSSens">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Controller- Versus Sensitivity-Based 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">
In <span class = "ph">Tosca Structure</span>,
two principle algorithms exist for solving topology optimization problems: <span class = "ph uicontrol">The controller-based optimality
criteria approach</span> and the general, <span class = "ph uicontrol">sensitivity-based
approach</span>.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-user-TopOpt-OptTask-ContrVSSens__tso-c-user-TopOpt-OptTask-ContrVSSens-ObjConstr-Contr" id = "toc_rg" title = "">Objective Functions and Constraints for Controller-Based Algorithm</a></li><li><a href = "#tso-c-user-TopOpt-OptTask-ContrVSSens__tso-c-user-TopOpt-OptTask-ContrVSSens-ObjConstr-Sens" id = "toc_rg" title = "">Objective Functions and Constraints for Sensitivity-Based Algorithm</a></li></ul>
</p></td></tr></table></td></tr></table>




<div class = "body conbody">
<p> Both algorithms have the special application area and both are useful for different types of
      optimization tasks. The main difference is the method for solving the problem, and also the
      type of design responses that can be used to formulate the optimization problem. Depending on
      the optimization task defined by the user, <span class = "ph">Tosca Structure</span> decides which algorithm is the best to solve the problem.</p><p>Some of the main differences between sensitivity-based optimization
algorithm and controller-based algorithm are the following:</p>

  <table class = "table"><caption/><colgroup><col style = "width:20%"/><col style = "width:40%"/><col style = "width:40%"/></colgroup><thead class = "thead">
        <tr class = "row">
          <th class = "entry" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__1"> Property </th>
          <th class = "entry" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__2"> Sensitivity-based optimization </th>
          <th class = "entry" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__3"> Controller-based optimization </th>
        </tr>
      </thead><tbody class = "tbody">
        <tr class = "row">
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__1"> Elements with intermediate densities (gray elements)</td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__2">
            <ul class = "ul"><li class = "li">Has some elements in the final design containing intermediate
            densities (gray elements).</li></ul></td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__3">
            <ul class = "ul"><li class = "li">Leads
            to the elements being either void (density very close to zero) or solid
            (density equal to one) in the final design.</li></ul> </td>
        </tr>
        <tr class = "row">
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__1"> Number of optimization iterations</td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__2">
            <ul class = "ul"><li class = "li">The number of iterations is unknown before the
            optimization starts, but normally the number of optimization iterations
            is around 30 to 45.
          </li></ul></td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__3">
            <ul class = "ul"><li class = "li">Uses 15 optimization iterations by default.
          </li></ul></td>
        </tr>
        <tr class = "row">
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__1"> Analysis types</td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__2">
            <ul class = "ul"><li class = "li">Supports the responses of linear static (nonconservative forces) and linear eigenfrequency (not
                  allowed to be prestressed) finite element analysis. <span class = "ph"> Constant temperature
                    loading is allowed for <span class = "ph">ANSYS®</span>, <span class = "ph">MSC Nastran®</span> and <span class = "ph">Abaqus</span>. </span></li><li class = "li">Supports geometrical nonlinearities (<code class = "ph codeph">NLGEOM</code>)
            and contact for <span class = "ph">Abaqus</span>
                and <span class = "ph">ANSYS®</span>.</li>
              <li class = "li">Some nonlinear materials are also supported.</li>
              <li class = "li">Prescribed displacements are allowed in the CAE model for static topology
            optimization. However, prescribed displacements are not allowed for modal
            analysis.</li>
            <li class = "li">Generally, laminate materials (layup and layer orientation) cannot
            be designed in topology optimization. However, elements with a single layer 
            are allowed for <span class = "ph">MSC Nastran®</span>
            and <span class = "ph">Abaqus</span>.
          </li>
            </ul>
             </td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__3">
            <ul class = "ul">
              <li class = "li">Supports nonlinear static analysis such as contact simulation, even when the
                  contact zones are on the surfaces of the design space.</li>
              <li class = "li">Von Mises stresses to have valid and nonconstant values over the optimization
                  area.</li>
            </ul></td>
        </tr>
        <tr class = "row">
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__1"> Objective and constraint types</td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__2">
            <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 on the stiffness, displacements, reaction forces,
                  internal forces, eigenfrequencies, and material volume (material weight). </li></ul></td>
          <td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__entry__3">
            <ul class = "ul"><li class = "li">Has the compliance as
            objective and the material volume as an equality constraint.
          </li></ul></td>
        </tr>
      </tbody></table>


<div class = "section" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__tso-c-user-TopOpt-OptTask-ContrVSSens-ObjConstr-Contr"><h2 class = "title sectiontitle">Objective Functions and Constraints for Controller-Based Algorithm</h2>

<p>In topology optimization, a variety of combinations of objective functions
and constraints can be selected. Standard formulation using the efficient
controller-based optimality criteria algorithm is:</p>

<table class = "table" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__ag537290"><caption/><colgroup><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__ag537290__entry__1"><p><span class = "ph uicontrol">Objective function</span></p></th>
<th class = "entry" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__ag537290__entry__2"><p><span class = "ph uicontrol">Constraint</span></p></th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__ag537290__entry__1"><p>Maximize stiffness</p></td>
<td class = "entry" headers = "tso-c-user-TopOpt-OptTask-ContrVSSens__ag537290__entry__2"><p>Volume constraint</p></td>
</tr>
</tbody></table>





<p>All other types of objective functions and constraints can be applied
using the sensitivity-based algorithm. </p></div>

<div class = "section" id = "tso-c-user-TopOpt-OptTask-ContrVSSens__tso-c-user-TopOpt-OptTask-ContrVSSens-ObjConstr-Sens"><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">Objective Functions and Constraints for Sensitivity-Based Algorithm</h2><p>The following list shows
which terms and response types are valid for the objective function and
the constraints using the sensitivity-based algorithm:</p>
<ul class = "ul">
  <li class = "li">Center of gravity</li>
  <li class = "li">Displacement (absolute or relative)</li>
  <li class = "li">von Mises Stress</li>
  <li class = "li">Moment of inertia</li>
  <li class = "li">Rotations</li>
  <li class = "li">Reaction forces (absolute or relative)</li>
  <li class = "li">Reaction moments (absolute or relative)</li>
  <li class = "li">Internal forces (absolute or relative)</li>
  <li class = "li">Internal moments (absolute or relative)</li>
  <li class = "li">Eigenfrequencies</li>
  <li class = "li">Material Volume</li>
  <li class = "li">Total stiffness</li>
  </ul>



<p>Several constraints and several terms for the objective function can
be specified.</p></div>
</div>

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