<?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 = "In this example, you will follow the workflow for a standard bead optimization task:"/><meta name = "description" content = "In this example, you will follow the workflow for a standard bead optimization task:"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-bead-penetrationOptimize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Optimizing the Long Plate Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-bead-penetrationOptimize">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Optimizing the Long 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"> In this example, you will follow the workflow for a standard bead optimization
      task:</span>

<ol class = "ol"><li class = "li">Define input data and choose design variables.</li>
    <li class = "li">Define the objective function (DRESP, OBJ_FUNC).</li>
    <li class = "li">Define boundary conditions (DVCON_BEAD)</li>
    <li class = "li">(Optional) Switch filter algorithm</li>
    <li class = "li">Define the OPTIMIZE command.</li>
    <li class = "li">(Optional) Set additional settings (OPT_PARAM).</li>
    <li class = "li">(Optional) Set maximum number of design cycles</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 input data and design variables.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
FEM_INPUT
	ID_NAME         = InputModels
	FILE            = long_plate.inp
	ADD_FILE        = blocking_geometry.inp
END_

DV_BEAD
	ID_NAME         = GlobalDesignArea
	ND_GROUP        = ALL_NODES
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Define the Objective Function (OBJ_FUNC) minimizing the maximum displacement of two corner nodes 
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Create two Design Responses (DRESPs) measuring the absolute displacements of one node in z-axis each:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
	ID_NAME         = DisplacementCornerNode1
	DEF_TYPE        = SYSTEM
	TYPE            = DISP_Z_ABS
	ND_GROUP        = "DisplacementResponseVariable1"
	LC_SET          = ALL,1,ALL
END_

DRESP
	ID_NAME         = DisplacementCornerNode2
	DEF_TYPE        = SYSTEM
	TYPE            = DISP_Z_ABS
	ND_GROUP        = "DisplacementResponseVariable2"
	LC_SET          = ALL,1,ALL
END_
</pre>
</div>
</li>
<li class = "li substep">
Reference the Design Responses in the Objective Function (OBJ_FUNC) and set the target to MIN_MAX:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
	ID_NAME         = MinMaxDisplacement
	TARGET          = MIN_MAX
	DRESP           = DisplacementCornerNode1, 1.0, 0.0
	DRESP           = DisplacementCornerNode2, 1.0, 0.0
END_
</pre>
</div>
</li>
<li class = "li substep">
Define the DVCON_BEAD for penetration check.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_BEAD
	ID_NAME                  = PenetrationCheck
	ND_GROUP                 = ALL_NODES
	CHECK_ELGR               = "BlockingGeometry"
END_
</pre>
	<p> Command items CHECK_ELGR_BLOCKING and CONSIDER_SHELL_THICKNESS are set to their respective default values explicitly.</p>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
		
			(Optional) Switch filter algorithm to speed up convergence for this particular model
		
		<div class = "itemgroup stepresult">
			<pre class = "codeblock">
DVCON_BEAD
	ID_NAME         = BeadWidthControl
	ND_GROUP        = ALL_NODES
	CHECK_TYPE      = FILTER
END_
			</pre>
		</div>
	</li><li class = "li step stepexpand">
Reference the Design Variables, Objective Function as well as DVCONs
in the OPTIMIZE command. Set the Strategy to BEAD_SENSITIVITY.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPTIMIZE
	ID_NAME         = Objective
	STRATEGY        = BEAD_SENSITIVITY
	DV              = GlobalDesignArea
	DVCON           = BeadHeightControl
	DVCON           = BeadWidthControl
	DVCON           = PenetrationCheck
	OBJ_FUNC        = MinMaxDisplacement
END_
</pre>
</div>
</li><li class = "li step stepexpand"> 
(Optional) Set NODAL_UPDATE to NORMAL and NODAL_MOVE to 0.25 to speed up convergence of this model. 
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPT_PARAM
	ID_NAME            = ObjectiveParams
	OPTIMIZE           = Objective
	NODAL_UPDATE       = NORMAL
	NODAL_MOVE         = 0.25
END_
</pre>
</div>
</li><li class = "li step stepexpand">
		(Optional) Set maximum number of iterations to 20. 
		<div class = "itemgroup stepresult">
			<pre class = "codeblock">
STOP
	ID_NAME         = GlobalStop
	ITER_MAX        = 20
END_
			</pre>
		</div>
	</li></ol></section>
<p class = "result">
<figure class = "fig fignone"><span class = "figcap">Optimization results</span>
	
	<br/><img class = "image" src = "../TsoExampleImages/exampleBeadPenetrationResultVtfx.png" width = "756" title = "Optimization results"/><br/>
</figure>
<figure class = "fig fignone"><span class = "figcap">Optimization results with plotted shell thickness</span>
	
	<br/><img class = "image" src = "../TsoExampleImages/exampleBeadPenetrationResult3dxCut.png" width = "756" title = "Optimization results"/><br/>
</figure>
</p>
</div>


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