Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add user-defined OpenFAST mapping and groups through modeling options #331

Merged
merged 13 commits into from
Jan 10, 2025

Conversation

dzalkind
Copy link
Collaborator

@dzalkind dzalkind commented Jan 3, 2025

Purpose

This pull request will give users the ability to alter DLC options through the modeling options.

This should address the request in #249.

Type of change

What types of change is it?

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (non-backwards-compatible fix or feature)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Documentation update
  • Maintenance update
  • Other (please describe)

Testing

The example 02_run_openfast_cases/weis_driver_loads.py demonstrates the new functionality.

Checklist

Put an x in the boxes that apply.

  • I have run existing tests which pass locally with my changes
  • I have added new tests or examples that prove my fix is effective or that my feature works
  • I have added necessary documentation

dzalkind and others added 8 commits November 22, 2024 08:50
* Viz tool integration (#301)

* utils update for viz tool

* hotfix for length error in viz utils

* slightly improved hotfix

* trim edge case

* working integration with weis

* add text field for reloading diff yaml file

* f-string typo fix to pass py3.11 unit test

* remove duplicated fields on raft opt

* elevate 'weis_viz' to a command within the conda env

* add optimization type

* reformating vizgen and adding 'weis_viz_input_gen' as a command

---------

Co-authored-by: Cory Frontin <[email protected]>
Co-authored-by: sryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>

* bug fix in vizFileGen and changes to handle Jul 2024 Kestrel updates (#306)

* bug fix in vizFileGen and fixes to handle Jul 2024 Kestrel updates

* change type settings and default channels

* match type with WEIS level

* minor update on type setting - dlc

---------

Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>

* no need to manipulate turbsim grid for olaf anymore (#313)

* Debug arg parsing error while launching the app & Contribute Initial Documentation (#307)

* fix bug of args parse while running app

* delete unnecessary prints

* change horizontal subplots to vertical ones

* initial documentation

* delete readme file

* minor changes on graph layout

* update on kestrel set up

* merge weis viz docs into existing weis docs

* delete initial weis viz documentation

* update on docs after changing opt type setting

* Revise documentation

---------

Co-authored-by: sryu <[email protected]>
Co-authored-by: dzalkind <[email protected]>

* Remove duplicate numpydoc

* Sync readthedocs yaml with WISDEM

* Add numpydoc to environment

* Set up readthedocs inputs: css, js, bibtex

* Remove old input docs

* Fix images for weis viz

* Add input schema docs following WISDEM

* Add input schema files

* Optimization cleanup to fix and conform to viz changes. (#305)

* added updated optimization documentation... in progress.

* fixed rendering of optimization rst file

* add partial table to docs optimization page

* update to optimization doc.

* analysis updates from kestrel

* added some analysis stuff

* update to optimization docs

* recent kestrel changes

* stuff for local work

* viz toolbox simplfied for inclusion in weis tools

* moved viz_toolbox out of examples and refactored

* corrected accidental git deletion

* updates for kestrel push

* added processor edit for DE/GA

* updates to the viz toolbox and analysis notebook

* actually update analysis notebook

* actually update analysis notebook with more updates

* updated example 17, refactored utilities to match Mayank's files/structure

* remove run script

* more progress toward PR

* add readme

* improvements to analysis and README scripts

* reorganize the output directories to have RAFT vs OF subdirs

* OF updates

* update analysis options to bring the cases together

* some more case unification

* updated the analysis script

* update raft analysis script

* of opt updates and refactoring

* upenfast updates

* removed the weis connections to member ids as om design variables

* update openfast analysis

* updated raft analysis notebook

* improvements to analysis script, some for viz tool update

* update to remove remove load_OMsql_temp

* rename new example file

* updates to get parallel evolutionary methods to work

* Remove platform_elem_memid discrete input

* Add index back in

* Set PropPot only if floating

* viz tools fixed, now using safe yaml loading for problem_vars

* update analysis scripts for OF cases.

* updated OF cases for full ride.

* adjusting ex17 controls study for uniformity

* update with kestrel changes

* fixed output script slight break

* Tidy imports

* bring in line with the incoming WISDEM changes

---------

Co-authored-by: dzalkind <[email protected]>

* Add note about mpi4py for windows users

* Fix connections to drivese_post

* Set run directories relative to input files

* Get member ids from modopts

* Tidy OC3 example

* Re-enable testing of OC3 spar

* Send aero-only hub loads to WISDEM

* Disable potential flow modeling for fixed substructures

* Disable second tower mode in OC3 example for now

* align with new orbit changes

* Upgrade mpi (#321)

* use openmdao mpi, import scripts that were pushed out of wisdem

* like in wisdem, import input yaml files only on rank=0 and then broadcast out

* yaml loading logic better integrated in wisdem

* remove outdated call to mpi4py

* Remove temporary simple_types

* Updates for Optimization study (#323)

* added updated optimization documentation... in progress.

* fixed rendering of optimization rst file

* add partial table to docs optimization page

* update to optimization doc.

* analysis updates from kestrel

* added some analysis stuff

* update to optimization docs

* recent kestrel changes

* stuff for local work

* viz toolbox simplfied for inclusion in weis tools

* moved viz_toolbox out of examples and refactored

* corrected accidental git deletion

* updates for kestrel push

* added processor edit for DE/GA

* updates to the viz toolbox and analysis notebook

* actually update analysis notebook

* actually update analysis notebook with more updates

* updated example 17, refactored utilities to match Mayank's files/structure

* remove run script

* more progress toward PR

* add readme

* improvements to analysis and README scripts

* reorganize the output directories to have RAFT vs OF subdirs

* OF updates

* update analysis options to bring the cases together

* some more case unification

* updated the analysis script

* update raft analysis script

* of opt updates and refactoring

* upenfast updates

* removed the weis connections to member ids as om design variables

* update openfast analysis

* updated raft analysis notebook

* improvements to analysis script, some for viz tool update

* update to remove remove load_OMsql_temp

* rename new example file

* updates to get parallel evolutionary methods to work

* Remove platform_elem_memid discrete input

* Add index back in

* Set PropPot only if floating

* viz tools fixed, now using safe yaml loading for problem_vars

* update analysis scripts for OF cases.

* updated OF cases for full ride.

* adjusting ex17 controls study for uniformity

* update with kestrel changes

* fixed output script slight break

* Tidy imports

* bring in line with the incoming WISDEM changes

* Add max_pitch_rate output to omdao_of

* updates from kestrel

* cory's changes from kestrel

* Write OpenFAST output to stdout as a modeling option

* Rename max_pitch_rate_sim

* Load rosco inputs earlier so we have sizes

* Get correct length from array control DVs

* docs for dan

* Fix length of _pc if not array

* Light revisions in optimization, detail platform design options

* Add optimization to index

* Draft some optimization results

* Add calculated channels

* Use calculated channels for pitch_rate, offset outputs

* Compute calculated channels when openfast library is used

* Use openmdao mpi

---------

Co-authored-by: Cory Frontin <[email protected]>

* prep for next release

---------

Co-authored-by: Mayank Chetan <[email protected]>
Co-authored-by: Cory Frontin <[email protected]>
Co-authored-by: sryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Pietro Bortolotti <[email protected]>
Co-authored-by: Sora Ryu <[email protected]>
Co-authored-by: Garrett Barter <[email protected]>
@abhineet-gupta
Copy link
Collaborator

Not sure how we missed it in develop but dlcs' and opt' directories are missing in docs/images.

-------------------------------------------------------

WEIS uses generic input names to define DLCs, which are mapped to OpenFAST inputs with the ``openfast_input_map`` in the ``DLC_Generator`` class.
Many inputs are hard-coded, but users can add to the mapping in the modeling options, as in the following example::
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps a better way of saying this could be:
"Many commonly used inputs are included by default, but users can add...."

Copy link
Collaborator

@abhineet-gupta abhineet-gupta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested the user defined DLCs manually too and it seems to work fine.
Docs are missing some images.
Building docs locally generates some warnings but nothing fatal.

@dzalkind dzalkind merged commit 52d98c4 into develop Jan 10, 2025
36 checks passed
@dzalkind dzalkind deleted the user_dlc_update branch January 10, 2025 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants