<?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 showcases the algorithm, on an industrial scale model an offshore wind-turbine."/><meta name = "description" content = "This section showcases the algorithm, on an industrial scale model an offshore wind-turbine."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-example-sizing-discrete-Example_3"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Wind Turbine Tower–Frequency Analysis</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-example-sizing-discrete-Example_3">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1> Wind Turbine Tower–Frequency Analysis</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 showcases the algorithm, on an industrial scale model an offshore wind-turbine.
</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-example-sizing-discrete-Example_3__cs-TheFEModel" id = "toc_rg" title = "">The FE  Model</a></li><li><a href = "#tso-c-example-sizing-discrete-Example_3__cs-TheOptimizationProblem" id = "toc_rg" title = "">Optimization Problem</a></li><li><a href = "#tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults" id = "toc_rg" title = "">Optimization Results</a></li></ul>
</p></td></tr></table></td></tr></table>





<div class = "body conbody">

<div class = "section" id = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel"><h2 class = "title sectiontitle">The FE  Model</h2>

<p>The model is for a modal analysis of a jacket structure that supports a 5MW offshore wind
        turbine. The structure is shown in Figure below, modeled with 3D shell elements. The
        remaining components of the wind turbine are modeled using continuum elements, membrane
        elements and rigid bodies, accounting for their correct inertial distribution. The
        foundations are represented by four piles that are fixed in the ground. Such wind turbines
        are subject to multiple periodic loads, such as wind loads and wave loads. Thus it becomes
        necessary to minimize the chances of a load frequency resonating with the natural frequency
        of the structure. The jacket structure is the core supporting structure for the turbine and
        is usually submerged fully or partially and becomes the loaded area. Thus it is a natural
        choice for optimization. </p><p>The requested discrete range is:</p>
  
<table class = "table"><caption/><colgroup><col style = "width:20%"/><col style = "width:20%"/><col style = "width:20%"/><col style = "width:20%"/><col style = "width:20%"/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1" colspan = "5">Available Thicknesses</th></tr></thead><tbody class = "tbody"><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.01 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.06 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.11 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.163 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.417 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.015 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.065 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.115 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.17 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.455 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.02 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.07 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.12 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.191 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.531 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.025 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.075 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.125 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.208 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.607 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.03 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.08 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.13 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.229 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.683 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.035 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.085 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.135 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.246 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.759 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.04 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.09 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.14 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.267 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.836 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.045 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.095 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.145 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.305 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.912 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.05 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.1 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.15 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.343 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 1 </td></tr><tr class = "row"><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1">0.055</td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1">0.105</td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.152 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"> 0.378 </td><td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__1"/></tr></tbody></table><table class = "table"><caption/><colgroup><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__52">The FE model of the entire wind turbine </th></tr></thead><tbody class = "tbody">

<tr class = "row">
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__52">
<br/><img class = "image" src = "../TsoExampleImages/turbine_model_full.png" width = "265"/><br/>
</td>
</tr>

</tbody></table> 


<table class = "table"><caption/><colgroup><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__54">Break down of the jacket structure</th></tr></thead><tbody class = "tbody">



<tr class = "row">
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-TheFEModel__entry__54">
<br/><img class = "image" src = "../TsoExampleImages/turbine_model_opt_area.png" width = "265"/><br/>
</td>
</tr>

</tbody></table>

  
</div>


<div class = "section" id = "tso-c-example-sizing-discrete-Example_3__cs-TheOptimizationProblem"><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">Optimization Problem</h2>

<p> The Jacket structure is chosen as the optimization domain. The eigenfrequencies of this
        structure are maximized, while keeping the volume constant. It is preferable to have
        constant volume, so that the buoyancy calculations do not must be redone and the overall
        stability of the structure is not affected. The thicknesses of the tubes in the jacket are
        the design variables; most importantly, the result from the optimization should be
        manufacturable. This means the following: <ul class = "ul">
          <li class = "li">Each tube unit should have a uniform size.</li>
          <li class = "li">The sizes should be from standard sizes or at least easily manufacturable (for example
            0.015 cm thickness is good, but 0.015733 cm is not).</li>
        </ul>
      </p>
<pre class = "codeblock"><code class = "ph codeph"> 
  . . . 

  DVCON_SIZING
   ID_NAME        = MY_DVCON_SIZING_BOUNDS
   CHECK_TYPE     = THICKNESS_BOUNDS
   EL_GROUP       = S_OPT_GROUP
   LOWER_BOUND    = 0.0002
   UPPER_BOUND    = 1.0
   MAGNITUDE      = ABS
  END_

  . . . 

  DVCON_SIZING
   ID_NAME         = DVCON_SIZING_set_discr
   EL_GROUP        = ALL_ELEMENTS
   CHECK_TYPE      = DISCRETE
   DISCR_LIST_FILE = Sheet_sizing_turbine.csv
   DISCR_CYCLE     = 9
   DISCR_INTERVAL  = 4
   DISCR_FRACTION  = 0.2  
   DISCR_CHANGE    = 10
  END_
  
  . . .

  OPT_PARAM
    STOP_CRITERION_ITER= 28
  END_
 
  . . .
</code></pre>
</div>


<div class = "section" id = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults"><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">Optimization Results</h2>

<p>The figures below show the result and a comparison between the optimization with continuous  and discrete variables. </p>
  
<table class = "table"><caption/><colgroup><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__1">History of objective and constraints from the sizing optimization for discrete variables.</th></tr></thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__1">
<br/><img class = "image" src = "../TsoExampleImages/Turbine_Graphs.png" height = "378" width = "567"/><br/>
</td>
</tr>
</tbody></table>
 

<table class = "table"><caption/><colgroup><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__3">History of objective and constraints from the sizing optimization for continuous variables.</th></tr></thead><tbody class = "tbody">
 <tr class = "row">
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__3">
<br/><img class = "image" src = "../TsoExampleImages/Turbine_Graph_std.png" height = "416"/><br/>
</td>
</tr>
</tbody></table>



<table class = "table"><caption/><colgroup><col/><col/><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__5" colspan = "2">Resulting thicknesses of the sizing optimization for discrete variables.</th></tr></thead><tbody class = "tbody"> 
<tr class = "row">
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__5">
<br/><img class = "image" src = "../TsoExampleImages/turbine_legend_discrete_1.png" height = "302"/><br/>
</td>  
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__5">
<br/><img class = "image" src = "../TsoExampleImages/turbine_model_discrete_opt.png" height = "302"/><br/>
</td>
</tr>
</tbody></table>
  


<table class = "table"><caption/><colgroup><col/><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__8" colspan = "2"><p>Resulting thicknesses of the sizing optimization for continuous variables.</p></th></tr></thead><tbody class = "tbody">   
<tr class = "row">
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__8">
<br/><img class = "image" src = "../TsoExampleImages/turbine_legend_discrete.png" height = "302"/><br/>
</td>  
<td class = "entry" headers = "tso-c-example-sizing-discrete-Example_3__cs-OptimizationResults__entry__8">
<br/><img class = "image" src = "../TsoExampleImages/turbine_model_std_opt.png" height = "302"/><br/>
</td>
</tr>
</tbody></table>

<p>The difference in the objective functions for the standard and discrete optimization is less than
        2% and the constraints are fulfilled within an error of 0.001 in this example.</p>  
  
</div>


</div>

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