<?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 = "concept"/><meta name = "abstract" content = "This section describes the setup of sizing optimization with discrete design variables."/><meta name = "description" content = "This section describes the setup of sizing optimization with discrete design variables."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-sizing-discrete-implementation"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>User Interface</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-sizing-discrete-implementation">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>User Interface</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 section describes the setup of sizing optimization with discrete design variables.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params" id = "toc_rg" title = "">Parameters Used and Positioning in <code class = "ph codeph">*.par</code> File</a></li><li><a href = "#tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-advice" id = "toc_rg" title = "">Efficient Usage of the Discrete Sizing Feature</a></li></ul>
</p></td></tr></table></td></tr></table>





<div class = "body conbody">




<div class = "section" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params"><h2 class = "title sectiontitle">Parameters Used and Positioning in <code class = "ph codeph">*.par</code> File</h2>

<p> The commands are placed in the  <code class = "ph codeph">DVCON_SIZING</code> block as shown below:</p><pre class = "codeblock"><code class = "ph codeph">  
DVCON_SIZING
    ID_NAME          = MY_EXAMPLE
    EL_GROUP         = ALL_ELEMENTS
    CHECK_TYPE       = DISCRETE
    DISCR_LIST_FILE  = MY_FILE.csv
    DISCR_CYCLE      = 9
    DISCR_INTERVAL   = 3
    DISCR_FRACTION   = 0.1
    DISCR_CHANGE     = 1
 END_
</code></pre>
<p>All the required commands are explained in the following table: </p><p><table class = "table"><caption/><colgroup><col style = "width:25%"/><col style = "width:25%"/><col style = "width:25%"/><col style = "width:25%"/></colgroup><thead class = "thead"><tr class = "row"> <th class = "entry" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"><p> COMMAND</p>   </th> <th class = "entry" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"/> <th class = "entry" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3">   <p>DEFAULT VALUE</p>  </th> <th class = "entry" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4">  <p>DESCRIPTION</p> </th> </tr></thead><tbody class = "tbody">  <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"><code class = "ph codeph"> ID_NAME </code></td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3">MY_EXAMPLE' </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4">Id name of the discrete Block. This is a mandatory parameter to be called in OPTIMIZE block </td> </tr> <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"> <code class = "ph codeph">CHECK_TYPE </code></td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3"> DISCRETE </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4"> Check type to be defined. This is a mandatory parameter that activates the discrete method. </td> </tr> <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"> <code class = "ph codeph">DISCR_CYCLE </code></td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3"> 10</td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4"> Initial cycles to be allowed before constraining. Optional, set enough cycles to achieve partial convergence.<p>(9-15 is a good choice.)</p></td> </tr> <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"> <code class = "ph codeph">DISCR_INTERVAL </code></td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3"> 4 </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4"> Cycles between the fixing of DVs. Optional, set enough cycles to allow the solution to converge again. <p>(3-10 is a good choice.) </p></td> </tr> <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"> <code class = "ph codeph">DISCR_FRACTION</code> </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3"> 0.2 </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4"> Maximum fraction of the DVs to be fixed in one iteration. Optional,  can be set in range 0-1.<p>(0.1-0.3 is a good choice.)</p></td> </tr> <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"> <code class = "ph codeph">DISCR_CHANGE </code></td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3"> 1</td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4"> The maximum allowed change in the individual DVs over two iterations. Only DVs with changes below that value will be fixed. Optional parameter. For accurate results small values (0.001,0.1) should be used, however the number of required cycles cannot be estimated in advance.  To deactivate this feature for guaranteed termination of algorithm very large values (~10) should be used.</td> </tr> <tr class = "row"> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__1"> <code class = "ph codeph">DISCR_LIST_FILE</code> </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__2"> = </td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__3"> MY_FILE.csv</td> <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__4"> Name of the file containing the discrete range. This is a mandatory parameter. Only one file is allowed inside the DISCRETE block. This file should contain only one labeled column with arbitrary length. </td> </tr> </tbody></table></p>
<p>The file containing the discrete thickness values should looks like the following one:</p>
  <table class = "table"><caption/><colgroup><col style = "width:100%"/><col/></colgroup><thead class = "thead">
        <tr class = "row">
          <th class = "entry" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__33"> MY_THICKNESSES </th>
        </tr>
      </thead><tbody class = "tbody">
        <tr class = "row">
          <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__33"> 0.111          </td>
        </tr>
        <tr class = "row">
          <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__33"> 0.25         </td>
        </tr>
        <tr class = "row">
          <td class = "entry" headers = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-params__entry__33"> ...         </td>
        </tr>
        <tr class = "row">
          <td class = "entry"> 2.0         </td>
        </tr>
      </tbody></table>
<p>The thickness values given in the file should be written in decimal form. A period should be used to separate the integer part from the fractional part also in cases where the fractional part is zero.</p>
<p>Note that upper and lower bounds of design variables will be added to this list by the system. In cases where such bounds are not specified by the user, plus and minus 20 percent of the current design variable values will be used as bounds. </p>  
</div>


<div class = "section" id = "tso-c-usr-sizing-discrete-implementation__tso-c-usr-sizing-discrete-advice"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title sectiontitle">Efficient Usage of the Discrete Sizing Feature</h2>

  <p>To use the discrete sizing feature efficiently, the following additional settings can be added:</p> 
  <ul class = "ul">
  <li class = "li"> A <code class = "ph codeph">DVCON_SIZING</code> block explicitly specifying the thickness bounds should be created.</li>
  <li class = "li"><code class = "ph codeph">STOP_CRITERION_ITER</code> parameter should be included in the <code class = "ph codeph">OPT_PARAM</code> block and set to a required value.
  (For ex. With the default parameter set, it should be set to 28, that is, expected number of iterations +1).</li>
  <li class = "li">The list values for discrete sizing must be in a mechanically sensible range, and not too 
  different from the thickness values of the initial design.</li>
  </ul>  
  
  
</div>


</div>


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