<?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 = "task"/><meta name = "abstract" content = "The actual model shows the main parts of a sizing optimization task: Definition of design variables, constraints, and objective function."/><meta name = "description" content = "The actual model shows the main parts of a sizing optimization task: Definition of design variables, constraints, and objective function."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-sizing-beam2DOptimize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Optimizing the Beam2D Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-sizing-beam2DOptimize">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Optimizing the Beam2D Model</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 actual model shows the main parts of a sizing optimization
task: Definition of design variables, constraints, and objective function.
</span>
 
<ol class = "ol">
<li class = "li">Define the Design Area.</li>
<li class = "li">Define the thickness bounds.</li>
<li class = "li">Define the Objective Function.</li>
<li class = "li">Define the volume constraint.</li>
<li class = "li">Set the Optimization Task.</li>
<li class = "li">(optional) Define clustering elements.</li>
</ol> 
</p>

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



<div class = "body taskbody"> 
<section><ol class = "ol steps"><li class = "li step stepexpand"> 
 Define the Design Areas (DV_SIZING): 
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
DV_SIZING
 ID_NAME  = design_variables
 EL_GROUP = ALL_ELEMENTS
END_
</pre> 
</div> 
</li><li class = "li step stepexpand"> 
 Define the thickness bounds for the shell thicknesses in a Design
Variable Constraint (DVCON_SIZING):  
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
DVCON_SIZING
 ID_NAME     = DVCON_SIZING
 EL_GROUP    = P1
 CHECK_TYPE  = THICKNESS_BOUNDS
 MAGNITUDE   = ABS
 LOWER_BOUND = 0.1
 UPPER_BOUND = 2.0
END_
</pre> 
<p>The lower and upper bounds for the shell thicknesses are defined
as absolute values (MAGNITUDE = ABS. </p> 
</div> 
</li><li class = "li step stepexpand"> 
 To define the Objective Function, do the following:  
<ol type = "a" class = "ol substeps"> 
<li class = "li substep"> 
 Define a Design Response (DRESP) with the compliance for the
model: 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
 ID_NAME    = DRESP_SUM_ENERGY
 DEF_TYPE   = SYSTEM
 TYPE       = STRAIN_ENERGY
 EL_GROUP   = ALL_ELEMENTS
 GROUP_OPER = SUM
END_
</pre>
</div> 
</li> 
<li class = "li substep"> 
 Reference the Design Response in the Objective Function
(OBJ_FUNC) and set the TARGET to minimize: 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
 ID_NAME = maximize_stiffness
 DRESP   = DRESP_SUM_ENERGY
 TARGET  = MIN
END
</pre> 
<p>The response is minimized and the stiffness is maximized.</p> 
</div> 
</li> 
</ol> 
</li><li class = "li step stepexpand"> 
 To define the volume constraint, do the following:  
<ol type = "a" class = "ol substeps"> 
<li class = "li substep"> 
 Define a Design Response (DRESP) that contains the sum of the
total volume of the optimization group: 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME    = DRESP_VOL_SIZING
  DEF_TYPE   = SYSTEM
  TYPE       = VOLUME
  EL_GROUP   = ALL_ELEMENTS
  GROUP_OPER = SUM
END_
</pre>
</div> 
</li> 
<li class = "li substep"> 
 Reference the Design Response in a constraint (CONSTRAINT)
and restrict it to 50 % of initial volume: 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
 ID_NAME   = volume_constraint
 DRESP     = DRESP_VOL_SIZING
 MAGNITUDE = REL
 LE_VALUE  = 0.5
END_
</pre> 
</div> 
</li> 
</ol> 
</li><li class = "li step stepexpand">
     Reference the Design Variables, Objective Function, and constraints in the OPTIMIZE
     command: 
    <div class = "itemgroup stepresult">
     <pre class = "codeblock">
OPTIMIZE
 ID_NAME    = SIZING
 STRATEGY   = SIZING
 DV         = DESIGN_VARIABLES
 OBJ_FUNC   = MAXIMIZE_STIFFNESS
 CONSTRAINT = VOLUME_CONSTRAINT
 DVCON      = DVCON_SIZING
END_
</pre>
     <p>The optimization task above performs a free change of each single shell thickness.</p>
     <p>The optimization result shows a varying shell thickness over the model. This can be used as
      a hint for clustering (that is, where to create borders between single sheets of the same
      thickness): <br/><img class = "image" src = "../TsoExampleImages/sizingbeam2DResultNoClust.png"/><br/></p>
    </div>
   </li><li class = "li step stepexpand"> 
 (optional) If you want to enforce certain areas to obtain the
same shell thickness, you can cluster the elements in these areas. To define
clustering areas, do the following: 
<ol type = "a" class = "ol substeps"> 
<li class = "li substep"> 
 Define an element group (EL_SET_1, EL_SET_2,... (predefined
in the example model)) for each of the clustering areas and assign them to a
clustering design variable constraint as follows: 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_SIZING
 ID_NAME    = CLUSTERING
 EL_GROUP   = EL_SET_1
 EL_GROUP   = EL_SET_2
 EL_GROUP   = EL_SET_3
 EL_GROUP   = EL_SET_4
 EL_GROUP   = EL_SET_5
 CHECK_TYPE = CLUSTER
END_
</pre>
</div> 
</li> 
<li class = "li substep"> 
 Reference the new Design Response in the OPTIMIZE command: 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPTIMIZE
 ID_NAME = SIZING
 ...
 DVCON   = CLUSTERING
END_
</pre> 
<p>The optimization result shows a very uniform thickness
distribution: 
<br/><img class = "image" src = "../TsoExampleImages/sizingBeam2DResultClust.png"/><br/></p> 
</div> 
</li> 
</ol> 
</li></ol></section> 
</div>
 
</td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
