Skip to content

Commit

Permalink
DLC Generation - Refactor and New Cases (#308)
Browse files Browse the repository at this point in the history
* [DLC] Add skeleton for DLC case input refactoring

* Send openfast outputs to directory of analysis options output

* Start new method of dlc generation

* Use new DLC_generator in OM_OF, single DLC only

* Create functions of things that will happen in each DLC

* Tidy up DLC 5.1 before applying elsewhere

* Add DLC 1.6, generate multiple DLCs

* Tidy up new dlc generator more

* Apply initial conditions in dlc_generator

* Apply olaf parameters

* Refactor dlc generator: combine functions

* Add PSF, windtype, seastate, and label to dlc_options

* Update DLC generator for 6.1:
Turn off generator at shutdown_time
Expand default options
Include wave_mod
Apply PSF
Catch error in first generic_case_input
Only apply ICs in operational DLCs

* Run new DLC generator in gc_LoadInputs

* Apply wind inputs to case_list

* DLC: Adding new versions of DLC 1.x

* Update DLC 1.6, 5.1 generators

* DLC: Add option of using non-turbulent wind in new DLC code

* Add 50-year sea state

* Re-organize order of functions

* Remove yaw_misalign from wind seed calculation, handled by groups now

* Set up DLC 6.3 and re-write generate_new_dlc

* DLC: Finish DLC 1.5 and progress towards 1.2

* Add DLC 6.2

* Get known dlcs from modeling schema

* Add DLC 3.1, regular startup in NTM

* Add DLC 6.4

* Remove DLC 12.1

* Move new dlc generator to original file and name

* Revert inputs for example 05 that tests DLC generator

* Fix small errors in DLC_Generator.py

* Set n_ws_dlc11

* Fix typo in dlc_generator and fix dlc test by removing DLC 6.5 from example 5

* Fix dlc11_ws output, it's the number of wind speeds

* Clean up example 05 modopts

* Fix DLC 11 counter and DLC 64 wind speeds

* Fix a bug where string dlc options were storred with incorrect type

* Fix error with DLC 6.4, wind speeds were stored as np-array instead of list

* Fix issue with DLC 6.4

* Add DLC 2.1 and 2.3, change ROSCO version to 2.9.4 and change a variable name in IEC_CoeherentGusts.py

* Set default 5.1 times if not provided in input

* Remove old array inits, add case name to table output

* Clean up comments

* Fix DLC 6.2 label

* Write OpenFAST output to stdout as a modeling option

* Flip shear ordering to match previous implementation exactly

* Disable unsteady aero for DLC 1.4

* For DLC 6.2, simulate more yaw misalignments

* Add met options to dlc_options for output reporting

* Rename wave variables/keys for output reporting to match modopt inputs

* Fix add met options

* Sync wind_seeds, rand_seeds, and wind_seed naming

* Remove wind_speeds, all wind_speed now

* Fix probabilities dictionary, re-normalize

* Start DLC docs in WEIS

* Tidy some docs pages

* Outline DLC page

* Ensure RAFT gets correct DLC data

* Test the raft input generated in ex15 against a standard input

* Reorganize to remove globals from dlc_generator

* Use wind_speed to set URef

* Point to new RAFT input file, generated with WEIS

* Add DLC for AEP calculations with constant TI

* Try printing RAFT inputs

* Disable regression test for now

* Assign wave seeds for each case

* Add DLC 7.1 and 7.2

* Fix 1-year sea state

* DLC: Add yaw error as an option for fault cases

* Fix DLC generator test

* Revert 02 input

* Tidy new code blocks

* Add developer docs

* Outline dlc generator cases

* Add DLC documentation (1.X)

* Add tip clearance channels

* Increase WvHiCOff so we can model normal sea states properly

* Rename case to case_i

* DLCDocs: Start documentation for DLC 2.x

* Fix AEP DLC and PSFs

* Move yaw and pitch faults to DLC 2.2 and add excpetions to fault cases

---------

Co-authored-by: AbhineetGupta <[email protected]>
  • Loading branch information
dzalkind and abhineet-gupta authored Dec 12, 2024
1 parent dfea9e8 commit eedc910
Show file tree
Hide file tree
Showing 21 changed files with 3,683 additions and 963 deletions.
352 changes: 349 additions & 3 deletions docs/dlc_generator.rst

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ WEIS Visualization APP

how_weis_viz_works

DLC Generator
=============

.. toctree::
:maxdepth: 2

dlc_generator


Optimization in WEIS
====================
Expand Down
4 changes: 2 additions & 2 deletions docs/inputs/geometry_schema.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ Significant effort has been invested to develop an _ontology_ for wind turbines
Full documentation of the WISDEM geometry input file can be found at the `WindIO documentation <https://windio.readthedocs.io/en/latest/source/turbine.html>`_


.. jsonschema:: geometry_schema.json
:hide_key_if_empty: /**/default
.. .. jsonschema:: geometry_schema.json
.. :hide_key_if_empty: /**/default
16 changes: 0 additions & 16 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,16 +0,0 @@
# Requirements list for WEIS

# simulation
matplotlib
numpy
scipy
openmdao>=3.2
simpy
marmot-agents

# docs
sphinx>2.0
numpydoc
sphinxcontrib-bibtex<2.0.0
sphinx-rtd-theme
# sphinx-autoapi
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ dependencies:
- pip
- pyhams>=1.3
#- pyoptsparse
- rosco>=2.9.2
- rosco>=2.9.4
- smt
- wisdem>=3.16.4
- pip:
Expand Down
2 changes: 1 addition & 1 deletion examples/02_run_openfast_cases/modeling_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ DLC_driver:
- DLC: "6.1"
analysis_time: 10.
transient_time: 0.1
wind_speed: [46.789]
turbulent_wind:
HubHt: 142
RefHt: 142
GridHeight: 275
GridWidth: 275
URef: 46.789
PLExp: 0.14
IECturbc: 0.12

Expand Down
43 changes: 5 additions & 38 deletions examples/02_run_openfast_cases/modeling_options_loads.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,49 +50,16 @@ DLC_driver:
wave_height50: 9.7
wave_period50: 13.6
DLCs:
# - DLC: "1.1"
# n_seeds: 1
# wind_speed: [4]
# - DLC: "1.3"
# n_seeds: 6
# - DLC: "1.4"
# wind_speed: [8.6, 10.6, 12.6]
# n_seeds: 2
# n_azimuth: 3
# - DLC: "1.5"
# - DLC: "1.6"
# n_seeds: 1
# wind_speed: [12]
# yaw_misalign: [-8,8]
# analysis_time: 10.
# transient_time: 0.
# - DLC: "1.6"
# n_seeds: 1
# wind_speed: [12]
# wave_heading: [30]
# analysis_time: 10.
# transient_time: 0.
# - DLC: "6.3"
# n_seeds: 6
- DLC: "1.6"
wind_speed: [8,15]
n_seeds: 2
analysis_time: 10.
transient_time: 0.0
- DLC: "5.1"
wind_speed: [12]
n_seeds: 1
n_azimuth: 3
analysis_time: 20.
shutdown_time: 10.
transient_time: 0.0
# - DLC: "6.5"
# yaw_misalign: [-8.,8.]
# wave_height: [12.57]
# wave_period: [16.0]
# transient_time: 0.0
# wave_gamma: [1.2]
# analysis_time: 10.
# turbulent_wind:
# HubHt: 140
# GridHeight: 220
# GridWidth: 220
# URef: 54.8339
# PLExp: 0.12


13 changes: 0 additions & 13 deletions examples/05_IEA-3.4-130-RWT/modeling_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,19 +128,6 @@ DLC_driver:
ws_bin_size: 10
analysis_time: 5.
transient_time: 5.
- DLC: "6.5"
yaw_misalign: [-8.,8.]
wave_height: [12.57]
wave_period: [16.0]
transient_time: 0.0
wave_gamma: [1.2]
analysis_time: 10.
# turbulent_wind:
# HubHt: 140
# GridHeight: 220
# GridWidth: 220
# URef: 54.8339
# PLExp: 0.12

# - DLC: Custom
# wind_speed: [10., 12, 14]
Expand Down
Loading

0 comments on commit eedc910

Please sign in to comment.