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

Fixed-Pitch Torque Control in Region 3 #347

Merged
merged 305 commits into from
Mar 5, 2025

Conversation

dstockhouse
Copy link
Collaborator

@dstockhouse dstockhouse commented May 10, 2024

Description and Purpose

Type of change

What types of change is it?
Select the appropriate type(s) that describe this PR

  • 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)

TODO Items General:

  • Add example/test for new feature
  • Update registry
  • Run testing

TODO Items API Change:

  • Update docs with API change
  • Run update_rosco_discons.py in Test_Cases/
  • Update DISCON schema

Github issues addressed, if one exists

Examples/Testing, if applicable

kbrown1snl and others added 30 commits February 24, 2023 12:08
Update units and documentation.
Update AWC descriptions and units.
Update AWC units.
Should match closely to original DISCON
* Fix yaw threshold documentation in DISCON

* Fix debug unit labels

* Add nacelle heading error to DebugVar

* Update ROSCO_IO and Types

* Read NacHeading from OpenFAST

* Update DISCONs

* Fix ******s in dbg files

* Allow single U in power_curve

* Initialize floating feedback filters at 0, make optional input for filts

* give dummy units if dbg units missing

* Update FAST_wrapper.py

Fix UnboundLocalError: local variable 'e' referenced before assignment

* Update example_08.py

Remove tmin so that entire simulation is plotted. Removing tmin=10 because with that setting only the final timestep of the simulation is loaded

* Update linear_model handling for new pyFAST, will break with weis import

* Try with conda installed compiler

* Re-do filter initialization, reset value unused for now

* Regen registry and discons

* Read optional MoorDyn control input

* Add cable control index values and initial implementation for opt inputs

* Add CC_Mode input, use schema description in file writing

* Add initial cable control module, tidy and expand dbg3 output

* Output first index of LocalVar for nonspecified length arrays

* Add initial line kinematics

* Add initial line kinematics - part 2

* Generalize actuator time constant, make input

* Move input line reading to start

* Fix CC_ActTau

* Apply line kinematics to avrSWAP

* Add StC readers/writers

* Update reader/writer/inputs for OpenFAST v3.4.0

* Add StC control inputs, fix allocation location for CC

* Add initial structural control

* Add platform motion signals as ROSCO inputs

* Fix StC in reader

* Update ParseInAry_Opt to set default, ready to copy

* Copy ParseInAry_Opt to double instance

* Add ParseInput_Int_Opt, ready for copy

* Add ParseInput_Dbl_Opt, fix others

* Switch back to logical flag for default, make FindLine subroutine

* Add optional string parsing subroutine

* Refactor ReadSetParameters for optional inputs

* Filter FA_AccHPF only when used, per optional inputs

* Offset WSE input saturation from 0 if necessary

* Move CurDate to Helpers

* Make ptfm control local vars not allocatable

* Tidy file writing when rosco_vt read from another input

* Update input files in Test_Cases

* Add Echo file writing and input to ROSCO

* Check for failure after each input section, tidy OL default

* Init and read OL inputs after checking inputs

* Close echo file so it all shows up

* Remove return after not finding line

* Remove a few more returns, specify default array length properly

* Tidy up error messages around array length

* Fix string reading

* Skip array parsing if line not found

* Increase max word size for long file paths

* Fix example headers

* Add defaults logic for filters

* Skip ExtController call if failed

* Tidy up CheckInputs based on optional input testing

* Add example for testing optional inputs

* Tidy input file formatting

* Fix expected result in 21_optional_inputs

* Add cable control example

* Fix openfast exe

* Enable CCmode, MD outputs, set channel ID in example 22

* Add structural control example, not in CI due to OF reqs

* Add input yaml for StC example

* Tidy comments, file closing

* Remove default CC_* params from DISCON_dict

* Tidy example 23 readme

* Add StC indices of avrswap to dbg3

* Tidy utilities and example 23

* Add API changes to docs

* Update toolbox input

* Delay DLC 1.4 start, use AFAeroMod of 1

* Disable UA for all tests

---------

Co-authored-by: Alex Clerc <alex.clerc@res-group.com>
@dzalkind
Copy link
Collaborator

dzalkind commented Mar 5, 2025

@dstockhouse, let's finish the documentation in a separate PR.

@dzalkind dzalkind merged commit a08e31d into NREL:develop Mar 5, 2025
26 checks passed
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.

10 participants