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

Bug fixes to C++ API #28

Merged
merged 8 commits into from
May 31, 2017
Merged

Conversation

gantech
Copy link
Collaborator

@gantech gantech commented May 15, 2017

Bug fixes related to setting of velocity at the actuator force nodes, interpolation of velocity from actuator force to Aerodyn nodes and including the turbine base location in the coordinates returned to the driver program.

Copy link
Contributor

@HaymanConsulting HaymanConsulting left a comment

Choose a reason for hiding this comment

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

We need to avoid using hard-coded file unit numbers in OpenFAST. Please change lines 479, 483, etc. of OpenFOAM.f90 to use file units returned from calls to GetNewUnit() which is in the NWTC_Library

@gantech
Copy link
Collaborator Author

gantech commented May 15, 2017

Thanks. I have updated the code to use GetNewUnit() in the latest commit.

… to allow for compilation with older compilers
While OpenFAST does have a restart capability, some of our work is dependent on the use of a third party turbine controller using the Bladed interface. The Bladed interface could have a restart capability, but is not guaranteed to have one. To work around this limitation, the OpenFAST-C++ API will provide a new capability as shown below:

When the C++ driver starts from time zero, OpenFAST will start normally and write the velocity data the Aerodyn nodes to a file every time step. When the C++ driver restarts from a non-zero time (time > 0), we have two options

1. trueRestart - All components of FAST including the turbine controller are expected to have a checkpoint file at the specified start time. The C++ driver will call OpenFAST to restart from the checkpoint files at the start time and then proceed to step together with OpenFAST for the rest of the simulation.
2. restartDriverInitFAST - The C++ driver will call OpenFAST to start from scratch (time = 0), read the file containing the velocity data at the Aerodyn nodes, and then step OpenFAST upto the start time of the simulation by applying the velocity data at the Aerodyn nodes. Once OpenFAST reaches the start time of the simulation, the C++ driver and OpenFAST will continue to step together normally while continuing to write out the velocity data the Aerodyn nodes at every time step.
@michaelasprague
Copy link
Contributor

@ghaymanNREL - any objections to merging?

@michaelasprague michaelasprague merged commit 3a39dba into OpenFAST:dev May 31, 2017
@ghost ghost mentioned this pull request Apr 16, 2019
@caroledaniel caroledaniel mentioned this pull request Feb 27, 2020
@HYFOAM HYFOAM mentioned this pull request Nov 29, 2020
andrew-platt pushed a commit to andrew-platt/openfast that referenced this pull request Sep 9, 2022
Merge dev into MDv2-farm to update MDv2-farm in preparation for merging into dev for v3.3
psakievich pushed a commit to psakievich/openfast that referenced this pull request Oct 26, 2023
Fix typo, and then replace other ratio computations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants