Skip to content

Commit

Permalink
Merge e9f32ad into 7d03d05
Browse files Browse the repository at this point in the history
  • Loading branch information
gbarter committed Feb 1, 2021
2 parents 7d03d05 + e9f32ad commit fe67560
Show file tree
Hide file tree
Showing 27 changed files with 882 additions and 693 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,11 @@ The installation instructions below use the environment name, "wisdem-env," but

conda install -y wisdem git jupyter
conda remove --force wisdem
conda install compilers # (Mac / Linux only)
conda install m2w64-toolchain libpython # (Windows only)
conda install compilers # (Mac / Linux only)
conda install m2w64-toolchain libpython # (Windows only)
pip install simpy marmot-agents
git clone https://github.com/WISDEM/WISDEM.git
cd WISDEM
git checkout develop
python setup.py develop


Expand Down
11 changes: 1 addition & 10 deletions examples/05_tower_monopile/analysis_options_monopile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,6 @@ constraints:
flag: True
lower_bound: 0.0

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

driver:
optimization:
flag: True # Flag to enable optimization
Expand All @@ -97,7 +88,7 @@ driver:
run_parallel: True # Flag to run using parallel processing
generator: Uniform # Type of input generator. (Uniform)
num_samples: 5 # number of samples for (Uniform only)

recorder:
flag: False # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
4 changes: 2 additions & 2 deletions examples/09_floating/analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ driver:
run_parallel: True # Flag to run using parallel processing
generator: Uniform # Type of input generator. (Uniform)
num_samples: 5 # number of samples for (Uniform only)

recorder:
flag: True # Flag to activate OpenMDAO recorder
flag: False # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
150 changes: 150 additions & 0 deletions examples/09_floating/analysis_options_semiopt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
general:
folder_output: outputs
fname_output: refturb_output
design_variables:

floating:
joints:
flag: True
z_coordinate:
- names: [col1_keel, col2_keel, col3_keel]
lower_bound: -40.0
upper_bound: -15.0
- names: [main_keel]
lower_bound: -40.0
upper_bound: -15.0
r_coordinate:
- names: [col1_keel, col1_freeboard, col2_keel, col2_freeboard, col3_keel, col3_freeboard]
lower_bound: 25.0
upper_bound: 50.0
members:
flag: True
groups:
- names: [column1, column2, column3]
diameter:
lower_bound: 1.0
upper_bound: 20.0
thickness:
lower_bound: 0.01
upper_bound: 1.0
axial_joints:
- names: [col1_fairlead, col2_fairlead, col3_fairlead]
lower_bound: 0.0
upper_bound: 1.0

- names: [delta_pontoon_lower12, delta_pontoon_lower23, delta_pontoon_lower31]
diameter:
lower_bound: 2.0
upper_bound: 5.0
thickness:
lower_bound: 0.1
upper_bound: 1.0

- names: [delta_pontoon_upper12, delta_pontoon_upper23, delta_pontoon_upper31]
diameter:
lower_bound: 2.0
upper_bound: 5.0
thickness:
lower_bound: 0.1
upper_bound: 1.0

- names: [main_column]
diameter:
lower_bound: 1.0
upper_bound: 20.0
thickness:
lower_bound: 0.01
upper_bound: 1.0
stiffeners:
ring:
size:
min_gain: 0.5
max_gain: 3.0
spacing:
lower_bound: 0.1
upper_bound: 1.0

mooring:
anchor_radius:
# This adjusts the radius of all anchor nodes from (0,0)
flag: False
lower_bound: 10.0
upper_bound: 1000.0
line_length:
# Adjust the unstretched line length of the mooring segments
linked_lines:
# This will set the same line length for all segments listed in the same names entry
- names: [line1, line2, line3]
flag: False
lower_bound: 100.0
upper_bound: 2000.0
- names: [bridle11, bridle12, bridle21, bridle22, bridle31, bridle32]
flag: False
lower_bound: 100.0
upper_bound: 2000.0
line_diameter:
# Adjust the diameter of the mooring segments
linked_lines:
# This will set the same diameter for all segments listed in the same names entry
- names: [line1, line2, line3]
flag: False
lower_bound: 0.1
upper_bound: 2.0
- names: [bridle11, bridle12, bridle21, bridle22, bridle31, bridle32]
flag: False
lower_bound: 0.1
upper_bound: 2.0

merit_figure: LCOE

