-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #28 from WISDEM/f/iea3.4
Added IEA 3.4MW ref turbine as an example; updated to latest WISDEM/develop
- Loading branch information
Showing
126 changed files
with
17,712 additions
and
653 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
general: | ||
folder_output: outputs | ||
fname_output: refturb_output | ||
optimization_variables: | ||
|
||
tower: | ||
outer_diameter: | ||
flag: True | ||
lower_bound: 3.87 | ||
upper_bound: 8.0 | ||
layer_thickness: | ||
flag: True | ||
lower_bound: 4e-3 | ||
upper_bound: 2e-1 | ||
monopile: | ||
outer_diameter: | ||
flag: True | ||
lower_bound: 3.87 | ||
upper_bound: 8.0 | ||
layer_thickness: | ||
flag: True | ||
lower_bound: 4e-3 | ||
upper_bound: 2e-1 | ||
|
||
merit_figure: structural_mass # Merit figure of the optimization problem. The options are 'AEP' - 'LCOE' - 'Cp' - 'blade_mass' - 'blade_tip_deflection' | ||
|
||
constraints: | ||
tower: | ||
height_constraint: | ||
flag: False | ||
lower_bound: 1.e-2 | ||
upper_bound: 1.e-2 | ||
stress: | ||
flag: True | ||
global_buckling: | ||
flag: True | ||
shell_buckling: | ||
flag: True | ||
d_to_t: | ||
flag: True | ||
lower_bound: 120.0 | ||
upper_bound: 2000.0 | ||
taper: | ||
flag: True | ||
lower_bound: 0.2 | ||
slope: | ||
flag: True | ||
frequency_1: | ||
flag: True | ||
lower_bound: 0.13 | ||
upper_bound: 0.40 | ||
monopile: | ||
height_constraint: | ||
flag: False | ||
lower_bound: 1.e-2 | ||
upper_bound: 1.e-2 | ||
stress: | ||
flag: True | ||
global_buckling: | ||
flag: True | ||
shell_buckling: | ||
flag: True | ||
d_to_t: | ||
flag: True | ||
lower_bound: 120.0 | ||
upper_bound: 2000.0 | ||
taper: | ||
flag: True | ||
lower_bound: 0.2 | ||
slope: | ||
flag: True | ||
frequency_1: | ||
flag: True | ||
lower_bound: 0.13 | ||
upper_bound: 0.40 | ||
|
||
driver: | ||
tol: 1.e-3 # Optimality tolerance | ||
max_major_iter: 10 # Maximum number of major design iterations (SNOPT) | ||
max_minor_iter: 100 # Maximum number of minor design iterations (SNOPT) | ||
max_iter: 100 # Maximum number of iterations (SLSQP) | ||
solver: SLSQP # Optimization solver. Other options are 'SLSQP' - 'CONMIN' | ||
step_size: 1.e-6 # Step size for finite differencing | ||
form: forward # Finite differencing mode, either forward or central | ||
|
||
recorder: | ||
flag: False # Flag to activate OpenMDAO recorder | ||
file_name: log_opt.sql # Name of OpenMDAO recorder |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
general: | ||
verbosity: False # When set to True, the code prints to screen many infos | ||
|
||
Analysis_Flags: | ||
# Control which WISDEM modules are executed. | ||
# (GOAL) If inputs are missing for a module, a warning will be written to the screen and the module disabled. | ||
RotorSE: False | ||
DriveSE: False | ||
TowerSE: True | ||
BOS: False | ||
|
||
yaml: | ||
validate: False # When set to True, the code runs a yam validation package. This checks whether the yams has the right formatting. | ||
|
||
tower: # Options of TowerSE module | ||
nLC: 2 # Number of design load cases in TowerSE | ||
wind: PowerWind # Wind used in TowerSE | ||
gamma_f: 1.35 # Safety factor for fatigue loads in TowerSE | ||
gamma_m: 1.3 # Safety factor for material properties in TowerSE | ||
gamma_n: 1.0 # Safety factor for ... | ||
gamma_b: 1.1 # Safety factor for ... | ||
gamma_fatigue: 1.755 # Safety factor for fatigue loads in TowerSE | ||
buckling_length: 30 # Buckling parameter in TowerSE | ||
frame3dd: | ||
shear: True | ||
geom: True | ||
tol: 1e-9 | ||
monopile: # Options of TowerSE module | ||
nLC: 2 # Number of design load cases in TowerSE | ||
wind: PowerWind # Wind used in TowerSE | ||
gamma_f: 1.35 # Safety factor for fatigue loads in TowerSE | ||
gamma_m: 1.3 # Safety factor for material properties in TowerSE | ||
gamma_n: 1.0 # Safety factor for ... | ||
gamma_b: 1.1 # Safety factor for ... | ||
gamma_fatigue: 1.755 # Safety factor for fatigue loads in TowerSE | ||
buckling_length: 30 # Buckling parameter in TowerSE | ||
frame3dd: | ||
shear: True | ||
geom: True | ||
tol: 1e-9 | ||
|
||
loading: | ||
mass: 285598.8 | ||
center_of_mass: [-1.13197635, 0.0, 0.50875268] | ||
moment_of_inertia: [1.14930678e08, 2.20354030e07, 1.87597425e07, 0.0, 5.03710467e05, 0.0] | ||
loads: | ||
- force: [1284744.19620519, 0.0, -2914124.84400512] | ||
moment: [3963732.76208099, -2275104.79420872, -346781.68192839] | ||
velocity: 11.73732 | ||
- force: [930198.60063279, 0.0, -2883106.12368949] | ||
moment: [-1683669.22411597, -2522475.34625363, 147301.97023764] | ||
velocity: 70.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
import os | ||
from wisdem.glue_code.runWISDEM import run_wisdem | ||
|
||
|
||
## File management | ||
mydir = os.path.dirname(os.path.realpath(__file__)) # get path to this file | ||
fname_wt_input = mydir + os.sep + 'nrel5mw_monopile.yaml' | ||
fname_modeling_options = mydir + os.sep + 'modeling_options.yaml' | ||
fname_analysis_options = mydir + os.sep + 'analysis_options.yaml' | ||
|
||
wt_opt, analysis_options, opt_options = run_wisdem(fname_wt_input, fname_modeling_options, fname_analysis_options) | ||
|
||
# print results from the analysis or optimization | ||
z = 0.5 * (wt_opt['towerse.z_full'][:-1] + wt_opt['towerse.z_full'][1:]) | ||
print('zs =', wt_opt['towerse.z_full']) | ||
print('ds =', wt_opt['towerse.d_full']) | ||
print('ts =', wt_opt['towerse.t_full']) | ||
print('mass (kg) =', wt_opt['towerse.tower_mass']) | ||
print('cg (m) =', wt_opt['towerse.tower_center_of_mass']) | ||
print('d:t constraint =', wt_opt['towerse.constr_d_to_t']) | ||
print('taper ratio constraint =', wt_opt['towerse.constr_taper']) | ||
print('\nwind: ', wt_opt['towerse.wind1.Uref']) | ||
print('freq (Hz) =', wt_opt['towerse.post1.structural_frequencies']) | ||
print('Fore-aft mode shapes =', wt_opt['towerse.post1.fore_aft_modes']) | ||
print('Side-side mode shapes =', wt_opt['towerse.post1.side_side_modes']) | ||
print('top_deflection1 (m) =', wt_opt['towerse.post1.top_deflection']) | ||
print('Tower base forces1 (N) =', wt_opt['towerse.tower1.base_F']) | ||
print('Tower base moments1 (Nm) =', wt_opt['towerse.tower1.base_M']) | ||
print('stress1 =', wt_opt['towerse.post1.stress']) | ||
print('GL buckling =', wt_opt['towerse.post1.global_buckling']) | ||
print('Shell buckling =', wt_opt['towerse.post1.shell_buckling']) | ||
print('\nwind: ', wt_opt['towerse.wind2.Uref']) | ||
print('freq (Hz) =', wt_opt['towerse.post2.structural_frequencies']) | ||
print('Fore-aft mode shapes =', wt_opt['towerse.post2.fore_aft_modes']) | ||
print('Side-side mode shapes =', wt_opt['towerse.post2.side_side_modes']) | ||
print('top_deflection2 (m) =', wt_opt['towerse.post2.top_deflection']) | ||
print('Tower base forces2 (N) =', wt_opt['towerse.tower2.base_F']) | ||
print('Tower base moments2 (Nm) =', wt_opt['towerse.tower2.base_M']) | ||
print('stress2 =', wt_opt['towerse.post2.stress']) | ||
print('GL buckling =', wt_opt['towerse.post2.global_buckling']) | ||
print('Shell buckling =', wt_opt['towerse.post2.shell_buckling']) | ||
|
Oops, something went wrong.