<?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 = "This example shows how to add symmetry conditions to a standard stiffness optimization. The symmetry condition is defined using the command LINK_SIZING. This definition specifies the type of symmetry (point, plane, cyclic,...), the reference to the applied coordinate system and the type of coupling. The LINK_SIZING command is referenced in the DVCON_SIZING command which completes the assignment of the element group."/><meta name = "description" content = "This example shows how to add symmetry conditions to a standard stiffness optimization. The symmetry condition is defined using the command LINK_SIZING. This definition specifies the type of symmetry (point, plane, cyclic,...), the reference to the applied coordinate system and the type of coupling. The LINK_SIZING command is referenced in the DVCON_SIZING command which completes the assignment of the element group."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-sizing-beamSymOptimize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Optimizing the Beam Symmetry Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-sizing-beamSymOptimize">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Optimizing the Beam Symmetry 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">This example shows how to add symmetry conditions to a
standard stiffness optimization. The symmetry condition is defined using the command LINK_SIZING.
This definition specifies the type of symmetry (point, plane,
cyclic,...), the reference to the applied coordinate system and the
type of coupling.
The LINK_SIZING command is referenced in the DVCON_SIZING command
which completes the assignment of the element group.
</span>

<p>Several definitions of symmetry restrictions are given in the example file in
the installation manual but only the plane symmetry definition is activated. All
other types of symmetries can be activated by changing the parameter file,
but only one symmetry condition can be activated at the same time.</p>
</p>

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


<div class = "body taskbody">
<section><ol class = "ol steps"><li class = "li step stepexpand">
Define the Coordinate System (CS_DEF):
<div class = "itemgroup stepresult"><pre class = "codeblock">
!COORDINATE SYSTEM IN THE CENTRE OF THE BEAM
CS_DEF
 ID_NAME      = CS_local
 CS_TYPE      = RECTANGULAR
 DEF_TYPE     = LOCAL
 CS_REF       = CS_0
 ORIGIN_123   = 125.0, 50.0,0
 ROTATION_321 = 0,0,0
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Define a plane symmetry regarding the X-Z plane with the LINK_SIZING command:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
!DEFINE PLANE SYMMETRY
!SYMMETRY PLANE: X-Z PLANE OF CENTER_CS
LINK_SIZING
 ID_NAME = my_link_plane
 TYPE    = PLANE_SYM, AXIS_1
 CS      = CS_local
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Reference the symmetry in a Design Variable Constraint (DVCON_SIZING):
<div class = "itemgroup stepresult"><pre class = "codeblock">
DVCON_SIZING
 ID_NAME    = dvcon_plane
 EL_GROUP   = ALL_ELEMENTS
 CHECK_TYPE = LINK_SIZING
 CHECK_LINK = my_link_plane
END_
</pre>
</div></li><li class = "li step stepexpand">
To activate the restriction, reference the DVCON_SIZING command in the OPTIMIZE command:
<div class = "itemgroup stepresult"><pre class = "codeblock">
OPTIMIZE
 ID_NAME    = SIZING
 DV         = design_variables
 OBJ_FUNC   = maximize_stiffness
 DVCON      = dvcon_sizing
 CONSTRAINT = volume_constraint
 ! Link sizing Constraint
 ! DVCON = dvcon_sizing
 ! Plane Symmetry
 DVCON = dvcon_plane
 ! Rotation Symmetry
 ! DVCON = dvcon_rotation
 ! Cyclic Symmetry
 ! DVCON = dvcon_cyclic
END_
</pre><p>For rotational and cyclic symmetry, we recommend the activation of a
minimum cluster width (of 20 for this model) to get more
discernible effects. Further, the outer layer of elements (element
group FROZEN) can be frozen.</p>
</div></li></ol></section>
<p class = "result">
<p>The result without symmetry (left) and with reflection symmetry (right) looks as follows:</p>
<p><br/><img class = "image" src = "../TsoExampleImages/sizingBeamSymResult1.png"/><br/></p>
<p>Example of rotational symmetry (left) and cyclic translational symmetry (right):</p>
<p><br/><img class = "image" src = "../TsoExampleImages/sizingBeamSymResult2.png"/><br/></p>
</p>
</div>

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