constraints:
floating:
operational_heel:
upper_bound: 0.08726646259971647 # 5 deg
survival_heel:
upper_bound: 0.17453292519943295 # 10 deg
max_surge:
flag: false
upper_bound: 0.1
buoyancy:
flag: True
fixed_ballast_capacity:
flag: True
variable_ballast_capacity:
flag: True
metacentric_height:
flag: True
freeboard_margin:
flag: false
draft_margin:
flag: false
fairlead_depth:
flag: false
mooring_surge:
flag: false
mooring_heel:
flag: false
mooring_tension:
flag: false
mooring_length:
flag: false

driver:
optimization:
flag: False # Flag to enable optimization
tol: 1.e-2 # 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-3 # Step size for finite differencing
form: central # Finite differencing mode, either forward or central
design_of_experiments:
flag: False # Flag to enable design of experiments
run_parallel: True # Flag to run using parallel processing
generator: Uniform # Type of input generator. (Uniform)
num_samples: 5 # number of samples for (Uniform only)

recorder:
flag: False # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
77 changes: 77 additions & 0 deletions examples/09_floating/analysis_options_sparopt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
general:
folder_output: outputs
fname_output: refturb_output
design_variables:

floating:
joints:
flag: False
z_coordinate:
- names: [spar_keel]
lower_bound: -40.0
upper_bound: -15.0
- names: [spar_freeboard]
lower_bound: -40.0
upper_bound: -15.0
members:
flag: True
groups:
- names: [spar]
ballast:
lower_bound: 1.0
upper_bound: 1e4


merit_figure: platform_mass

constraints:
floating:
operational_heel:
upper_bound: 0.08726646259971647 # 5 deg
survival_heel:
upper_bound: 0.17453292519943295 # 10 deg
max_surge:
flag: false
upper_bound: 0.1
buoyancy:
flag: True
fixed_ballast_capacity:
flag: True
variable_ballast_capacity:
flag: True
metacentric_height:
flag: False
freeboard_margin:
flag: false
draft_margin:
flag: false
fairlead_depth:
flag: false
mooring_surge:
flag: false
mooring_heel:
flag: false
mooring_tension:
flag: false
mooring_length:
flag: false

driver:
optimization:
flag: True # Flag to enable optimization
tol: 1.e-6 # 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
design_of_experiments:
flag: False # Flag to enable design of experiments
run_parallel: True # Flag to run using parallel processing
generator: Uniform # Type of input generator. (Uniform)
num_samples: 5 # number of samples for (Uniform only)

recorder:
flag: False # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
24 changes: 24 additions & 0 deletions examples/09_floating/modeling_options_noRNA.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Generic modeling options file to run standard WISDEM case
General:
verbosity: False # When set to True, the code prints to screen many infos
WISDEM:
RotorSE:
flag: False
DriveSE:
flag: False
TowerSE: # Options of TowerSE module
flag: True
BOS:
flag: False

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
6 changes: 3 additions & 3 deletions examples/09_floating/nrel5mw-spar_oc3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ components:
material: steel
thickness:
grid: [0.0, 1.0]
values: [0.05, 0.05]
values: [0.08, 0.08]
bulkhead:
material: steel
thickness:
Expand All @@ -329,9 +329,9 @@ components:
- variable_flag: False
material: slurry
volume: 1e3
grid: [0.0, 0.1]
grid: [0.0, 0.4]
- variable_flag: True
grid: [0.1, 0.5]
grid: [0.4, 1.0]

axial_joints:
- name: fairlead
Expand Down
26 changes: 26 additions & 0 deletions examples/09_floating/semi_driver.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import os
import sys
import time

from wisdem.commonse.mpi_tools import MPI
from wisdem.glue_code.runWISDEM import run_wisdem

## File management
run_dir = os.path.dirname(os.path.realpath(__file__))
fname_wt_input_oc3 = run_dir + os.sep + "nrel5mw-semi_oc4.yaml"
fname_modeling_options = run_dir + os.sep + "modeling_options_noRNA.yaml"
fname_analysis_options = run_dir + os.sep + "analysis_options.yaml"


tt = time.time()
wt_opt, modeling_options, opt_options = run_wisdem(fname_wt_input_oc3, fname_modeling_options, fname_analysis_options)

if MPI:
rank = MPI.COMM_WORLD.Get_rank()
else:
rank = 0
if rank == 0:
print("Run time: %f" % (time.time() - tt))
sys.stdout.flush()

wt_opt.model.list_outputs(values=True, units=True)

0 comments on commit fe67560

Please sign in to comment.