<?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-ContPlateOptimize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Optimize the Punch Plate Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-sizing-ContPlateOptimize">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1> Optimize the Punch Plate 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 Objective Function. </li> 
<li class = "li">Define the volume constraint. </li> 
<li class = "li">Set the Optimization Task. </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 Area (DV_SIZING):  
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
DV_SIZING
 ID_NAME = "Sizing_Task_DESIGN_AREA_"
 EL_GROUP = PART-1-1_PLATE
END_
</pre> 
</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 compliance of the
plate.  
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
DRESP
 ID_NAME    = COMPL
 LIST       = NO_LIST
 DEF_TYPE   = SYSTEM
 TYPE       = STRAIN_ENERGY
 EL_GROUP   = ALL_ELEMENTS
 GROUP_OPER = SUM
 LC_SET     = ALL, 2, 2
END_
</pre> 
</div> 
</li> 
<li class = "li substep"> 
 Reference the Design Response in the Objective Function
(OBJ_FUNC) and set the TARGET to MIN:  
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
OBJ_FUNC
 ID_NAME = MIN_C
 DRESP   = COMPL, 1.
 TARGET  = MIN
END_
</pre> 
<p>The compliance is minimized, so the stiffness of the model
will be 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    = VOL
 LIST       = NO_LIST
 DEF_TYPE   = SYSTEM
 TYPE       = VOLUME
 EL_GROUP   = PART-1-1_PLATE
 GROUP_OPER = SUM
END_
</pre> 
</div> 
</li> 
<li class = "li substep"> 
 Reference the Design Response in a constraint (CONSTRAINT)
and restrict it to 90% of initial volume:  
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
CONSTRAINT
 ID_NAME   = MAX_VOL
 DRESP     = VOL
 MAGNITUDE = REL
 LE_VALUE  = 0.9
END_
</pre> 
</div> 
</li> 
</ol> 
</li><li class = "li step stepexpand"> 
 Set up the optimization.  
<ol type = "a" class = "ol substeps"> 
<li class = "li substep"> 
 Reference the Design Variables, Objective Function, and
constraints in the OPTIMIZE command: 
 
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
OPTIMIZE
 ID_NAME    = "Sizing_Task"
 DV         = "Sizing_Task_DESIGN_AREA_"
 OBJ_FUNC   = MIN_C
 CONSTRAINT = MAX_VOL
 STRATEGY   = SIZING_SENSITIVITY
END_
</pre> 
</div> 
</li> 
<li class = "li substep"> 
 Define specific settings for optimization in the OPT_PARAM
command:  
<div class = "itemgroup stepresult"> 
<pre class = "codeblock">
OPT_PARAM
 ID_NAME                  = "Sizing_Task_OPT_PARAM_"
 OPTIMIZE                 = "Sizing_Task"
 AUTO_FROZEN              = OFF
 THICKNESS_UPDATE         = CONSERVATIVE
 THICKNESS_MOVE           = 0.1
 STOP_CRITERION_LEVEL     = BOTH
 STOP_CRITERION_OBJ       = 0.001
 STOP_CRITERION_THICKNESS = 0.005
 STOP_CRITERION_ITER      = 4
END_
</pre> 
<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">Optimization with nonlinearities should
run with 
<code class = "ph codeph">THICKNESS_UPDATE = CONSERVATIVE</code> and 
<code class = "ph codeph">THICKNESS_MOVE = 0.1</code> to improve convergence.
In addition, 
<code class = "ph codeph">AUTO_FROZEN = OFF</code> is needed as well because
the optimizing plate has contact interaction and is seen load by <span class = "ph">Tosca</span>, so with
the option set to 
<code class = "ph codeph">LOAD</code> no optimization would be possible. 
</span></td></tr></table>
 
</div> 
</li> 
</ol> 
</li><li class = "li step stepexpand">

<ol type = "a" class = "ol substeps"> 
<li class = "li substep"> 
 Optimum with contact interaction:  
<div class = "itemgroup stepresult"> 
<br/><img class = "image" src = "../TsoExampleImages/sizingPunchPlateContact.png"/><br/> 
</div> 
</li> 
</ol> 
</li></ol></section> 
</div>
 
</td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
