-
Notifications
You must be signed in to change notification settings - Fork 42
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
Updates to use openfast_io and OpenFAST v4.0.0 #341
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Impressive work, @mayankchetan !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's a big PR, thank you @mayankchetan !
Awesome job getting us to this point, @mayankchetan. Thanks for your effort on this! I'll try to review and make changes in the coming days. |
@@ -9,7 +9,7 @@ dependencies: | |||
- mat4py | |||
- nlopt | |||
- numpydoc | |||
- openfast=3.5.5 | |||
- openfast=4.0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs to be updated to 4.0.1 based on OpenFAST release expected on 17FEB25
* WEIS v1.4 (WISDEM#322) * Viz tool integration (WISDEM#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 <cory.frontin@nrel.gov> Co-authored-by: sryu <Sora.Ryu@nrel.gov> Co-authored-by: Sora Ryu <sryu@x1007c0s0b0n0.hsn.cm.kestrel.hpc.nrel.gov> Co-authored-by: Sora Ryu <sryu@kl3.head.cm.kestrel.hpc.nrel.gov> * bug fix in vizFileGen and changes to handle Jul 2024 Kestrel updates (WISDEM#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 <sryu@x1000c0s0b0n0.hsn.cm.kestrel.hpc.nrel.gov> Co-authored-by: Sora Ryu <sryu@kl2.head.cm.kestrel.hpc.nrel.gov> * no need to manipulate turbsim grid for olaf anymore (WISDEM#313) * Debug arg parsing error while launching the app & Contribute Initial Documentation (WISDEM#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 <Sora.Ryu@nrel.gov> Co-authored-by: dzalkind <dzalkind@nrel.gov> * 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. (WISDEM#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 <dzalkind@nrel.gov> * 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 (WISDEM#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 (WISDEM#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 <cory.frontin@nrel.gov> * prep for next release --------- Co-authored-by: Mayank Chetan <4620557+mayankchetan@users.noreply.github.com> Co-authored-by: Cory Frontin <cory.frontin@nrel.gov> Co-authored-by: sryu <Sora.Ryu@nrel.gov> Co-authored-by: Sora Ryu <sryu@x1007c0s0b0n0.hsn.cm.kestrel.hpc.nrel.gov> Co-authored-by: Sora Ryu <sryu@kl3.head.cm.kestrel.hpc.nrel.gov> Co-authored-by: Sora Ryu <sryu@x1000c0s0b0n0.hsn.cm.kestrel.hpc.nrel.gov> Co-authored-by: Sora Ryu <sryu@kl2.head.cm.kestrel.hpc.nrel.gov> Co-authored-by: Pietro Bortolotti <ptrbortolotti@gmail.com> Co-authored-by: Sora Ryu <64963755+sora-ryu@users.noreply.github.com> Co-authored-by: Garrett Barter <garrett.barter@nrel.gov> * Level3 -> OpenFAST * Level2 -> OpenFAST_Linear * Level1 -> RAFT * Update doc jsons * Separate OpenFAST schema from modeling schema * Draft OF4.0 schema * Ensure backwards compatibility with Levels 1, 2, 3 * Clean up openfast_schema
weis/inputs/modeling_schema.yaml
Outdated
@@ -1777,11 +1946,72 @@ properties: | |||
default: 5e5 | |||
unit: kg*m^2/s | |||
description: Pitch actuator damping (kg-m^2/s) [used only when UsePitchAct is true] | |||
HydroDyn: &ofhydrodyn | |||
SeaState: &ofseastate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucas-carmo, please check if these default values, min and max values are OK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These inputs are now located here: https://github.com/mayankchetan/WEIS/blob/ab15232ef58009f9c52c0b90c16dd3ba815fac5f/weis/inputs/openfast_schema.yaml#L2861
I'm unsure about the WAMIT-related cut off frequencies, but everything else looks okay to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About the cut off frequencies:
- As
ExtnCutOff
is only used whenExtnDisp: 2
, I would expect the user to use this option when considering second-order effects from WAMIT or similar tools. In that case, I think that we would need something low enough to remove the wave-frequency response but which still preserves the low-frequency response of the floater. I think that something like 0.025 Hz makes sense in most cases. - I would say that the same reasoning applies to
PtfmYCutOff
, at least in theory. But I haven't used it yet, so not sure.
What do you think @luwang00?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree overall. I think for ExctnCutOff
, we can use something around 0.03 Hz. The same idea applies to PtfmYCutoff
, although yaw frequency is a bit hard to place. Maybe just use the same 0.03 Hz as default? It's not used unless PtfmYMod = 1
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Thanks for the contribution!!
Purpose
This PR updates WEIS to use the new openfast_io library for reading and writing OpenFAST files. Additionally, WEIS is updated to track OpenFAST v4.0.0
List of major changes:
aeroelasticse
is replaced withopenfast_io
examples/01_aeroelasticse/OpenFAST_models/updateFromTask47.sh
script.environment.yml
updatedweis/aeroelasticse/openmdao_openfast.py
for new API items for OpenFAST v4.0.0weis/inputs/openfast_schema.yaml
has been added to include new API items for OpenFAST v4.0.0; it is imported into the modeling schema.Dependancies for PR:
ROSCO
: https://github.com/mayankchetan/ROSCO/tree/openfast_io (PR: Switch to openfast_io and update to OpenFAST v4.0.0 NREL/ROSCO#415)openfast_io
is required to make tests passType of change
What types of change is it?
Select the appropriate type(s) that describe this PR
Testing
Explain the steps needed to test the new code to verify that it does indeed address the issue and produce the expected behavior.
13_DTQP/weis_driver
12_linearization/weis_driver
11_use_bem/weis_driver
06_IEA-15-240-RWT/weis_driver_tower_DVs
06_IEA-15-240-RWT/weis_driver_monopile
general_regression_values.pkl
needs to be updated for pytestChecklist
Put an
x
in the boxes that apply.weis/inputs/modeling_schema.yaml
by SeaState + HydroDyn developers recommendedweis/aeroelasticse/openmdao_openfast.py
File Changed
for various parts of WEIS