<?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 = "..."/><meta name = "description" content = "..."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-bead-hoodsens-surfplaneOptimize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Optimizing the Hood Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-bead-hoodsens-surfplaneOptimize">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Optimizing the Hood 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">... 
</span>

</p>

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



 <div class = "body taskbody">
<section><ol class = "ol steps"><li class = "li step stepexpand">
        Enable reading all boundary conditions from the FE file:
        <div class = "itemgroup stepresult">
          <pre class = "codeblock">
OPTIONS
  READ_BC = ALL
END_
</pre>
        </div>
      </li><li class = "li step stepexpand">
Select the respective FE file and define design variables:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
FEM_INPUT
  ID_NAME  = OPTIMIZATION_MODEL
  FILE     = hood.inp
END_	   
		   
DV_BEAD	   
  ID_NAME  = DESIGN_VARIABLES
  ND_GROUP = ALL_NODES
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Create two Compliance Design Responses (DRESP) for the <span class = "ph">load cases</span>:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
 ID_NAME    = dresp_compliance_1
 DEF_TYPE   = SYSTEM
 EL_GROUP   = ALL_ELEMENTS
 TYPE       = STRAIN_ENERGY
 GROUP_OPER = SUM
 UPDATE     = EVER
 LC_SET     = STATIC,1,ALL
END_

DRESP
 ID_NAME    = dresp_compliance_2
 DEF_TYPE   = SYSTEM
 EL_GROUP   = ALL_ELEMENTS
 TYPE       = STRAIN_ENERGY
 GROUP_OPER = SUM
 UPDATE     = EVER
 LC_SET     = STATIC,2,ALL
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Reference the Design Responses in the Objective Function (OBJ_FUNC):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
 ID_NAME = minimize_compliance
 DRESP   = dresp_compliance_1, 1.0
 DRESP   = dresp_compliance_2, 1.0
 TARGET  = MIN
END_
</pre>
<p>Here the weighting for both design responses is 1.0. </p>
</div>
</li><li class = "li step stepexpand">
Define a DVCON_BEAD for the growths limits of the beads:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_BEAD
  ID_NAME      = dvcon_bead_height
  CHECK_BC     = NO
  ND_GROUP     = ALL_NODES
  CHECK_GROW   = 0.5
  CHECK_SHRINK = 0.5
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Accept all boundary conditions read from the FE file with a DVCON_BEAD:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_BEAD
  ID_NAME  = dvcon_fix_spc
  ND_GROUP = ALL_NODES
  CHECK_BC = YES
END_
</pre>
</div>
</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  = BEAD_OPTIMIZATION
  DV       = DESIGN_VARIABLES
  OBJ_FUNC = minimize_compliance
  DVCON    = dvcon_fix_spc
  DVCON    = dvcon_bead_height
  STRATEGY = BEAD_SENSITIVITY
END_
</pre>
<p>The result looks as follows:</p>
<p><br/><img class = "image" src = "../TsoExampleImages/hoodsens_surfplanesym_result_unsym.png" width = "600"/><br/></p>
<p>The optimization result is however not symmetric in the center and at the top.</p>
</div>
</li><li class = "li step stepexpand">
To enforce plane symmetry, do the following:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a coordinate system (CS_DEF) on the symmetry plane:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CS_DEF
 ID_NAME      = MY_CS
 DEF_TYPE     = LOCAL
 CS_TYPE      = RECTANGULAR
 CS_REF       = CS_0
 ORIGIN_123   = 5.0, 0.0, 10.0
 ROTATION_321 = 0.0, 0.0, 0.0
END_
</pre>
</div>
</li>
<li class = "li substep">
The normal of the symmetry plane is the 3rd axis of the coordinate system. Thus, define the following link condition (LINK_BEAD):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
LINK_BEAD
  ID_NAME    = link_bead_plane_sym
  TYPE       = PLANE_SYM
  CLIENT_DIR = 0., 0., 1.
  CS         = SYM_CS
END_
</pre>
</div>
</li>
<li class = "li substep">
Reference the link condition in a Design Variable Constraint (DVCON_BEAD):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_BEAD
  ID_NAME    = dv_plane_sym
  ND_GROUP   = ALL_NODES
  CHECK_LINK = link_bead_plane_sym
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
  ...
  DVCON = dv_plane_sym
  ...
END_
</pre>
</div>
</li></ol></section>
<p class = "result">
<p>The optimization result looks as follows:
<br/><img class = "image" src = "../TsoExampleImages/hoodsens_surfplanesym_result_sym.png" width = "600"/><br/></p>
</p>
</div>


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